Innholdsfortegnelse:

Pumpkin Pi Digital Decoration Controller: 5 trinn (med bilder)
Pumpkin Pi Digital Decoration Controller: 5 trinn (med bilder)

Video: Pumpkin Pi Digital Decoration Controller: 5 trinn (med bilder)

Video: Pumpkin Pi Digital Decoration Controller: 5 trinn (med bilder)
Video: CS50 2014 – 7-я неделя, продолжение 2024, November
Anonim
Pumpkin Pi Digital Decoration Controller
Pumpkin Pi Digital Decoration Controller
Pumpkin Pi Digital Decoration Controller
Pumpkin Pi Digital Decoration Controller

Hei folkens, la meg introdusere deg for Pumpkin Pi. Enkelt sagt er det en I/O-kontroller for Raspberry Pi med tolv programmerbare utganger, men med litt hokus-pokus (eller Python-kode til deg og meg) blir det en digital dekorasjonskontroller som tilbyr to videoutganger med lyd og lys FX synkronisert med video.

Bakgrunnen Siste Halloween bestemte jeg meg for å lage et vindueskjerm med heksetema, etter å ha oppdaget AtmosFXs digitale dekorasjoner jeg følte meg inspirert til å bruke dem godt og innlemme dem i skjermen min.

Jeg trengte en måte å spille av to videospillelister vekselvis på to forskjellige skjermer (en TV og en projektor) uten at videoene ved et uhell overlapper hverandre. Jeg ønsket også å integrere belysning FX for å legge til atmosfæren.

Mer om kontrolleren Da den var inspirert av et Halloween -prosjekt, følte jeg at navnet Pumpkin Pi var veldig passende. Det er ment å gjøre følgende:

  • Kontroller opptil 12x individuelle lysdioder (eller 4x RGB -striper) via 12x programmerbare utganger
  • Fungerer på 12v via egen ekstern strømforsyning
  • 3x quad NPN transistor -matriser for å støtte 1 Amp utgangsstrøm per tilkobling
  • Inkluder muligheten for PIR / bevegelsessensor som utløser avspilling og handlinger
  • Video- og lydavspilling ved hjelp av videofunksjonene til Raspberry Pi
  • To videoer kan spilles av samtidig eller vekselvis takket være at begge Pis er koblet til via GPIO -ene for å utløse programmerbare handlinger og forhindre uønsket videooverlapping
  • Synkroniser belysning FX til videoavspillingen
  • Innebygde lysdioder for å indikere individuell utgangsstatus

Alternativ bruk Du kan også bruke Pumpkin Pi som et breakout -bord med en enkelt Raspberry Pi og fortsatt ha 12x programmerbare utganger for å kontrollere lysdioder, motorer, reléer etc.

Merk: Vil du se hvordan jeg brukte Pumpkin Pi i min Halloween -skjerm? Sjekk ut min Witching Hour Halloween Display Instructable.

Trinn 1: Ting du trenger

Ting du trenger
Ting du trenger

For å gjenopprette Pumpkin Pi trenger du følgende verktøy og komponenter:

Verktøy

  • Loddejern
  • Multimeter
  • Avbitertang
  • Skrutrekker (jeg brukte et lite flatblad med rekkeklemmer)
  • Bor og borekroner (jeg brukte 0,7 mm og 1,0 mm karbidbiter)
  • PCB -etsingssett

Komponenter

  • 1x kobber -kretskort (ca. 102 mm x 70 mm)
  • 14x 1kΩ motstander
  • 2x 10kΩ motstander
  • 1x 4k7Ω motstand
  • 1x kondensator (valgfritt)
  • 1x rød 5 mm LED og en passende strømbegrensende motstand
  • 12x gule 5 mm lysdioder med integrert motstand for 12v forsyning
  • 3x ULN2074B Quad NPN Darlington Par Transistor Arrays
  • 3x 16-veis IC-kontakt
  • 1x DC -kontakt
  • 1x 2-veis topptekst
  • 2x 40-pins 2x20 hannhodet
  • 7x 3-veis 5 mm vertikal PCB-monteringsskrue
  • 1x PIR -sensor (valgfritt)

Raspberry Pi

Du trenger også en Raspberry Pi (eller to) med alt som er nødvendig for å bruke Pi. Dette inkluderer Pi -strømforsyningen, MicroSD -kortet og Raspbian -programvaren. For best videoytelse vil jeg anbefale Raspberry Pi 3.

For videoavspilling bruker vi OMXPlayer med OMXPlayer-Wrapper (men mer om dette senere!).

Merk: Denne instruksen forutsetter at du har litt erfaring eller kunnskap om elektronikk, lodding, PCB -produksjon og Raspberry Pi. Hvis du prøver noen av disse ferdighetene for første gang, vil jeg anbefale deg å ta en titt på noen av følgende ressurser:

  • Elektronikk klasse. Inkluderer en Komme i gang -guide og dekker ting som lodding og grunnleggende komponenter.
  • PCB Making Instructable av ASCAS. Dekker teknikken for fremstilling av toneroverføring som brukes her.
  • Hvis du vil gå videre med kretskort, sjekk ut kretskortets designklasse.
  • Bringebær Pi -klasse. Finn ut mer om Raspberry Pi, lær hvordan du konfigurerer og bruker den.

Trinn 2: Elektronikken

Elektronikken
Elektronikken
Elektronikken
Elektronikken
Elektronikken
Elektronikken

Opprette kretsen

Det første du må gjøre er å lage kretsen din. Den enkleste måten å produsere den på nytt er å fremstille kretskortet ved hjelp av toneroverføringsmetoden med de vedlagte utskrivbare krets-PDF-ene. Hvis du ikke har prøvd dette før, er det mye enklere enn du kanskje tror, og du trenger bare noen få ting for å komme i gang. Jeg anbefaler alltid DIY Customized Circuit Board (PCB Making) som kan instrueres av ASCAS.

Merk: Jeg har også inkludert PCB -designfilen som jeg opprettet ved hjelp av DesignSpark.

Du trenger et loddejern og noen grunnleggende loddeferdigheter for å montere alt på kretskortet. Det er mange instrukser for lodding i tilfelle du er ny på det, det er også en god instruksjonselektronikkklasse!

Hvis PCB-fremstillingsprosessen ikke er noe for deg, kan du også lage den på nytt (vero) eller på et brødbrett (jeg har brettet min prototype, som vist på bildet ovenfor). I min prototype brukte jeg individuelle NPN darlington -par -transistorer i motsetning til transistormatrisene på en I. C. (integrert krets).

Hvordan det fungerer

Det er i utgangspunktet et breakout -bord for Pi som kobler tolv av Pi's GPIO -pinner til NPN darlington -par -transistorer (i form av tre transistormatriser). Når den relevante Pi -utgangen går høyt, bytter den transistoren for å fullføre kretsen.

Det er også ytterligere to GPIO-pinner som 'kobler' de to Pisene sammen via nedtrekksmotstander som fungerer som utløsere (mer om dette i 'Programmering av Pi'-trinnet senere).

Hvordan er det drevet

Pumpkin Pi får strøm fra sin egen eksterne 12v strømforsyning. Ved bruk av transistorene jeg valgte, er den i stand til opptil 1,75 Amp strøm per utgang (eller 1 Amp i dette tilfellet på grunn av mitt valg av skrueterminaler). Pisene drives av sine egne Pi -strømforsyninger, Pumpkin Pi stiller veldig liten etterspørsel til Pi -effektene, ettersom den bare brukes til å bytte transistorer. Kretsen inkluderer muligheten for en utjevningskondensator, men det er ikke avgjørende. Jeg brukte en 2200uF vurdert til 16v (som er overkill, men jeg hadde dem til rådighet).

Indikatorlysdioder og motstander

Det er tolv gule LED -indikatorer for utgang og en rød LED for strømstatus. Sørg for å bruke den riktige strømbegrensende LED -en med den røde status -LED -en, min har en fremspenning på 3,2v og en fremoverstrøm på 20mA, så jeg valgte en 470Ω motstand (basert på 12v inngangsstrøm). Hvis du er usikker på hvordan du velger riktig motstand for din LED, kan du sjekke denne kalkulatorveiviseren.

Du har kanskje lagt merke til at det ikke er noen motstander på kretsen for hver av de tolv gule indikatorlampene. Da jeg ønsket å spare plass på kretskortet, tok jeg et designvalg for å bruke lysdioder med integrerte motstander for 12v forsyning.

Motion Trigger (PIR Sensor) og Override

Kretsen inkluderer muligheten for en bevegelsesutløser. Den bruker en opptrekksmotstand, så når alarmpinnen (merket som AL på kretskortet) går lavt, utløser det en handling. Dette er nyttig hvis du vil at avspillingen av digital dekorasjon skal være bevegelsesaktivert.

Kretsen inkluderer også en triggeroverstyring. Når overstyringen er i lukket tilstand, knytter den inngangen til bakken, slik at du kan utløse handlingen manuelt. Bruk to-pinners overstyringsoverskrift med en bryter eller en "jumper".

Trinn 3: Konfigurere Raspberry Pi

Sette opp Raspberry Pi
Sette opp Raspberry Pi

Installerer Raspbian

For å begynne å sette opp Raspberry Pi må du forberede MicroSD -kortet ditt med Raspbian -bildet. Last ned det siste bildet her (Raspbian Stretch var den siste versjonen i skrivende stund).

Med MicroSD -kortet klart setter du det inn i Pi og slår på. Du vil sannsynligvis ha en TV, tastatur og mus tilkoblet på dette tidspunktet. Som standard bør Pi starte opp i GUI desktop OS, jeg anbefaler at du angir riktig dato og tidssone på Pi og kanskje kobler deg til WiFi.

På dette tidspunktet sørger jeg vanligvis for at SSH-tilkobling er aktivert, slik at jeg kan få tilgang til Pi-terminalen over nettverket via PuTTy, så setter jeg Pi til å starte til CLI (kommandolinjegrensesnitt) som standard i stedet for GUI-skrivebordet, men dette det er opp til deg.

Merk: Denne instruksen forutsetter at du allerede er kjent med Raspberry Pi, hvis ikke kan du følge den offisielle Raspberry Pi -guiden for å installere operativsystembilder i miljøet ditt her: Windows, MacOS, Linux.

Tips: Hvis du er helt ny på Raspberry Pi, anbefaler jeg at du tar en titt på denne Instructables -klassen.

Når Pi er i gang med Raspbian og grunnoppsettet er fullført, er du klar til å få den til å fungere som en digital dekorasjonsspiller som støtter avspilling av lyd og video. Husk at hvis du bruker to Raspberry Pi -er for dobbel avspillingsfunksjonalitet, må du gjenta alle disse trinnene på den andre Pi.

OMXPlayer-Wrapper for Python

For å spille av våre digitale dekorasjonsvideoer bruker vi OMXPlayer. Dette støtter videoer med høy oppløsning (inkludert HD) i en rekke vanlige videoformater. Selv om OMXPlayer er inkludert i Raspbian 'out-of-the-box', må du installere OMXPlayer-Wrapper for å få det til å spille fint med de tilpassede Python-skriptene vi skal lage.

Før du installerer omslaget anbefaler jeg å oppdatere systemets pakker. Kjør følgende kommandoer fra en CLI -terminal (Pi må være koblet til internett for at dette skal fungere):

Oppdater systemets pakkeliste:

sudo apt-get oppdatering

Oppgrader alle dine installerte pakker til de nyeste versjonene:

sudo apt-get dist-upgrade

Rydd opp plassen som brukes til å laste ned oppdateringspakker:

sudo apt-get clean

Deretter vil du laste ned selve OMXPlayer-Wrapper. For å gjøre dette, kjør følgende kommando, igjen fra en CLI -terminal med Pi koblet til internett:

Installer OMXPlayer-Wrapper:

sudo python3 -m pip installer omxplayer -wrapper

For mer informasjon om omxplayer-wrapper, sjekk dokumentene her.

Tips: Hvis du støter på DBUS-tilkoblingsfeil når du prøver å spille av videoer med OMXPlayer-Wrapper, kan du prøve å installere python3-dbus med følgende kommando:

sudo apt-get install python3-dbus

Andre innstillinger og justeringer

Standard lydutgang

Raspberry Pi støtter lydavspilling via HDMI eller 3,5 mm -kontakten. Men hvis Pi oppdager at den tilkoblede HDMI -enheten støtter lyd, vil den som standard være HDMI -enheten. Hvis du som meg har en lyd -kompatibel HDMI -enhet, men du vil at lydutgangen skal være standard til 3,5 mm -kontakten i stedet, kan du tvinge den til å gjøre det ved å legge til følgende linje i config.txt -filen på Pi:

hdmi_ignore_edid_audio = 1

Sett konsollutgangen til tom

Hvis du ikke vil at Pi -videoutgangen skal vise konsollskjermen etter oppstart, kan du sette konsollen til tom ved å legge til følgende på slutten av /boot/cmdline.txt -filen på Pi. Vær oppmerksom på at is er en kjernekommando -parameter og må være på en enkelt tekstlinje:

konsollblank = 0

Anbefalt: