Taula de continguts:
- Pas 1: el cas del rellotge
- Pas 2: Neopíxels
- Pas 3: ajustar el text frontal
- Pas 4: Efecte arc de Sant Martí complet
- Pas 5: els diversos components
- Pas 6: Codi del rellotge
- Pas 7: la descripció del maquinari
- Pas 8: LDR per al control de la brillantor dels neopíxels
- Pas 9: reduir el consum d'energia del WS2812B
- Pas 10: somriure al rellotge de paraules
- Pas 11: quines biblioteques s'utilitzen
- Pas 12: control remot IR senzill
- Pas 13: Quins Nexts?
Vídeo: Rellotge Word Rainbow amb un efecte Rainbow complet i molt més: 13 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:14
Metes
1) Senzill
2) No és car
3) El més eficient energèticament possible
Rainbow Word Clock amb un efecte arc de Sant Martí complet.
Un somriure al rellotge de paraules.
Control remot IR senzill
Actualització 03-nov-18 LDR per al control de la brillantor dels neopíxels
Actualització 01-gen-19 Reducció del consum d'energia WS2812B.
Actualització 15-gen-19 Smiley.
Actualització 23-gen-19 Codi 1.6
Actualització dels enllaços de biblioteques del 10 de març del 19
Actualització del 14-abril-19 versió 1.7 Choice smiley on / off collor rainbow / fix enz.
Última actualització 01-06-19 control remot IR versió 2.0 i redisseny del codi
Pas 1: el cas del rellotge
Amb algunes eines simples i una mica d’habilitat, no és difícil fer un rellotge de cartes. Vaig utilitzar els materials que em eren disponibles.
Per al cas, he utilitzat una barra de pi rugosa en què he serrat uns quants marcs. Això faria els quatre costats de la caixa, que estaven enganxats i reforçats amb un petit tros de fusta a les cantonades. Llavors la fusta necessita polir i esmolar.
Les lletres són retallades de paper d'alumini per una impressora que escriu en mirall. La làmina es troba a la part posterior de la placa de vidre i es cobreix amb un paper patró de doble capa per a una millor distribució de la llum. El vidre es fixa mitjançant un segellador de silicona.
Pas 2: Neopíxels
Els LED de Neopixels es disposen sobre una placa de fusta, en la qual primer es practiquen forats de 3 mm. A la part frontal s’amplien a mida de lletra a 3/4 de profunditat. Després d'això, els 3 mm a la part posterior augmenten a 10 mm, és la mida d'un Neopixel. Per a alguns personatges, entre d'altres, el W, el forat s'hauria d'ajustar lleugerament.
Vaig fer servir fusta contraxapada que es va trencar ràpidament, el MDF pot ser millor.
Amb els LEDs individuals no esteu lligats a una distància fixa, com és el cas de les tires LED. Els LEDs han d’estar connectats entre si. Podeu fer-ho amb tots els trossos de filferro curts. Però les dues connexions min (-) són igual que les dues connexions més (+) connectades internament, de manera que la mateixa connexió.
Podeu estalviar-vos molta feina soldant un tros de filferro al LED esquerre i després al LED dret. Després soldeu els intermedis.
La connexió de dades, per descomptat, ha de ser breu perquè la sortida de dades va a l'entrada de dades.
Pas 3: ajustar el text frontal
La placa frontal ara està en neerlandès, però només es pot convertir en qualsevol idioma.
Els leds de NeoPixels es canvien aquí successivament de 0 a 167. La numeració va de la primera fila a la part superior esquerra a la dreta i després a la segona fila de dreta a esquerra, etc. L'ajust es pot fer segons les vostres pròpies necessitats. El nombre de NeoPixels està determinat per la quantitat de caràcters. Es poden ajustar menys o més Neopíxels a la línia següent
#define NUMPIXELS 168 // Quants NeoPixels estan connectats a l'Arduino?
168 és un altre número. La numeració comença a 0. Podeu fer qualsevol text. Si canvieu el text, també haureu d’ajustar les paraules corresponents. La numeració continua sent la mateixa.
Com a exemple, DRIE dels minuts, es determina al codi
void zetmDrie () {
Led_Aan [56] = 1, Led_Aan [57] = 1, Led_Aan [58] = 1, Led_Aan [59] = 1; // min-drie
}
Si voleu crear la paraula Arduino, segueix així:
void zetArduino () {
Led_Aan [38] = 1, Led_Aan [50] = 1, Led_Aan [56] = 1, Led_Aan [93] = 1;
Led_Aan [120] = 1, Led_Aan [135] = 1, Led_Aan [147] = 1; // Word-arduino
}
De manera que podeu crear paraules entre.
Per a les paraules de rellotge és útil si formen una paraula contigua però no és del tot necessari. Les lletres no utilitzades no necessiten Neonpixels. Els tinc omplerts per a ús de possibilitats futures diferents del temps que es mostra.
Si canvieu el punt de partida o canvieu la seqüència successòria, la numeració hauria de canviar en conseqüència.
Pas 4: Efecte arc de Sant Martí complet
Ara el rellotge està tan programat que es compta el nombre de vegades per segon de quants neopixels estan activats.
L'espectre total és aproximadament el nombre de dividits i després lleugerament desplaçats. Com a resultat, cada Neopixel té un color diferent que canvia contínuament. Neopixel nr 1 i nr 167 se succeeixen en alguns colors.
Si preferiu colors menys diferents al mateix temps, és fàcil d'ajustar. El color es desplaça encara en tot l’espectre, però amb una part més petita. El Neopixel nr 1 i nr 167 ja no es segueixen els uns amb els altres.
La brillantor es pot configurar a la línia següent, pixels.setBrightness (150);
Un nombre més petit és menor i un nombre més gran de brillantor.
Pas 5: els diversos components
He utilitzat els components següents
Arduino Pro Mini ATMEGA328 5V / 16MHz
Mòdul de rellotge DS3231
168 peces de xip LED i dissipador de calor WS2812 LED Neopixels 5V 5050 RGB WS2811 IC incorporat
Plantilla de lletra de làmina
Receptor DCF77
Pas 6: Codi del rellotge
Aquí teniu el codi. S'ha afegit un control de brillantor i s'apaga quan no hi ha ningú a la nit.
S'ha afegit el sensor de moviment de microones radar RCWL-0516 (cerca de RADAR)
Després de 10 minuts sense moviment, els NeoPixels s’apaguen.
Quant a la versió 2.0
L’ús de la memòria era excessiu, amb les advertències de memòria esgotades al compilador. És per això que he canviat completament el codi, però l'operació s'ha mantingut igual i s'ha afegit un receptor IR.
Hi ha un tros de codi per proporcionar dades a l'EEPROM. Executeu-ho una vegada eliminant temporalment els fitxers / * i * /. Cerqueu => executeu-ho una vegada per proporcionar dades a l'EEPROM
Al principi del bucle buit hi ha un codi per llegir el codi del vostre propi control remot. Podeu executar-lo eliminant temporalment els fitxers / * i * /, no oblideu tornar-los a posar després. També podeu definir els vostres propis botons. El codi llegit s'ha d'introduir a => Definiu aquí els vostres propis botons
El comandament a distància de Samsung funciona millor que el senzill (molt barat).
Pas 7: la descripció del maquinari
Hi ha diferents versions de l’Arduino Pro Mini. Tingueu en compte que les connexions poden variar.
S'ha afegit un sensor de moviment de microones RCWL-0516.
Mentre hi hagi moviment a les rodalies del rellotge, el NeoPixel romandrà activat
i tan bon punt no hi hagi més moviment, el NeoPixel s'apaga al cap d'uns minuts.
A la versió 2.0, el receptor DCF77 s'alimenta mitjançant el pin 13. Aquest pin es defineix com a sortida i s'estableix quan s'adreça la rutina DCF77. El receptor DCF77 utilitza 0,28 mA i només es necessita durant uns minuts al dia.
Desactivar l'estalvi
5 volts * 0,28 mA / 1000 * 24 hores * 365 dies * 1 / 0,85 alimentació d’eficiència = 14,4 watts a l’any.
No sembla gaire, però tot ajuda.
Pas 8: LDR per al control de la brillantor dels neopíxels
S'ha afegit un LDR per al control de la brillantor dels neopíxels.
He enganxat el LDR a l'espai del neopixel 103. Aquest no s'utilitza a la visualització del temps i, per tant, no influeix en la regulació. El paper esmorteix la llum incident, però això no és cap problema.
El divisor de voltatge de la resistència LDR i 20 kohm va a A0 de l’Arduino Pro Mini. El voltatge és un indicador de la intensitat de la llum i, per tant, també un indicador de la quantitat de llum que han de donar els neopíxels.
La fórmula que faig servir em proporciona un bon control de la llum, es pot ajustar segons les circumstàncies. Depenent de la quantitat de llum, el voltatge pot variar entre 0 i 5 volts, que es converteix en 0 a 1024 recomptes que es troben a "LDRValue".
Si el nou valor mesurat és superior a l'últim valor calculat, la intensitat augmenta 1, si és inferior a la disminuïda 1 i si és igual no es fa res. Per tal que el valor procedeixi lentament, de manera que no hi hagi cap efecte de parpelleig, només s'incrementa o disminueix l'1 i, ja que el càlcul es troba al bucle, només es recalcula després de recórrer el bucle 25 vegades.
La intensitat és teòricament un mínim de 20 i un màxim de 1024/7 + 45 = 191. El valor màxim que vaig mesurar va ser 902, que equival a una intensitat de 173. Això encaixa bé amb els 150 que he definit com a valor per defecte. (vegeu pixels.setBrightness (150))
A la versió 2.0 podeu configurar el control mitjançant el control remot. S'han afegit els següents paràmetres: Brightness_min com a mínim i Brightness_max com a configuració màxima i Brightness_Offset com a paràmetre de configuració. Brightness_min i _max són els valors que poden dependre de la vostra pròpia situació. Brightness_Offset és un valor que es pot configurar amb el comandament a distància i amb el qual es pot configurar més o menys brillantor.
També hi ha una banda morta de 3 entre LDRValue mesurat i els valors BerLDRValue calculats.
Utilitzeu les declaracions d'impressió del control de lluminositat nul per comprovar la configuració de la brillantor.
Pas 9: reduir el consum d'energia del WS2812B
Els controladors dels neopíxels adreçables WS2812B estan dibuixant corrent fins i tot quan els neopíxels estan apagats, configurats a color 0 (no hi ha elements de neopíxels il·luminats).
Quan els 169 neopíxels estan fora, mesuro 69 mA als neopíxels. Suposant que el rellotge està apagat 12 hores al dia, l’aturada total estalvia: 5 (font d’alimentació en volt) * 69/1000 (Miliampere / 1000 = Ampere) * 12 (Nombre d’hores al dia) * 365 (Nombre de dies en un any) = 1511 watts hora. Així doncs, anualment 1,5 Kwh. Estic d'acord, no és molt en si mateix, però molts petits en fan un de gran.
El circuit és senzill. El plus de la font d’alimentació el commuta un MosFet de canal P. El sensor de radar determina si els neopíxels estan activats o apagats. He posat dos parelels MosFet per mantenir la resistència ON el més baixa possible a causa de la pèrdua dels MosFet. En un ús normal, mesuro 4, 5 mili volts sobre els MosFets. La porta està controlada per la sortida 4 de l'Arduino mitjançant una resistència de 470 Kohm. Si la sortida passa a baix (0) digitalment, els neopíxels estan activats i a màxima (1) estan apagats.
Pas 10: somriure al rellotge de paraules
Un somriure al rellotge de paraules.
De vegades apareix un Smiley al rellotge, però això us fa feliç.
El Smiley és activat pel sensor de radar. El nombre de vegades que el moviment (ajustable) és una mesura de l’aspecte del Smiley. Els signes% indiquen que s’ha detectat moviment. Amb cada desè moviment (ajustable), el Smiley presenta un Winky Face i, després de tres vegades un Winky Face, arriba la quarta vegada un Smiley Face que treu la llengua.
El Smiley és un petit canvi en el codi.
Pas 11: quines biblioteques s'utilitzen
Quines biblioteques s’utilitzen.
Els faig servir a Windows 7 amb Arduino IDE 1.6 i també s’han provat a Windows 10 amb Adruino IDE 1.8.8
RTClib-master
Arduino-DS3231-master
Adafruit_NeoPixel-master
Arduino-DCF77-master
Biblioteca IRremote de Ken Shirriff
Com que sempre hi ha confusió sobre la biblioteca utilitzada, afegeixo la que faig servir.
La biblioteca IRremote utilitza molta memòria. A IRremote.h s’indica que podeu desactivar qualsevol protocol no utilitzat.
// Cada protocol que incloeu costa memòria i, durant la descodificació, costa temps // Desactiveu (establert a 0) tots els protocols que no necessiteu / voleu.
Tinc tot desactivat, excepte el protocol NEC i Samsung. Això permet un estalvi de memòria del 10%. De moment, ja no hi ha cap problema amb la quantitat de memòria, de manera que, de moment, la desactivació no és necessària.
Pas 12: control remot IR senzill
El muntatge
Com podeu veure a les fotos, el forat del LED 132 ha resultat ser una mica massa gran. En vaig fer un bon ús i hi vaig afegir el receptor IR. Connecteu el pin de dades del receptor IR VS1838 al pin 7 de l’Arduino. A més, connecteu la font d'alimentació més i menys. El receptor IR utilitza 0,21 mA i també es podria connectar a la font d'alimentació més després del commutador FET. Això suposa un estalvi, si el rellotge està en un 50% del temps, de 5 volts * 0,21 mA / 1000 * 12 hores * 365 dies * 1 / 0,85 font d’alimentació d’eficiència = 5,4 watts a l’any. No sembla gaire, però tot ajuda.
El funcionament és el següent
Premeu qualsevol tecla del comandament a distància IR i, a continuació, la tecla OK. La primera vegada que premeu, acabareu al processament IR i la segona vegada detectareu si es tractava d’una sol·licitud justificada. La segona vegada que OK ha de seguir ràpidament la primera tecla perquè, en cas contrari, es torna enrere. Vaig fer aquesta construcció de manera que amb prou feines vaig obtenir el primer codi correctament descodificat i, per tant, no vaig acabar amb la manipulació IR.
Un cop a la gestió de l’IR, s’encenen diversos LEDs per obtenir informació, per obtenir més informació, llegiu-ne més i consulteu la primera imatge.
La descripció és per al control remot senzill, però podeu utilitzar qualsevol control remot i definir les vostres pròpies claus. També he utilitzat un comandament a distància Samsung.
Les primeres quatre tecles corresponen a les quatre files superiors de LEDs. Quatre LED giren a l'esquerra o a la dreta en funció de la configuració. Quan es premen les tecles 1 a 4, l'estat s'inverteix i s'emmagatzema a la memòria.
1 efecte fix o color arc de Sant Martí
Flash de 2 segons apagat o segon flash activat
3 smiley off smiley on
4 DCF77 apagat o DCF77 activat
El número de la clau es mostra a les tecles següents
5 taulells somrients
6 amplades d'espectre arc de Sant Martí
7 fixa la configuració en vermell
8 fixar el paràmetre verd
9 fixa la configuració blava
Les files 6, 7 i 8 dels LED corresponen ara al valor establert, la fila 6 indica les unitats, la fila 7 les desenes i la fila 8 el centenar. Cada fila comença amb el valor zero. Per tant, el primer led de la fila és 0, el segon és 1, etc.
Configuració del temps 0
/ / ajust de brillantor
Quan es prem el botó 0, els LED "deu" s'encenen per indicar que voleu establir l'hora i, quan premeu 0 una segona vegada, apareix a la pantalla el temps establert.
Ara es pot configurar l’hora i es mostra a la pantalla.
Establiu l’hora correcta i, si el minut és el mateix en un rellotge de referència, premeu el botó OK.
El temps s’ajusta.
Si no feu servir el botó de minuts o hores, no es farà cap canvi horari. Si els premeu, l'hora s'establirà immediatament.
El valor de les tecles 5 a 9 es pot canviar amb les tecles
la dreta és més 1
a l'esquerra queda menys 1
endavant és més 10
el revers és menys 10.
i per a la configuració horària
la dreta és més 1 minut
a l'esquerra és menys d'1 minut
endavant és més d'una hora
el revers és menys 1 hora
De vegades passa que la pressió de tecles no es reconeix o es fa dues vegades. Presteu atenció si la configuració funciona bé, en cas contrari, torneu-ho a provar o corregir. El comandament a distància de Samsung que també vaig provar funcionava moltes vegades millor que el (molt barat) comandament a distància senzill.
Quan configureu el color, veureu el canvi directament a tota la pantalla. Per a un lloc amb una visió general dels colors, consulteu https://www.helderester.nl/kleurentabel.html. Per descomptat, podeu establir qualsevol valor.
Si l'amplada de l'espectre arc de Sant Martí té un valor de 0, l'espectre és molt estret i la pantalla té un color que canvia constantment.
L’inconvenient de configurar l’hora d’aquesta manera és que no es pot calcular una transició estiu / hivern perquè la data és incorrecta. No importa el rellotge en si mateix perquè ara no el fem servir.
Pas 13: Quins Nexts?
El que segueix, sona, si la memòria lliure encara és suficient.
Ja tinc les caixes dels altaveus. Són d’un portàtil antic.
Recomanat:
Impressionant hivernacle amb reg automàtic, connexió a Internet i molt més: 7 passos (amb imatges)
Impressionant hivernacle amb reg automàtic, connexió a Internet i molt més: Benvingut a aquest manual. A principis de març, estava en una botiga de jardins i vaig veure alguns hivernacles. I com que feia temps que volia fer un projecte amb plantes i electrònica, vaig continuar endavant i en vaig comprar un: https://www.instagram.com/p
Rellotge de paraules amb efecte Rainbow i llum de fons: 6 passos
Rellotge de paraules amb efecte Rainbow i llum de fons: el començament és aquí. La placa frontal fa 40 per 40 cm i està llesta
Rellotge de paret LED Matrix O-R-A RGB i molt més ** actualitzat el 2019 de juliol **: 6 passos (amb imatges)
Rellotge de paret LED Matrix O-R-A RGB i molt més ** actualitzat el juliol de 2019 **: Hola. Aquí estic amb un nou projecte anomenat O-R-A. Es tracta d’un rellotge de paret LED RGB Matrix que mostra: hora: minut temperatura humitat icona de condició meteorològica actual Esdeveniments de Google Calendar i notificacions de recordatori d’1 hora a una hora concreta que mostra:
Bloqueig NFC: quan un PCB també és el botó, l'antena i molt més : 7 passos (amb imatges)
Bloqueig NFC: quan un PCB també és el botó, l'antena i molt més: podeu treure una de les dues coses d'aquest manual. Podeu seguir i crear la vostra pròpia combinació d'un teclat numèric i un lector NFC. L’esquema és aquí. El disseny del PCB ja és aquí. Trobareu una llista de materials per demanar la p
Construeix un robot molt petit: fes el robot de rodes més petit del món amb una pinça: 9 passos (amb imatges)
Construeix un robot molt petit: fes el robot de rodes més petit del món amb una pinça. Construeix un robot de 1/20 polzades cúbiques amb una pinça que pugui recollir i moure objectes petits. Està controlat per un microcontrolador Picaxe. En aquest moment, crec que pot ser el robot de rodes més petit del món amb una pinça. Sens dubte, això