Taula de continguts:

Controlador de decoració digital Pumpkin Pi: 5 passos (amb imatges)
Controlador de decoració digital Pumpkin Pi: 5 passos (amb imatges)

Vídeo: Controlador de decoració digital Pumpkin Pi: 5 passos (amb imatges)

Vídeo: Controlador de decoració digital Pumpkin Pi: 5 passos (amb imatges)
Vídeo: Deutsch lernen (A2): Ganzer Film auf Deutsch - "Nicos Weg" | Deutsch lernen mit Videos | Untertitel 2024, Desembre
Anonim
Controlador de decoració digital Pumpkin Pi
Controlador de decoració digital Pumpkin Pi
Controlador de decoració digital Pumpkin Pi
Controlador de decoració digital Pumpkin Pi

Hola gent, deixeu-me presentar-vos el Pumpkin Pi. En poques paraules, és un controlador d'E / S per al Raspberry Pi amb dotze sortides programables, però amb una mica d'hocus-pocus (o codi Python per a vosaltres i per a mi) es converteix en un controlador de decoració digital que ofereix dues sortides de vídeo amb àudio i il·luminació. FX sincronitzat amb el vídeo.

El darrer Halloween, vaig decidir crear una vitrina temàtica de Witching, després d’haver descobert recentment les decoracions digitals d’AtmosFX, em vaig sentir inspirat a fer-ne un bon ús i incorporar-les a la meva pantalla.

Necessitava una manera de reproduir dues llistes de reproducció de vídeo alternativament en dues pantalles diferents (un televisor i un projector) sense que els vídeos se superposessin accidentalment. També volia integrar FX d'il·luminació per afegir-los a l'atmosfera.

Com que estava inspirat en un projecte de Halloween, vaig pensar que el nom de Pumpkin Pi era molt adequat. Es pretén fer el següent:

  • Controleu fins a 12 LEDs individuals (o 4x tires RGB) mitjançant sortides programables de 12 vegades
  • Funciona a 12v mitjançant la seva pròpia font d'alimentació externa
  • Matrius de transistors NPN de 3 quadres per donar suport a un corrent de sortida d’1 Amp per connexió
  • Incloeu l’opció d’activació del sensor de moviment PIR / reproducció i accions
  • Reproducció de vídeo i àudio mitjançant les funcions de vídeo del Raspberry Pi
  • Es poden reproduir dos vídeos simultàniament o alternativament gràcies a que els dos Pis s’enllacen a través dels seus GPIO per activar accions programables i evitar la superposició de vídeos no desitjats
  • Sincronitzeu FX d'il·luminació amb la reproducció de vídeo
  • LED integrats per indicar l'estat de sortida individual

Ús alternatiu També podeu utilitzar el Pumpkin Pi com a tauler d’inici amb un sol Raspberry Pi i encara teniu 12x sortides programables per controlar LEDs, motors, relés, etc.

Nota: Voleu veure com he utilitzat Pumpkin Pi a la pantalla de Halloween? Fes una ullada a la pantalla de Halloween de la meva hora de bruixes instructible.

Pas 1: coses que necessitareu

Coses que necessitaràs
Coses que necessitaràs

Per tornar a crear Pumpkin Pi, necessitareu les següents eines i components:

Eines

  • Soldador
  • Multímetre
  • Talladors de filferro
  • Tornavís (he utilitzat una petita fulla plana amb els meus blocs de terminals)
  • Broques i broques (he utilitzat broques de carbur de 0,7 mm i 1,0 mm)
  • Kit de gravat de PCB

Components

  • 1x placa PCB de coure (102 mm x 70 mm aprox.)
  • Resistències de 14x 1kΩ
  • 2x 10kΩ resistències
  • Resistència 1x 4k7Ω
  • 1x condensador (opcional)
  • 1x LED vermell de 5 mm i una resistència de limitació de corrent adequada
  • 12x LEDs grocs de 5mm amb resistència integrada per a subministrament de 12v
  • 3x matrius de transistors de parells Darlington ULN2074B Quad NPN
  • Socket IC de 3 vies de 16 vies
  • 1x presa DC
  • 1 capçalera de 2 vies
  • Capçalera masculina 2x 40-Pin 2x20
  • Bloqueig de terminals de cargol de muntatge en PCB vertical de 7 x 3 vies de 5 mm
  • 1x sensor PIR (opcional)

El Raspberry Pi

També necessitareu un Raspberry Pi (o dos) amb tot el necessari per utilitzar el Pi. Això inclou la font d'alimentació Pi, la targeta MicroSD i el programari Raspbian. Per obtenir el millor rendiment de vídeo, recomanaria el Raspberry Pi 3.

Per a la reproducció de vídeo, farem servir l'OMXPlayer amb l'OMXPlayer-Wrapper (però més detalls més endavant!).

Nota: Aquest instructiu suposa que teniu experiència o coneixements pràctics en electrònica, soldadura, fabricació de PCB i Raspberry Pi. Si proveu alguna d'aquestes habilitats per primera vegada, us recomanaria que consulteu alguns dels recursos següents:

  • Classe d’electrònica. Inclou una guia d'introducció i inclou aspectes com la soldadura i components bàsics.
  • Fabricació de PCB instructible per ASCAS. Cobreix la tècnica de fabricació de transferència de tòner que s’utilitza aquí.
  • Si voleu anar més enllà amb les plaques de circuits, consulteu la classe de disseny de circuits.
  • Classe Raspberry Pi. Obteniu informació sobre el Raspberry Pi, apreneu a configurar-lo i a utilitzar-lo.

Pas 2: l'electrònica

L’Electrònica
L’Electrònica
L’Electrònica
L’Electrònica
L’Electrònica
L’Electrònica

Creació del circuit

El primer que heu de fer és crear el vostre circuit. La forma més senzilla de tornar a produir-lo és fabricar el PCB mitjançant el mètode de transferència de tòner amb els fitxers PDF del circuit imprimible adjunt. Si no ho heu provat abans, és molt més fàcil del que podríeu pensar i només necessiteu alguns elements per començar. Sempre recomano la placa de circuit personalitzada de bricolatge (fabricació de PCB) que ASCAS pot instruir.

Nota: També he inclòs el fitxer de disseny de PCB que he creat amb DesignSpark.

Necessitareu un soldador i algunes habilitats bàsiques per soldar per muntar tot el PCB. Hi ha un munt d’instructables sobre la soldadura en cas que n’esteu nou, també hi ha una bona classe d’electrònica Instructables.

Si el procés de fabricació de PCB no és adequat per a vosaltres, també podeu tornar-lo a crear en un tauler de tires (vero) o en una tauleta de suport (he format el meu prototip, tal com es mostra a la imatge anterior). En el meu prototip he utilitzat transistors de parell Darlington NPN individuals a diferència de les matrius de transistors d’un I. C. (circuit integrat).

Com funciona

Bàsicament és una placa de ruptura per al Pi que connecta dotze dels pins GPIO del Pi als transistors de parell NPN Darlington (en forma de tres matrius de transistors). Quan la sortida Pi corresponent augmenta, commuta el transistor per completar el circuit.

També hi ha dos pins GPIO més que "enllacen" els dos Pis junts mitjançant resistències desplegables que actuen com a desencadenants (més sobre això al pas "Programació del Pi" més endavant).

Com està alimentat

El Pumpkin Pi s’alimenta de la seva pròpia font d’alimentació externa de 12v. Amb l’ús dels transistors que he seleccionat, és capaç d’aconseguir fins a 1,75 Amp de corrent per sortida (o 1 Amp en aquest cas a causa de la meva elecció de terminals de cargol). Els Pis s’alimenten a través de les seves pròpies fonts d’alimentació Pi; el Pumpkin Pi exigeix molt poca capacitat d’alimentació del Pi, ja que només s’utilitza per canviar de transistors. El circuit inclou l’opció d’un condensador de suavitzat, però no és essencial. Vaig utilitzar un 2200uF de 16v (que és excessiu, però els tenia a mà).

Indicadors LED i resistències

Hi ha dotze LED indicadors de sortida de color groc i un LED d'estat d'alimentació vermell. Assegureu-vos d’utilitzar el LED de limitació de corrent correcte amb el vostre LED d’estat vermell, el meu té un voltatge directe de 3,2v i un corrent directe de 20mA, així que he seleccionat una resistència de 470Ω (basada en el corrent d’entrada de 12v). Si no esteu segur de com seleccionar la resistència correcta per al vostre LED, consulteu aquest assistent de calculadora.

És possible que hàgiu notat que no hi ha resistències al circuit per a cadascun dels dotze LED indicadors grocs. Com que volia estalviar espai al PCB, vaig escollir el disseny per utilitzar LEDs amb resistències integrades per al subministrament de 12V.

Trigger de moviment (sensor PIR) i Override

El circuit inclou l’opció d’un disparador de moviment. Utilitza una resistència de tracció, de manera que cada vegada que el pin d'alarma (etiquetat com AL al PCB) baixa, desencadena una acció. Això és útil si voleu que la reproducció de la decoració digital s’activi amb moviment.

El circuit també inclou una substitució del disparador. Quan la substitució es troba en estat tancat, lliga l'entrada a terra, cosa que us permet activar l'acció manualment. Utilitzeu la capçalera de substitució de dos pins amb un interruptor o un "pont".

Pas 3: Configuració del Raspberry Pi

Configuració del Raspberry Pi
Configuració del Raspberry Pi

Instal·lació de Raspbian

Per començar a configurar el Raspberry Pi, heu de preparar la targeta MicroSD amb la imatge Raspbian. Descarregueu la imatge més recent aquí (Raspbian Stretch era la versió més recent en el moment de l’escriptura).

Amb la targeta MicroSD a punt, inseriu-la al Pi i engegueu-la. Probablement voldreu un televisor, un teclat i un ratolí connectats en aquest moment. Per defecte, el Pi s'hauria d'arrencar al sistema operatiu d'escriptori GUI. Us recomanem que configureu la data i la zona horària correctes al vostre Pi i que pugueu connectar-vos al WiFi.

En aquest punt normalment m’asseguro que la connectivitat SSH està habilitada per poder accedir al terminal Pi a la xarxa a través de PuTTy, i després configuro el Pi per arrencar per defecte a la CLI (interfície de línia d’ordres) en lloc de l’escriptori GUI, però això és la teva decisió.

Nota: Aquest instructiu suposa que ja esteu familiaritzat amb Raspberry Pi, si no, podeu seguir la guia oficial de Raspberry Pi per instal·lar imatges del sistema operatiu al vostre entorn aquí: Windows, MacOS, Linux.

Consell: si sou completament nou al Raspberry Pi, us recomano que feu una ullada a aquesta classe Instructables.

Un cop el Pi estigui en funcionament amb Raspbian i la configuració bàsica estigui completa, ja podreu fer que funcioni com a reproductor de decoració digital que admeti la reproducció d'àudio i vídeo. Recordeu que si utilitzeu dos Raspberry Pi per a una doble reproducció, haureu de repetir tots aquests passos al segon Pi.

OMXPlayer-Wrapper per a Python

Per reproduir els nostres vídeos de decoració digital utilitzarem OMXPlayer. Això admet vídeos d’alta resolució (inclòs l’HD) en diversos formats de vídeo habituals. Tot i que OMXPlayer s'inclou amb Raspbian 'out-of-the-box', per fer-lo funcionar bé amb els scripts personalitzats de Python que crearem, haureu d'instal·lar OMXPlayer-Wrapper.

Abans d’instal·lar l’embolcall, recomano actualitzar els paquets del sistema. Executeu les ordres següents des d'un terminal CLI (el Pi ha d'estar connectat a Internet perquè funcioni):

Actualitzeu la llista de paquets del sistema:

sudo apt-get update

Actualitzeu tots els paquets instal·lats a les darreres versions:

sudo apt-get dist-upgrade

Netejar l'espai utilitzat per descarregar paquets d'actualització:

sudo apt-get clean

A continuació, voldreu descarregar el propi OMXPlayer-Wrapper. Per fer-ho, executeu l'ordre següent, de nou des d'un terminal CLI amb el Pi connectat a Internet:

Instal·leu OMXPlayer-Wrapper:

sudo python3 -m pip instal·la omxplayer-wrapper

Per obtenir més informació sobre omxplayer-wrapper, consulteu els documents aquí.

Consell: si trobeu errors de connexió DBUS en intentar reproduir vídeos amb OMXPlayer-Wrapper, proveu d’instal·lar el python3-dbus amb l’ordre següent:

sudo apt-get install python3-dbus

Altres paràmetres i ajustos

Sortida d'àudio per defecte

El Raspberry Pi admet la reproducció d’àudio mitjançant HDMI o el connector de 3,5 mm. Tanmateix, si el Pi detecta que el dispositiu HDMI connectat admet àudio, serà per defecte el dispositiu HDMI. Si, com jo, teniu un dispositiu HDMI compatible amb àudio, però voleu que la vostra sortida d'àudio es converteixi per defecte en la presa de 3,5 mm, podeu obligar-la a fer-ho afegint la següent línia al fitxer config.txt del Pi:

hdmi_ignore_edid_audio = 1

Estableix la sortida de la consola en blanc

Si no voleu que la sortida de vídeo del Pi mostri la pantalla de la consola després de l'arrencada, podeu configurar la consola en blanc afegint el següent al final del fitxer /boot/cmdline.txt al Pi. Tingueu en compte que is és un paràmetre d'ordres del nucli i ha d'estar en una sola línia de text:

consoleblank = 0

Recomanat: