Spisu treści:

Cyfrowy kontroler dekoracji Pumpkin Pi: 5 kroków (ze zdjęciami)
Cyfrowy kontroler dekoracji Pumpkin Pi: 5 kroków (ze zdjęciami)

Wideo: Cyfrowy kontroler dekoracji Pumpkin Pi: 5 kroków (ze zdjęciami)

Wideo: Cyfrowy kontroler dekoracji Pumpkin Pi: 5 kroków (ze zdjęciami)
Wideo: PIXEL GUN 3D LIVE 2024, Listopad
Anonim
Cyfrowy kontroler dekoracji Pumpkin Pi
Cyfrowy kontroler dekoracji Pumpkin Pi
Cyfrowy kontroler dekoracji Pumpkin Pi
Cyfrowy kontroler dekoracji Pumpkin Pi

Witajcie, pozwólcie, że przedstawię wam Pumpkin Pi. Mówiąc najprościej, jest to kontroler I/O dla Raspberry Pi z dwunastoma programowalnymi wyjściami, ale z odrobiną hokus-pocus (lub kodem Pythona dla ciebie i dla mnie) staje się cyfrowym kontrolerem dekoracji, który oferuje dwa wyjścia wideo z dźwiękiem i oświetleniem FX zsynchronizowany z wideo.

TłoOstatnie Halloween Zdecydowałem się stworzyć wyświetlacz z motywem Witching, po odkryciu cyfrowych dekoracji AtmosFX, poczułem się zainspirowany, aby zrobić z nich dobry użytek i włączyć je do mojego wyświetlacza.

Potrzebowałem sposobu na odtwarzanie dwóch list odtwarzania wideo naprzemiennie na dwóch różnych wyświetlaczach (telewizorze i projektorze) bez przypadkowego nakładania się filmów na siebie. Chciałem również zintegrować efekty świetlne, aby dodać atmosfery.

Więcej o kontrolerze Ponieważ był zainspirowany projektem na Halloween, nazwa Pumpkin Pi była bardzo odpowiednia. Ma na celu:

  • Sterowanie do 12x pojedynczymi diodami LED (lub 4x paskami RGB) za pośrednictwem 12x programowalnych wyjść
  • Działaj przy 12V za pośrednictwem własnego zewnętrznego zasilacza
  • 3x poczwórne macierze tranzystorowe NPN obsługujące prąd wyjściowy 1 A na połączenie
  • Uwzględnij opcję wyzwalania odtwarzania i działań PIR/czujnika ruchu
  • Odtwarzanie wideo i audio przy użyciu możliwości wideo Raspberry Pi
  • Dwa filmy mogą być odtwarzane jednocześnie lub naprzemiennie dzięki połączeniu obu Pis za pomocą ich GPIO, aby wyzwalać programowalne działania i zapobiegać niepożądanemu nakładaniu się filmów
  • Synchronizuj efekty oświetlenia z odtwarzaniem wideo
  • Wbudowane diody LED wskazujące stan poszczególnych wyjść

Alternatywne zastosowanie Możesz również użyć Pumpkin Pi jako płytki zaciskowej z pojedynczym Raspberry Pi i nadal mieć 12 programowalnych wyjść do sterowania diodami LED, silnikami, przekaźnikami itp.

Uwaga: Chcesz zobaczyć, jak używałem Pumpkin Pi na moim wyświetlaczu Halloween? Sprawdź moją instrukcję Witching Hour Halloween Display.

Krok 1: Rzeczy, których będziesz potrzebować

Rzeczy, których będziesz potrzebować
Rzeczy, których będziesz potrzebować

Aby odtworzyć Pumpkin Pi, będziesz potrzebować następujących narzędzi i komponentów:

Narzędzia

  • Lutownica
  • Multimetr
  • Nożyce do drutu
  • Śrubokręt (użyłem małego płaskiego ostrza z moimi listwami zaciskowymi)
  • Wiertła i wiertła (użyłem wierteł z węglików spiekanych 0,7 mm i 1,0 mm)
  • Zestaw do trawienia PCB

składniki

  • 1x miedziana płytka drukowana (ok. 102mm X 70mm)
  • Rezystory 14x 1kΩ
  • Rezystory 2x 10kΩ
  • Rezystor 1x4k7Ω
  • 1x kondensator (opcjonalnie)
  • 1x czerwona dioda LED 5mm i odpowiedni rezystor ograniczający prąd;
  • 12x żółte 5mm diody LED ze zintegrowanym rezystorem do zasilania 12V
  • 3x ULN2074B Quad NPN para tranzystorów Darlington Arrays
  • 3x 16-stykowe gniazdo IC
  • 1x gniazdo prądu stałego
  • 1x 2-drożny nagłówek
  • 2x 40-pinowe złącze męskie 2x20
  • 7x 3-drożny 5-milimetrowy pionowy blok zacisków śrubowych do montażu na płytce drukowanej
  • 1x czujnik PIR (opcjonalnie)

Malinowy Pi

Będziesz także potrzebował Raspberry Pi (lub dwóch) ze wszystkim, co jest niezbędne do korzystania z Pi. Obejmuje to zasilacz Pi, kartę MicroSD i oprogramowanie Raspbian. Aby uzyskać najlepszą wydajność wideo, polecam Raspberry Pi 3.

Do odtwarzania wideo użyjemy OMXPlayer z OMXPlayer-Wrapper (ale o tym później!).

Uwaga: Ta instrukcja zakłada, że masz pewne doświadczenie lub praktyczną wiedzę na temat elektroniki, lutowania, produkcji PCB i Raspberry Pi. Jeśli próbujesz którejkolwiek z tych umiejętności po raz pierwszy, polecam zapoznać się z niektórymi z następujących zasobów:

  • Klasa elektroniki. Zawiera przewodnik Pierwsze kroki i obejmuje takie kwestie, jak lutowanie i podstawowe komponenty.
  • Instruktaż tworzenia PCB przez ASCAS. Obejmuje zastosowaną tutaj technikę wytwarzania transferu tonera.
  • Jeśli chcesz pójść dalej z płytkami drukowanymi, sprawdź klasę projektowania płytek drukowanych.
  • Klasa Raspberry Pi. Dowiedz się o Raspberry Pi, dowiedz się, jak go skonfigurować i jak z niego korzystać.

Krok 2: Elektronika

Elektronika
Elektronika
Elektronika
Elektronika
Elektronika
Elektronika

Tworzenie obwodu

Pierwszą rzeczą, którą musisz zrobić, to stworzyć swój obwód. Najłatwiejszym sposobem na jej odtworzenie jest wyprodukowanie PCB metodą transferu tonera z dołączonymi plikami PDF z obwodami drukowanymi. Jeśli nie próbowałeś tego wcześniej, jest to o wiele łatwiejsze niż mogłoby się wydawać, a na początek potrzebujesz tylko kilku elementów. Zawsze polecam DIY niestandardową płytkę drukowaną (wykonanie PCB) instruowaną przez ASCAS.

Uwaga: dołączyłem również plik projektu PCB, który stworzyłem za pomocą DesignSpark.

Będziesz potrzebować lutownicy i pewnych podstawowych umiejętności lutowania, aby złożyć wszystko na płytce drukowanej, jest mnóstwo instrukcji dotyczących lutowania, jeśli jesteś w tym nowy, jest też dobra klasa Instructables Electronics!

Jeśli proces tworzenia PCB nie jest dla Ciebie, możesz również odtworzyć go na płytce z paskami (vero) lub na płytce prototypowej (włożyłem prototyp do płytki, jak pokazano na powyższym obrazku). W moim prototypie użyłem pojedynczych tranzystorów NPN darlington w przeciwieństwie do tablic tranzystorowych w układzie scalonym. (układ scalony).

Jak to działa

Jest to w zasadzie tabliczka zaciskowa dla Pi, która łączy dwanaście pinów GPIO Pi z tranzystorami pary darlington NPN (w postaci trzech tablic tranzystorowych). Gdy odpowiednie wyjście Pi osiągnie stan wysoki, przełącza tranzystor, aby zakończyć obwód.

Istnieją również dwa kolejne piny GPIO, które „łączą” ze sobą dwa Pis za pomocą rezystorów pull-down, które działają jako wyzwalacze (więcej na ten temat w kroku „Programowanie Pi” później).

Jak to jest zasilane?

Pumpkin Pi jest zasilany z własnego zewnętrznego zasilacza 12V. Przy użyciu tranzystorów, które wybrałem, jest on w stanie uzyskać prąd do 1,75 A na wyjście (lub 1 A w tym przypadku ze względu na mój wybór zacisków śrubowych). Pis są zasilane przez własne zasilacze Pi, Pumpkin Pi stawia bardzo małe wymagania na możliwości zasilania Pi, ponieważ służy tylko do przełączania tranzystorów. Obwód zawiera opcję kondensatora wygładzającego, ale nie jest to konieczne. Użyłem 2200uF o mocy 16V (co jest przesadą, ale miałem je pod ręką).

Wskaźniki LED i rezystory

Jest dwanaście żółtych diod LED wskazujących wyjście i jedna czerwona dioda LED stanu zasilania. Upewnij się, że używasz prawidłowej diody LED ograniczającej prąd z czerwoną diodą LED stanu, moja ma napięcie przewodzenia 3,2 V i prąd przewodzenia 20 mA, więc wybrałem rezystor 470 Ω (w oparciu o prąd wejściowy 12 V). Jeśli nie masz pewności, jak wybrać odpowiedni rezystor dla swojej diody LED, sprawdź ten kreator kalkulatora.

Być może zauważyłeś, że w obwodzie nie ma rezystorów dla każdej z dwunastu żółtych diod LED. Ponieważ chciałem zaoszczędzić miejsce na płytce drukowanej, zdecydowałem się na użycie diod LED ze zintegrowanymi rezystorami do zasilania 12V.

Wyzwalacz ruchu (czujnik PIR) i pominięcie

Obwód zawiera opcję wyzwalacza ruchu. Wykorzystuje rezystor podciągający, więc gdy pin alarmowy (oznaczony jako AL na płytce drukowanej) zejdzie w stan niski, wyzwala działanie. Jest to przydatne, jeśli chcesz, aby odtwarzanie cyfrowych dekoracji było aktywowane ruchem.

Obwód zawiera również obejście wyzwalacza. Gdy obejście jest w stanie zamkniętym, wiąże wejście z masą, umożliwiając ręczne wyzwolenie akcji. Użyj dwupinowego nagłówka override z przełącznikiem lub "zworką".

Krok 3: Konfiguracja Raspberry Pi

Konfiguracja Raspberry Pi
Konfiguracja Raspberry Pi

Instalowanie Raspbian

Aby rozpocząć konfigurację Raspberry Pi, musisz przygotować kartę MicroSD z obrazem Raspbian. Pobierz najnowszy obraz tutaj (Raspbian Stretch był najnowszą wersją w momencie pisania tego tekstu).

Po przygotowaniu karty MicroSD włóż ją do Pi i włącz. Prawdopodobnie w tym momencie będziesz chciał podłączyć telewizor, klawiaturę i mysz. Domyślnie Pi powinno uruchamiać się w systemie operacyjnym GUI, polecam ustawić prawidłową datę i strefę czasową na swoim Pi i być może połączyć się z Wi-Fi.

W tym momencie zwykle upewniam się, że łączność SSH jest włączona, aby móc uzyskać dostęp do terminala Pi przez sieć za pośrednictwem PuTTy, a następnie ustawiam domyślnie uruchamianie Pi do CLI (interfejsu wiersza poleceń) zamiast do pulpitu GUI, ale to to zależy od Ciebie.

Uwaga: Ta instrukcja zakłada, że znasz już Raspberry Pi, jeśli nie, możesz postępować zgodnie z oficjalnym przewodnikiem Raspberry Pi dotyczącym instalowania obrazów systemu operacyjnego w swoim środowisku tutaj: Windows, MacOS, Linux.

Wskazówka: Jeśli jesteś zupełnie nowy w Raspberry Pi, polecam rzucić okiem na tę klasę Instructables.

Gdy Twoje Pi zacznie działać z Raspbian i podstawowa konfiguracja zostanie zakończona, możesz zacząć działać jako odtwarzacz Digital Decoration, który obsługuje odtwarzanie audio i wideo. Pamiętaj, że jeśli używasz dwóch Raspberry Pi do podwójnego odtwarzania, musisz powtórzyć wszystkie te kroki na drugim Pi.

OMXPlayer-Wrapper dla Pythona

Do odtwarzania naszych filmów z Digital Decoration będziemy używać OMXPlayera. Obsługuje wideo o wysokiej rozdzielczości (w tym HD) w wielu popularnych formatach wideo. Chociaż OMXPlayer jest dołączony do Raspbian „po wyjęciu z pudełka”, aby grał dobrze z niestandardowymi skryptami Pythona, które będziemy tworzyć, musisz zainstalować OMXPlayer-Wrapper.

Przed zainstalowaniem wrappera polecam zaktualizować pakiety systemu. Uruchom następujące polecenia z terminala CLI (aby to zadziałało, Pi musi być podłączone do Internetu):

Zaktualizuj listę pakietów systemu:

aktualizacja sudo apt-get

Uaktualnij wszystkie zainstalowane pakiety do najnowszych wersji:

sudo apt-get dist-upgrade

Oczyść miejsce używane do pobierania pakietów aktualizacji:

sudo apt-get clean

Następnie będziesz chciał pobrać sam OMXPlayer-Wrapper. Aby to zrobić, uruchom następujące polecenie, ponownie z terminala CLI z Pi podłączonym do Internetu:

Zainstaluj OMXPlayer-Wrapper:

sudo python3 -m pip zainstaluj omxplayer-wrapper

Aby uzyskać więcej informacji na temat omxplayer-wrapper, zapoznaj się z dokumentacją tutaj.

Wskazówka: Jeśli napotkasz błędy połączenia DBUS podczas próby odtwarzania filmów za pomocą OMXPlayer-Wrapper, spróbuj zainstalować python3-dbus za pomocą następującego polecenia:

sudo apt-get zainstaluj python3-dbus

Inne ustawienia i poprawki

Domyślne wyjście audio

Raspberry Pi obsługuje odtwarzanie dźwięku przez HDMI lub gniazdo 3,5 mm. Jeśli jednak Pi wykryje, że podłączone urządzenie HDMI obsługuje dźwięk, domyślnie będzie to urządzenie HDMI. Jeśli tak jak ja masz urządzenie HDMI obsługujące dźwięk, ale chcesz, aby wyjście audio było domyślnie ustawione na gniazdo 3,5 mm, możesz to wymusić, dodając następujący wiersz do pliku config.txt na Pi:

hdmi_ignore_edid_audio=1

Ustaw wyjście konsoli na puste

Jeśli nie chcesz, aby wyjście wideo Pi wyświetlało ekran konsoli po uruchomieniu, możesz ustawić konsolę jako pustą, dodając następujące elementy na końcu pliku /boot/cmdline.txt na Pi. Zauważ, że jest to parametr polecenia jądra i musi znajdować się w jednym wierszu tekstu:

consoleblank=0

Zalecana: