Taula de continguts:

Espectacle de llum de l'arbre de Nadal de Raspberry Pi: 15 passos (amb imatges)
Espectacle de llum de l'arbre de Nadal de Raspberry Pi: 15 passos (amb imatges)

Vídeo: Espectacle de llum de l'arbre de Nadal de Raspberry Pi: 15 passos (amb imatges)

Vídeo: Espectacle de llum de l'arbre de Nadal de Raspberry Pi: 15 passos (amb imatges)
Vídeo: Аномально вкусно‼️ ЧЕХОСЛОВАЦКИЙ СУП ИЗ ФАРША. Жена Липована в шоке. 2024, Desembre
Anonim
Image
Image

Actualització: he publicat una evolució actualitzada d’aquest arbre per al 2017 en aquest instructiu

Aquest projecte consisteix a utilitzar un Raspberry Pi per accionar 8 sortides de corrent altern que estiguin connectades als jocs de llum de l’arbre de Nadal. Les llums de corrent altern són simples fils d’un color, però per donar un rang més dinàmic a l’espectacle de llum també hi ha una estrella LED RGB programable de 25. Un dels avantatges d’utilitzar el Raspberry Pi en lloc d’un controlador Arduino és que puc treure l’àudio del Raspberry Pi per tenir els llums sincronitzats amb la música (per no parlar de l’avantatge de tenir una connexió WiFi per treballar al programari de forma remota).

Pas 1: materials

Materials
Materials

Tingueu en compte que els materials següents són els que he utilitzat per a aquest projecte. En molts casos es poden utilitzar solucions o parts alternatives.

Aquests són els materials que he utilitzat per a aquest projecte:

Per al controlador:

  1. Raspberry Pi (el model B és el que he utilitzat)

    • Targeta SD
    • Adaptador USB Wifi
  2. Taula de mòduls SainSmart de 8 canals 5V SSR: Amazon

    Vaig evitar els relés mecànics, ja que el so del clic de l'interruptor serà notablement audible, i anàvem SSR. Aquest tauler té una potència de fins a 2 AMP per SSR, que és suficient per alimentar una sèrie de llums de Nadal

  3. Cables de pont: es poden trobar barats a Ebay
  4. Connector JST SM + Receptacles - Adafruit
  5. Rotllo de filferro de 32 peus (o quatre trossos de filferro de 8 peus)
  6. Cable d’extensió x 8
  7. Bloc de distribució d'energia x 2 - AdaFruit
  8. Regleta d'endolls
  9. Fonts d'alimentació

    • 5 volts, 3 amperes o més per conduir LEDs i Pi
    • 5 volts, 1 amperi o superior per a accionar el mòdul SSR
  10. Recinte
  11. Altaveus

Per a l'estrella:

  1. LED RGB de 12 mm (cadena de 25): el xip AdafruitWS2801 d’aquest producte permet que el Pi només hagi de pulsar la cadena una vegada en lloc de polsar contínuament la línia per mantenir els LED il·luminats.
  2. Full ABS de plàstic per mantenir els LED al seu lloc - Walmart
  3. Full Lexan per difondre els LED - Lowes
  4. Pintura en aerosol negre
  5. Pintura en aerosol blanca
  6. Fusta

Per a l'arbre:

  1. Cadena blanca de 100 x 4
  2. Cadena blanca de 50 llum
  3. Cadena vermella de 100 llum x 2
  4. Cadena verda de 100 llum x 2
  5. Blau de 100 fils clars x 2

Pas 2: configureu el Raspberry Pi

Abans de capbussar-me al cablejat, volia posar en funcionament el Pi per provar els components mentre estaven connectats. Aquesta configuració es va fer abans de configurar el recinte i implica que el Raspberry Pi estigui connectat mitjançant alimentació USB a un monitor i un teclat. L'objectiu és aconseguir que el sistema estigui configurat fins al punt que el desenvolupament pugui continuar al Pi del recinte.

La instal·lació predeterminada de Pi no disposa de les biblioteques necessàries per conduir correctament els LED WS2801 a l'estrella, de manera que he instal·lat el sistema operatiu Occidentalis d'AdaFruit al Pi.

Després de la instal·lació d'Occidnetalis, es va implicar una mica de configuració addicional:

1) Configureu el Pi per arrencar a un símbol del sistema (no a la interfície GUI)

2) Configureu la interfície de xarxa sense fils al Pi editant / etc / network / interfaces. Assegureu-vos de triar una adreça IP estàtica per poder iniciar la sessió a una adreça coneguda per treballar al Pi

3) Instal·leu els serveis Telnet i FTP.

4) Instal·leu Pygame. La biblioteca s'utilitza en els scripts python per reproduir fitxers MP3 / WAV

Les instruccions detallades per a la instal·lació / configuració es poden trobar fàcilment mitjançant cerques a Internet. Hi ha molts recursos al Pi en línia.

Després d'aquest punt puc desconnectar qualsevol sortida de vídeo i teclat perquè el Pi pot ser que pugueu iniciar la sessió de forma remota.

Pas 3: Comenceu a configurar el recinte

Comenceu a configurar el recinte
Comenceu a configurar el recinte

No entraré en molts detalls sobre com construir el recinte, ja que només és una caixa de fusta. He perforat reteniments de 1,5 de diàmetre als extrems del recinte. A la dreta hi ha el forat on s'esgoten tots els cables d'extensió i el cable d'estrella i a l'esquerra el forat on s'executen la tira d'alimentació i el so d'àudio.

Els primers components a muntar són el power strip i el Raspberry Pi. Per alimentar el Pi estic fent servir el mateix transformador de 5V per alimentar l’estrella i el Pi (que es mostren en verd). Per això, tinc el poder a un bloc de terminals (ressaltat en blanc) on el 5V es bifurca al cablejat en estrella i al Pi

Pin 2 = 5V

Pin 6 = Terra

Un cop connectat, engegueu l’alimentació i el Pi hauria d’arrencar i ser accessible a través de Telnet com a configuració del pas anterior.

Pas 4: connectar el Raspberry Pi al mòdul de retransmissió

Connexió del Raspberry Pi al mòdul de retransmissió
Connexió del Raspberry Pi al mòdul de retransmissió

Amb tots els apagats (fonts d'alimentació i Pi), connecteu els 5 volts als dos connectors externs de la font d'alimentació inferior. Ho vaig conduir amb un subministrament de 5 volts dedicat connectat a la cinta de corrent. Això és perquè el Pi no tingui tota la càrrega de conduir el relé (la preocupació és que es realitzin 8 relés simultanis engegats) i, en canvi, només pugui conduir un transistor per connectar l'alimentació externa al relé.

Ara determineu la ubicació del GPIO0 al GPIO7 al Raspberry Pi. En el meu model B, és a dir:

GPIO0 = Pin 11

GPIO1 = Pin 12

GPIO2 = Pin 13

GPIO3 = Pin 15

GPIO4 = Pin 16

GPIO5 = Pin 18

GPIO6 = Pin 22

GPIO7 = Pin 7

Terra / 0V = Pin 6, Pin 9, Pin 14, Pin 20, Pin 25

Com que la connexió del mòdul SSR està cargolada a les columnes, he retallat cada pont a la mida adequada segons la manera en què separava els components. Connecteu els 8 canals d’entrada i el sòl del Pi al tauler. Les alicates del nas d’agulla ajuden a col·locar correctament els ponts a la capçalera Pi.

Cada canal té un LED al mòdul SSR que s’encendrà quan GPIO puja al Pi. Executeu un programa de prova senzill per comprovar totes les connexions, adjuntades com a test.py, on cada GPIO0-7 està definit durant dos segons.

Pas 5: tallar i preparar els cables d’extensió

Tallar i preparar els cables d’extensió
Tallar i preparar els cables d’extensió

A cada cable d’extensió, talleu l’extrem del tap, deixant la longitud màxima disponible a l’extrem mitjà del cable, ja que possiblement haurà d’anar a la part superior de l’arbre. Al cordó, separeu els extrems del fil tallant el prim tros de plàstic que subjecta els dos cables. Ara tira els extrems de manera que quedi al voltant de 1/4 de filferro per al cargol dels connectors.

Utilitzeu un marcador Sharpie a cada extrem del cordó amb sockett per escriure els números de l'1 al 8 de manera que pugueu identificar fàcilment quin sòcol va a quin canal del mòdul SSR.

També necessitarem un endoll i també algun cable addicional per al següent pas, de manera que canibalitzeu un novè cable d'extensió o deixeu una mica més d'espai als 8 cables d'extensió quan talleu l'extrem del connector.

Pas 6: Connexió dels cables d'extensió de CA

Connexió dels cables d’extensió de CA
Connexió dels cables d’extensió de CA
Connexió dels cables d’extensió de CA
Connexió dels cables d’extensió de CA

El següent pas connecta l'extrem de sortida del mòdul SSR amb 8 cables d'extensió. Com que la quantitat de cables que hi ha aquí es pot desordenar molt fàcilment, he utilitzat un bock de distribució d'energia i una pistola bàsica per intentar mantenir tot al seu lloc.

Quan estigueu apagat, agafeu l'extrem del tap endut del pas anterior i connecteu-lo a la presa de corrent. Retireu els altres dos extrems i connecteu-los cadascun al bloc de distribució d’energia superior i inferior i grapeu aquestes dues connexions cap avall.

Ara connecteu un dels cables d’extensió retallats del pas anterior. En el meu cas, tinc un recinte amb un forat de 1,5 de diàmetre perquè tots els cables surtin, de manera que es posa de relleu en verd un dels cables amb un extrem connectat al bloc de distribució i l'altre a l'extrem de sortida del mòdul SSR. Per completar el circuit necessitem un cable molt més curt (que es mostra en blau) que connecti l’altre bloc de distribució al mòdul SSR. Retalla i grapa per mantenir-ho tot el més ordenat possible. No només la grapa manté les coses ordenades, sinó que també serveix per cal estirar la tensió de manera que qualsevol estirada i estirada en connectar els llums a l'arbre no traurà les connexions dels components. No cal dir que quan es grapa no es fa que la grapa perfori el fil ni l'aïllament.

Pas 7: proveu els connectors de CA

Proveu els connectors de CA
Proveu els connectors de CA
Proveu els connectors de CA
Proveu els connectors de CA

En lloc de connectar cadenes completes de Llums de Nadal, vaig connectar llums nocturnes econòmiques d’1 dòlar a cada cable d’extensió per provar i desenvolupar les animacions abans que l’arbre s’aixecés. Vaig pintar els llums connectats als cordons que controlarien les cordes de llum vermella, verda i blava.

Executeu el mateix programa de prova que s'utilitza per provar el mòdul SSR i assegureu-vos que cada connexió s'encén correctament.

La caixa de llums indicava que cada corda dibuixaria 0,34 amperes, i per a les llums de colors anava a encadenar dos conjunts que haurien de resultar en un sorteig total de 0,68 amperes. Això està molt per sota de la qualificació de l’SSR, que són de 75 a 200 VCA a 2 amperes, tot i que volia comprovar-ho ja que el fusible del mòdul SSR està soldat a la placa, cosa que dificulta la seva substitució.

Pas 8: Creació de l'estrella

Creació de l’estrella
Creació de l’estrella
Creació de l’estrella
Creació de l’estrella
Creació de l’estrella
Creació de l’estrella
Creació de l’estrella
Creació de l’estrella

El primer pas per crear l’estrella és fer una plantilla imprimible per ajudar a donar forma al marc de fusta i al plàstic. Després d’escalar i imprimir la plantilla amb la mida adequada, vaig treure un tros de fusta de 4,25 "x 0,125" de la botiga d'artesania i vaig mesurar la distància necessària per a cada costat de l'estrella. En realitat, no vaig bisellar cap de les juntes quan les tallava, de manera que la formació de l’estrella requeria suport per mantenir les peces al seu lloc mentre s’enganxaven.

Col·locant la plantilla a la superfície de treball, he utilitzat suports per mantenir les dues peces de fusta al seu lloc, tal com es mostra en marró a la imatge. Amb les dues vores de la fusta tocant, es va aplicar cola a banda i banda de la junta. Després, agafant un tros prim de balsa, vaig retallar un triangle per arreglar els dos trossos i el vaig enganxar a l'estrella. El motiu de l’ús de la balsa és que, un cop l’estrella estigués ben junta, vaig poder polir fàcilment el triangle perquè coincidís amb el contorn de l’estrella, que es mostra encerclat a la imatge de l’estrella.

A causa del mètode de construcció, vaig haver d’esperar unes hores a cada junta perquè la cola s’assequés abans de passar a la junta següent.

Un cop es va formar tota l'estrella, faig servir el paquet de panells de guix per cobrir els buits on es reunien dos trossos de fusta a la punta de l'estrella.

Llavors vaig enganxar uns taps petits al voltant de l'interior de l'estrella per ajudar a fixar el conjunt del LED quan estigués inserit, ressaltat amb un rectangle. No crec que siguin realment necessaris ja que la gravetat fa la feina de mantenir el conjunt del LED al seu lloc.

Col·loqueu l'estrella muntada a sobre del full Lexan, traqueu la forma de l'estrella i retalleu l'estrella del Lexan. Després de tallar l’estrella Lexan, comproveu que s’adapti al marc de fusta i, a continuació, apliqueu 2 capes de pintura en aerosol blanca a un costat de la Lexan i deixeu-la assecar durant 24 hores. Això permet difondre els LED i amagar-los de la vista.

Per amagar la tapa entre l'estrella de Lexan i el marc de fusta, vaig utilitzar una petita tira de fusta de balsa de 0,25 "i la vaig tallar per donar-li forma i vaig" tapar "el marc perquè la balsa cobrís la bretxa.

Finalment, va afegir un pal / tac per ajudar a fixar l'estrella a la part superior de l'arbre.

Pas 9: Creeu el muntatge LED

Creeu el muntatge LED
Creeu el muntatge LED
Creeu el muntatge LED
Creeu el muntatge LED

Utilitzant la mateixa plantilla per formar l'estrella de fusta, retalleu la làmina de plàstic ABS a la mida, però una mica més petita per poder inserir-la dins de l'estrella de fusta. Comproveu que s’adapta bé a l’estrella de fusta.

A continuació, encara utilitzeu la plantilla amb ubicacions de forats, foradeu els 25 forats de LED. Els LED d'AdaFruit tenen una brida de silicona a la part exterior, de manera que es munten perfectament en forats perforats a 12 mm. A la imatge es pot veure la brida i he utilitzat una línia verda per indicar on el plàstic ABS enganxaria la brida per mantenir el LED al seu lloc.

Comenceu per un dels consells i treballeu per l'exterior de l'estrella i, a continuació, moveu-vos a les 5 muntures interiors per completar la peça. Al meu programa tinc les posicions del LED cablejades tal com es mostra numèricament a la imatge, essent 1 el primer LED després del connector.

Apliqueu una mica de cinta elèctrica als extrems vermells i blaus del cable. Són entrades secundàries d’alimentació que no utilitzarem i, en canvi, fem servir la connexió vermella / blava amb la connexió de rellotge / senyal a través del mateix cable.

Pas 10: creació del cable d'extensió per a l'estrella LED

Creació del cable d'extensió per a l'estrella LED
Creació del cable d'extensió per a l'estrella LED
Creació del cable d'extensió per a l'estrella LED
Creació del cable d'extensió per a l'estrella LED

A continuació, es crea un cable de 8 peus que vagi des del recinte fins a l'estrella de la part superior de l'arbre.

Tallar 4 trossos de longitud igual de filferro de 8 peus i en un extrem del paquet de cables utilitzeu cinta elèctrica o tirants per mantenir el paquet junt i ordenat. Feu-ho per tota la longitud del paquet de 4 cables cada dos centímetres.

A tots dos extrems del paquet, els cables i la soldadura es connecten als connectors JST perquè el cable pugui connectar un extrem al recinte i l'altre a l'estrella. Assegureu-vos de mantenir la posició relativa dels cables en l'ordre adequat de manera que, quan es connecten a l'estrella, les connexions Blau / Verd / Groc / Vermell coincideixin a l'altre extrem del cable. Utilitzeu un multímetre per comprovar que el cable estigui ben connectat.

Pas 11: Connecteu l'estrella al Pi

Connecteu l'estel al Pi
Connecteu l'estel al Pi

Ara hem de crear el receptacle al recinte perquè es connecti el cable d’estrella / extensió.

Vermell = 5 volts

Blau = Terra

Així, podem connectar aquestes dues línies al connector JST al bloc de terminals al qual està connectada la potència del Raspberry Pi.

Les altres dues connexions són:

Groc = Dades = MOSI = Pin 19

Verd = Rellotge = SCLK = Pin 23

Vaig seguir el cablejat del tutorial d'AdaFruit. Tanqueu els extrems de dos cables de pont perquè es puguin soldar al connector JST.

Quan estigueu segurs que el cablejat obtindrà els senyals adequats als LEDs, podeu establir el connector del recinte per alleujar la tensió, de manera que qualsevol estirament del cable d’extensió no arrencarà els ponts del Pi.

Pas 12: proveu l'estrella LED

Proveu l'estrella LED
Proveu l'estrella LED
Proveu l'estrella LED
Proveu l'estrella LED

Amb l’estrella LED connectada al Pi. Executeu un programa de prova senzill per comprovar que la il·luminació funciona correctament. Gran part del meu codi està adaptat del tutorial d'AdaFruit, així com d'una publicació del fòrum al lloc web sobre l'adaptació del codi del tutorial per adaptar-se als LEDs que estem utilitzant.

El ledtest.py adjunt farà que l'estrella passi lentament de blau pur a vermell pur.

Pas 13: connecteu els altaveus i creeu un recinte superior

Connecteu els altaveus i creeu un recinte superior
Connecteu els altaveus i creeu un recinte superior

Aquí no hi ha res d’especial, només cal connectar els altaveus a l’àudio que surt del Raspberry Pi i connectar-los a la presa de corrent. Funcionarà un altaveu senzill amb un comandament de volum.

Per a la part superior, volia poder mirar cap al recinte, així que vaig muntar un tros de vidre de 8,5 x 11 (d’un marc d’imatges) a la tapa i vaig fer servir velcro a la part superior per poder treure-la ràpidament si fos necessari. Una gran part del recinte té 110 VCA exposats, per la qual cosa és important que la part superior proporcioni protecció contra qualsevol persona o qualsevol cosa contra contactes accidentals.

Pas 14: connecteu la il·luminació a l'arbre

Connecteu la il·luminació a l'arbre
Connecteu la il·luminació a l'arbre

He seleccionat la disposició dels canals a l'arbre de Nadal per donar-me la màxima flexibilitat per generar diferents tipus de moviment / efectes. S'adjunta una imatge de com vaig dissenyar la il·luminació dels 5 fils blancs. Els tres canals restants eren cadascun un conjunt de dos llums de 100 colors clars: vermell, verd, blau.

El cable d’extensió particular que connecteu a cada cadena no és crític, ja que al pas següent puc personalitzar l’assignació entre GPIO0-7 i quins llums hi ha a l’arbre.

Pas 15: carregueu / creeu música, programari, seqüències …

Image
Image

Hi ha nombrosos seqüenciadors de llum de Nadal disponibles en línia per al Raspberry Pi, però en vaig codificar un de simple. Totes les seqüències es van generar alineant els temps de ritmes / mesures a Audacity (editor d’àudio) a ordres particulars del meu seqüenciador.

rxmas.py

Aquest programa seleccionarà de manera aleatòria un disseny estàtic per a l'arbre cada minut. Tinc aquest script en execució a l'inici del Raspberry Pi (mitjançant un treball cron) com a comportament predeterminat quan connecteu la unitat.

xmas.py

Es tracta del programa seqüenciador, que pren com a entrades un fitxer de seqüència i un MP3

setup.txt

Al pas anterior, he proporcionat el disseny que he utilitzat per a cada canal lògic. Aquest fitxer assigna cada GPIO0-7 real al canal lògic. Així doncs, al fitxer setup.txt que he adjuntat, el cable d’extensió de GPIO0 condueix el canal lògic 8 (blau), el GPIO1 impulsa el canal lògic 6 (vermell), etc.

test.mp3 / test.txt

Es tracta d’un cas de prova simple d’un recompte d’àudio dels números de l’1 al 8 amb les cordes de llum equivalents il·luminades

Per invocar aquest exemple, escriviu:

./xmas.py test.txt test.mp3

carol.txt

El fitxer seqüenciador del Nadal de Sarajevo per Trans-Siberian Orchestra

LetItGo.txt

El fitxer seqüenciador de Let It Go de Disney's Frozen Movie

russian.txt

El fitxer seqüenciador de "A Mad Russian's Christmas" de Trans-Siberian Orchestra

Evidentment, haureu de subministrar els vostres propis fitxers LetItGo.mp3 i carol.mp3. Només els heu de comprar a Amazon.

NOTA: El vídeo de YouTube incrustat té una velocitat del 110% accelerada, de manera que pot semblar una mica estrany

Feu-lo brillar!
Feu-lo brillar!

Primer premi a l’obra Make it Glow!

Recomanat: