Inhoudsopgave:

Pumpkin Pi Digital Decoration Controller - Ajarnpa
Pumpkin Pi Digital Decoration Controller - Ajarnpa

Video: Pumpkin Pi Digital Decoration Controller - Ajarnpa

Video: Pumpkin Pi Digital Decoration Controller - Ajarnpa
Video: Projection decorations, MUCH easier than you think. 2024, Juli-
Anonim
Pumpkin Pi digitale decoratiecontroller
Pumpkin Pi digitale decoratiecontroller
Pumpkin Pi digitale decoratiecontroller
Pumpkin Pi digitale decoratiecontroller

Hallo mensen, laat me je voorstellen aan de Pumpkin Pi. Simpel gezegd is het een I/O-controller voor de Raspberry Pi met twaalf programmeerbare uitgangen, maar met een beetje hocus-pocus (of Python-code voor jou en mij) wordt het een digitale decoratiecontroller die twee video-uitgangen biedt met audio en verlichting FX gesynchroniseerd met video.

De achtergrondLaatste Halloween Ik besloot een etalage met een Witching-thema te maken, nadat ik onlangs AtmosFX's Digital Decorations had ontdekt, voelde ik me geïnspireerd om er goed gebruik van te maken en ze in mijn display op te nemen.

Ik had een manier nodig om twee video-afspeellijsten afwisselend af te spelen op twee verschillende schermen (een tv en een projector) zonder dat de video's elkaar per ongeluk overlappen. Ik wilde ook verlichting FX integreren om toe te voegen aan de sfeer.

Meer over de Controller Omdat het geïnspireerd was op een Halloween-project, vond ik de naam Pumpkin Pi erg toepasselijk. Het is bedoeld om het volgende te doen:

  • Bedien tot 12x individuele LED's (of 4x RGB-strips) via 12x programmeerbare uitgangen
  • Werk op 12v via zijn eigen externe voeding
  • 3x quad NPN transistorarrays ter ondersteuning van 1 Amp uitgangsstroom per aansluiting
  • Inclusief de optie van PIR / bewegingssensor triggering van afspelen en acties
  • Video- en audioweergave met behulp van de videomogelijkheden van de Raspberry Pi
  • Twee video's kunnen tegelijkertijd of afwisselend worden afgespeeld, omdat beide Pi's zijn gekoppeld via hun GPIO's om programmeerbare acties te activeren en ongewenste overlapping van video's te voorkomen
  • Synchroniseer verlichting FX met het afspelen van video
  • Ingebouwde LED's om de individuele uitgangsstatus aan te geven

Alternatief gebruik Je kunt de Pumpkin Pi ook gebruiken als een breakout-bord met een enkele Raspberry Pi en toch 12x programmeerbare uitgangen hebben om LED's, motoren, relais enz.

Opmerking: wil je zien hoe ik de Pumpkin Pi in mijn Halloween-display heb gebruikt? Bekijk mijn Witching Hour Halloween Display Instructable.

Stap 1: Dingen die je nodig hebt

Dingen die je nodig hebt
Dingen die je nodig hebt

Om de Pumpkin Pi opnieuw te maken, heb je de volgende gereedschappen en componenten nodig:

Gereedschap

  • Soldeerbout
  • Multimeter
  • Draadsnijders
  • Schroevendraaier (ik gebruikte een klein plat mes met mijn aansluitblokken)
  • Boor en boren (ik gebruikte 0.7 mm en 1.0 mm hardmetalen bits)
  • PCB-etskit

Componenten

  • 1x koperen printplaat (ongeveer 102 mm x 70 mm)
  • 14x 1kΩ Weerstanden
  • 2x 10kΩ Weerstanden
  • 1x 4k7Ω Weerstand
  • 1x condensator (optioneel)
  • 1x Rode 5mm LED en een geschikte stroombegrenzende weerstand
  • 12x gele 5mm LED's met geïntegreerde weerstand voor 12v voeding
  • 3x ULN2074B Quad NPN Darlington-paar transistorarrays
  • 3x 16-weg IC-aansluiting
  • 1x DC-aansluiting
  • 1x 2-weg koptekst
  • 2x 40-pins 2x20 mannelijke kop
  • 7x 3-weg 5 mm verticaal PCB-gemonteerd schroefaansluitblok
  • 1x PIR-sensor (optioneel)

De Raspberry Pi

Je hebt ook een Raspberry Pi (of twee) nodig met alles wat nodig is om de Pi te gebruiken. Dit omvat de Pi-voeding, MicroSD-kaart en de Raspbian-software. Voor de beste videoprestaties zou ik de Raspberry Pi 3 aanbevelen.

Voor het afspelen van video zullen we de OMXPlayer gebruiken met de OMXPlayer-Wrapper (maar hierover later meer!).

Opmerking: deze Instructable gaat ervan uit dat je enige ervaring of praktische kennis hebt van elektronica, solderen, PCB-fabricage en de Raspberry Pi. Als je een van deze vaardigheden voor de eerste keer probeert, raad ik je aan enkele van de volgende bronnen te bekijken:

  • elektronica klasse. Bevat een Aan de slag-gids en behandelt zaken als solderen en basiscomponenten.
  • PCB maken Instructable door ASCAS. Dekt de hier gebruikte fabricagetechniek voor toneroverdracht.
  • Als je verder wilt gaan met printplaten, bekijk dan de Circuit Board Design Class.
  • Raspberry Pi-klasse. Lees meer over de Raspberry Pi, leer hoe u deze installeert en gebruikt.

Stap 2: De elektronica

De elektronica
De elektronica
De elektronica
De elektronica
De elektronica
De elektronica

Het circuit maken

Het eerste dat u hoeft te doen, is uw circuit maken. De eenvoudigste manier om het opnieuw te produceren, is door de PCB te fabriceren met behulp van de toneroverdrachtsmethode met de bijgevoegde afdrukbare circuit-PDF's. Als je dit nog niet eerder hebt geprobeerd, is het een stuk eenvoudiger dan je zou denken, en je hebt maar een paar items nodig om aan de slag te gaan. Ik raad altijd de DIY Customized Circuit Board (PCB Making) Instructable van ASCAS aan.

Opmerking: ik heb ook het PCB-ontwerpbestand toegevoegd dat ik met DesignSpark heb gemaakt.

Je hebt een soldeerbout en wat basis soldeervaardigheden nodig om alles op de PCB te monteren, er zijn genoeg Instructables over solderen voor het geval je nieuw bent, er is ook een goede Instructables Electronics Class!

Als het PCB-maakproces niets voor jou is, kun je het ook opnieuw maken op een strip (vero) board of op een breadboard (ik heb mijn prototype breadboard gemaakt, zoals weergegeven in de bovenstaande afbeelding). In mijn prototype gebruikte ik individuele NPN darlington-paartransistoren in tegenstelling tot de transistorarrays op een I. C. (geïntegreerde schakeling).

Hoe het werkt

Het is in feite een breakout-bord voor de Pi dat twaalf van de GPIO-pinnen van de Pi verbindt met NPN darlington-paartransistoren (in de vorm van drie transistorarrays). Wanneer de relevante Pi-uitgang hoog wordt, schakelt deze de transistor om het circuit te voltooien.

Er zijn ook nog twee GPIO-pinnen die de twee Pi's met elkaar 'verbinden' via pull-down-weerstanden die als triggers fungeren (hierover later meer in de stap 'De Pi programmeren').

Hoe wordt het aangedreven?

De Pumpkin Pi wordt gevoed door zijn eigen externe 12v voeding. Met het gebruik van de transistors die ik heb geselecteerd, is deze in staat tot 1,75 Amp stroom per uitgang (of 1 Amp in dit geval vanwege mijn keuze van schroefklemmen). De Pi's worden gevoed via hun eigen Pi-voedingen, de Pumpkin Pi stelt weinig eisen aan de vermogensmogelijkheden van de Pi, omdat hij alleen wordt gebruikt om transistors te schakelen. Het circuit bevat de optie van een afvlakcondensator, maar het is niet essentieel. Ik gebruikte een 2200uF met een vermogen van 16v (wat overdreven is, maar ik had ze bij de hand).

Indicator-LED's en weerstanden

Er zijn twaalf gele uitgangsindicator-LED's en één rode stroomstatus-LED. Zorg ervoor dat u de juiste stroombegrenzende LED gebruikt met uw rode status-LED, de mijne heeft een voorwaartse spanning van 3,2 V en een voorwaartse stroom van 20 mA, dus ik heb een weerstand van 470 geselecteerd (gebaseerd op de 12 V ingangsstroom). Als u niet zeker weet hoe u de juiste weerstand voor uw LED moet selecteren, bekijk dan deze rekenmachinewizard.

Het is u misschien opgevallen dat er geen weerstanden op het circuit zijn voor elk van de twaalf gele indicatie-LED's. Omdat ik ruimte wilde besparen op de print maakte ik een ontwerpkeuze om LED's te gebruiken met geïntegreerde weerstanden voor 12v voeding.

Bewegingstrigger (PIR-sensor) en opheffing

De schakeling bevat de optie van een bewegingstrigger. Het maakt gebruik van een pull-up-weerstand, dus wanneer de alarmpin (aangeduid als AL op de PCB) laag wordt, wordt er een actie geactiveerd. Dit is handig als u wilt dat uw digitale decoratieweergave door beweging wordt geactiveerd.

Het circuit bevat ook een trigger-override. Wanneer de override zich in een gesloten toestand bevindt, verbindt deze de ingang met aarde, zodat u de actie handmatig kunt activeren. Gebruik de twee-pins override-header met een schakelaar of een 'jumper'.

Stap 3: De Raspberry Pi instellen

De Raspberry Pi instellen
De Raspberry Pi instellen

Raspbian installeren

Om te beginnen met het instellen van de Raspberry Pi, moet je je MicroSD-kaart voorbereiden met de Raspbian-afbeelding. Download hier de nieuwste afbeelding (Raspbian Stretch was de nieuwste versie op het moment van schrijven).

Met uw MicroSD-kaart gereed, plaatst u deze in de Pi en schakelt u hem in. Op dit punt wil je waarschijnlijk een tv, toetsenbord en muis aangesloten hebben. Standaard zou de Pi moeten opstarten in het GUI-desktop-besturingssysteem, ik raad je aan de juiste datum en tijdzone op je Pi in te stellen en misschien verbinding te maken met je wifi.

Op dit punt zorg ik er meestal voor dat SSH-connectiviteit is ingeschakeld, zodat ik via PuTTy via het netwerk toegang kan krijgen tot de Pi-terminal, dan stel ik de Pi in om standaard op te starten naar de CLI (opdrachtregelinterface) in plaats van de GUI-desktop, maar dit is aan jou.

Opmerking: deze Instructable gaat ervan uit dat u al bekend bent met de Raspberry Pi, zo niet, dan kunt u de officiële Raspberry Pi-handleiding volgen voor het installeren van besturingssysteemafbeeldingen in uw omgeving hier: Windows, MacOS, Linux.

Tip: als je helemaal nieuw bent met de Raspberry Pi, raad ik je aan deze Instructables-klasse te bekijken.

Zodra je Pi met Raspbian werkt en de basisconfiguratie is voltooid, ben je klaar om hem te laten werken als een Digital Decoration-speler die audio- en videoweergave ondersteunt. Onthoud dat als je twee Raspberry Pi's gebruikt voor dubbele afspeelfunctionaliteit, je al deze stappen op de tweede Pi moet herhalen.

OMXPlayer-Wrapper voor Python

Om onze Digital Decoration-video's af te spelen, gebruiken we OMXPlayer. Dit ondersteunt video's met een hoge resolutie (inclusief HD) in een aantal veelvoorkomende videoformaten. Hoewel OMXPlayer 'out-of-the-box' bij Raspbian wordt geleverd, moet je de OMXPlayer-Wrapper installeren om het goed te laten spelen met de aangepaste Python-scripts die we gaan maken.

Voordat ik de wrapper installeer, raad ik aan om de pakketten van het systeem bij te werken. Voer de volgende opdrachten uit vanaf een CLI-terminal (de Pi moet verbonden zijn met internet om dit te laten werken):

Werk de pakketlijst van het systeem bij:

sudo apt-get update

Upgrade al uw geïnstalleerde pakketten naar de nieuwste versies:

sudo apt-get dist-upgrade

Ruim de ruimte op die wordt gebruikt om updatepakketten te downloaden:

sudo apt-get clean

Vervolgens wil je de OMXPlayer-Wrapper zelf downloaden. Voer hiervoor de volgende opdracht uit, opnieuw vanaf een CLI-terminal met de Pi verbonden met internet:

Installeer de OMXPlayer-Wrapper:

sudo python3 -m pip install omxplayer-wrapper

Bekijk de documenten hier voor meer informatie over de omxplayer-wrapper.

Tip: Als je DBUS-verbindingsfouten tegenkomt wanneer je video's probeert af te spelen met de OMXPlayer-Wrapper, probeer dan de python3-dbus te installeren met de volgende opdracht:

sudo apt-get install python3-dbus

Andere instellingen en aanpassingen

Standaard audio-uitgang

De Raspberry Pi ondersteunt audioweergave via HDMI of de 3,5 mm-aansluiting. Als de Pi echter detecteert dat het aangesloten HDMI-apparaat audio ondersteunt, wordt standaard het HDMI-apparaat gebruikt. Als je net als ik een HDMI-apparaat hebt dat geschikt is voor audio, maar je wilt dat je audio-uitvoer standaard naar de 3,5 mm-aansluiting gaat, kun je dit forceren door de volgende regel toe te voegen aan het config.txt-bestand op de Pi:

hdmi_ignore_edid_audio=1

Console-uitvoer instellen op Leeg

Als je niet wilt dat de video-uitvoer van de Pi het consolescherm weergeeft na het opstarten, kun je de console op leeg zetten door het volgende toe te voegen aan het einde van het /boot/cmdline.txt-bestand op de Pi. Merk op dat het een kernelopdrachtparameter is en op een enkele regel tekst moet staan:

consoleblanco=0

Aanbevolen: