Taula de continguts:
- Pas 1: recollida de subministraments i eines
- Pas 2: Marcatge, perforació i encaminament
- Pas 3: Tanta soldadura, tall i despullament
- Pas 4: Instal·lació
- Pas 5: tocs finals
Vídeo: Rellotge de 132 píxels: 5 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
He estat, durant el temps que recordo, obsessionat pels LED i el temps. En aquest projecte he creat un gran rellotge de paret que mostra l’hora actual mitjançant 132 LED de neopixel muntats i brillants a través d’una placa d’avet. És un digital analògic híbrid amb un píxel individual per hora, minut i segon.
Aquest va ser el projecte més gran que he fet fins ara, vaig començar a pensar-hi fa 6 mesos i la idea es va anar reunint lentament. Estic molt content del resultat i espero compartir-lo amb vosaltres.
Pas 1: recollida de subministraments i eines
Components
Aquest projecte es basa en una pissarra de la meva botiga de bricolatge local. El tauler mesura 850 mm d'ample per 500 mm d'alt i 18 mm de profunditat.
Els LED que s’utilitzen en aquest projecte són 5050 WS2812b muntats en PCB circulars de 9 mm de diàmetre aproximat amb coixinets de soldadura a la part posterior.
Estic fent servir un micro controlador compatible Arduino Pro Mini. És la versió de 5V 16 MHZ. Vaig escollir aquest ja que té un disseny súper prim, petita impremta i tots els ports nessary, a més de recanvis per a futures actualitzacions. També té 5 volts, de manera que puc utilitzar una sola font d'alimentació per als LEDs, el controlador micro i el RTC
El mòdul RTC (Real Time Clock) que compta amb el xip DS3231 s’encarrega de mantenir el temps. Aquest xip és molt precís, de manera que el temps no ha de passar massa.
També s'utilitza:
Filferro. Soldadura i cola calenta.
Eines:
Broques elèctriques i broques de fusta (10 mm i 5 mm)
Soldador
Pistola de cola calenta
retalls de filferro
Accessoris per a encaminadors Dremel i plunge
Pas 2: Marcatge, perforació i encaminament
Perforació
- Mitjançant una vora estret, trobeu el centre del tauler dibuixant una línia des de cantonades oposades.
- Marqueu 3 cercles amb un tros de corda i un bolígraf. El cercle més exterior hauria d’estar a uns 20 mm de la vora del tauler i les altres 2 línies es desplaçarien 15 mm de l’última línia.
- Vaig utilitzar una cara de rellotge impresa per ajudar-me a marcar les posicions de cadascun dels minuts i segons a les 2 línies externes i les hores a la línia interior.
- Practicar forats de 10 mm aproximadament de 5 mm de profunditat per cada hora, minut i segon.
- Utilitzeu el trepant de 5 mm per fer forats al tauler durant hores, minuts i segons.
Encaminament
Tot i que aquest pas no és necessari, permetrà que el rellotge s’ajusti a la paret.
- Utilitzar un enrutador i una guia de cercle per canals de fil de ruta a la placa
- Marqueu i encamineu un recés per viure-hi el RTC i el micro controlador.
- Dirigeixi un canal des de les línies exteriors fins al recés per a cables
Pas 3: Tanta soldadura, tall i despullament
Aquesta següent part és molt més fàcil de dir que de fer. El meu consell seria una nota a corre-cuita. intenta trobar un sistema i entra en un ritme.
Cadascun dels LED necessita 5 volts d’entrada, 5 volts de sortida, dades d’entrada, sortida de dades, entrada de terra i sortida de terra. incloent l’alimentació del microcontrolador i RTC els seus més de 400 cables, tot pelat i soldat als dos extrems.
Una substància blava pegajosa és molt útil per a aquest pas.
- Vaig començar col·locant 2 LED als seus forats l'un al costat de l'altre per determinar la longitud del fil necessari per connectar-se entre ells.
- Utilitzant el primer tros de filferro com a guia, després tallo 60 de cada filferro de color.
- Retireu 2 mm de mànigues dels extrems de cada filferro i esteneu-los amb soldadura.
- Soldeu una petita taca de soldadura a cadascun dels coixinets LED.
- Soldeu els cables als LED per formar dues cadenes de 60 durant els minuts i segons i una cadena de 12 per a les hores. He utilitzat fil vermell per a 5V, groc per a dades i blau per a terra.
- Tingueu cura de connectar cada Data Out (DOUT) a la Data In (DIN) del següent LED
- El darrer led de cada dosi de cadena no necessita un cable de sortida de dades.
Un cop acabades totes les cadenes, és una bona idea provar-les abans d’instal·lar-les. Vaig utilitzar el meu Arduino UNO i el test de cadenes NeoPixel Adafruit per confirmar que cada LED funcionava.
Soldeu cables més llargs a cadascuna de les cadenes per a 5 V, terra i entrada de dades.
En aquest punt hi hauria d’haver cinc cables de 5 V, tres cables de dades connectats a l’Arduino Pro Mini i 5 cables de terra.
Tireu 5 mm dels extrems dels cables de 5 v i soldeu-los tots junts i repetiu els cables de terra.
Després de completar les tres cadenes, soldeu un cable de 5V al pin RAW de l’Arduino Pro Mini i també al pin VCC per al RTC. Un cable de terra a GND a l'Arduino Pro Mini i RTC i, a continuació, 2 cables més:
SCL des del RTC fins a l'A5 al Pro Mini
SDA del RTC a A4 al Pro Mini
Les línies de dades dels LED s’han de connectar a:
- Segons: Pin digital 3.
- Minuts - DigitalPin 4
- Hores - DigitalPin 5
Pas 4: Instal·lació
Un cop soldats, la instal·lació dels LED als forats hauria de ser directa. Cal instal·lar els LED perquè les dades funcionin en sentit antihorari quan les mireu des de la part posterior, ja que el codi està configurat cap a la part frontal.
Vaig utilitzar una petita quantitat de cola calenta per mantenir-les premudes, ja que vull poder substituir un sol LED si falla en el futur.
També vaig fer servir cola calenta per mantenir tots els cables ordenats i fixar el connector del canó a la placa.
Hi ha diverses guies de programació arduino pro mini disponibles. Utilitzo el mètode extern del convertidor USB a sèrie per carregar aquest codi a l’Arduino:
Aquest codi també establirà l'hora a l'RTC al moment en què es va compilar. per tant, és important que només es tiri el botó de pujada perquè compleixi i pengi el més ràpidament possible.
Bona part d’aquest codi va ser manllevat del NeoPixel Ring Clock per Andy Doro. Alguns de l'Adafruit NeoPixel Strand Test i alguns els he ajuntat.
Haureu d’haver instal·lat algunes biblioteques. Estan disponibles al gestor de biblioteques al programari Arduino.
L’Adafruit NeoPixel per als LEDs ws2812b
Cable per parlar amb el RTC per I2C (està integrat de sèrie)
i RTClib per saber què demanar al RTC
/ ************************************************** ************************* * * NeoPixel Ring Clock per Andy Doro ([email protected]) https://andydoro.com/ringclock/ * * ************************************************* **************************
Historial de versions
Data per què
20140320 AFD Primer esborrany 20160105 AFD Arcs desapareguts 20160916 AFD compatible amb quincalla 20170727 AFD ha afegit STARTPIXEL per a un recinte 3D, punt d'inici variable, ha afegit suport automàtic DST 20180424 AFD mitjançant la biblioteca DST https://github.com/andydoro/DST_RTC *
/ inclou el codi de la biblioteca:
#include #include
#incloure
// defineix pins
#define SECPIN 3 #define MINPIN 4 #define HOUPIN 5
#define BRIGHTNESS 20 // defineix la brillantor màxima
#defineix r 10
#define g 10 #define b 10 RTC_DS3231 rtc; // Establir objecte de rellotge
Adafruit_NeoPixel stripS = Adafruit_NeoPixel (60, SECPIN, NEO_GRB + NEO_KHZ800); // objecte de tira
Adafruit_NeoPixel stripM = Adafruit_NeoPixel (60, MINPIN, NEO_GRB + NEO_KHZ800); // objecte de tira Adafruit_NeoPixel stripH = Adafruit_NeoPixel (24, HOUPIN, NEO_GRB + NEO_KHZ800); // byte object object stripColorRed, pixelColorGreen, pixelColorBlue; // manté valors de color
configuració nul·la () {
Wire.begin (); // Començar I2C rtc.begin (); // començar rellotge
Serial.begin (9600);
// estableix els modes pinMode pin (SECPIN, OUTPUT); pinMode (MINPIN, OUTPUT); pinMode (HOUPIN, OUTPUT);
if (rtc.lostPower ()) {
Serial.println ("RTC ha perdut energia, permetem definir l'hora!"); // següent línia estableix el RTC a la data i hora en què es va compilar aquest esbós rtc.adjust (DateTime (F (_ DATE_), F (_ TIME_)))); // Aquesta línia defineix el RTC amb una data i hora explícites, per exemple, per establir // el 21 de gener de 2014 a les 3:00 de la matinada a la qual trucaríeu: // rtc.adjust (DateTime (2014, 1, 21, 3, 0, 0)); }
stripS.begin ();
stripM.begin (); stripH.begin (); //strip.show (); // Inicialitza tots els píxels a "off"
// seqüència d'inici
retard (500);
colorWipeS (stripS. Color (0, g, 0), 5); // Blau colorWipeM (stripM. Color (r, 0, 0), 5); // Color blau EsborrarH (stripH. Color (0, 0, b), 50); // Blau
retard (1000);
Hora Data el Temps = rtc.now (); // té en compte el byte DST segon valor = theTime.second (); // obtenir segons byte minuteval = theTime.minute (); // get minutes int hourval = theTime.hour (); hourval = hourval% 12; // Aquest rellotge dura 12 hores, si és de 13 a 23, converteix-lo a 0-11 '
per a (uint16_t i = 0; i <segon valor; i ++) {stripS.setPixelColor (i, 0, 0, b); stripS.show (); retard (5); }
per a (uint16_t i = 0; i <minuteval; i ++) {stripM.setPixelColor (i, 0, g, 0); stripM.show (); retard (5); }
per a (uint16_t i = 0; i <hourval; i ++) {stripH.setPixelColor (i, r, 0, 0); stripH.show (); retard (5); }
}
bucle buit () {
// obtenir temps
Hora Data el Temps = rtc.now (); // té en compte el DST
byte secondval = theTime.second (); // obtenir segons
byte minuteval = theTime.minute (); // obtenir minuts int hourval = theTime.hour (); // obtenir hores hourval = hourval% 12; // Aquest rellotge dura 12 hores, si és de 13 a 23, converteix-lo a 0-11 '
stripS.setPixelColor (segon valor, 0, 0, 20); stripS.show (); retard (10); if (secondval == 59) {for (uint8_t i = stripS.numPixels (); i> 0; i--) {stripS.setPixelColor (i, 0, g, 0); stripS.show (); retard (16);}}
stripM.setPixelColor (minuteval, 0, g, 0);
stripM.show (); retard (10); if (secondval == 59 && minuteval == 59) {for (uint8_t i = stripM.numPixels (); i> 0; i--) {stripM.setPixelColor (i, r, 0, 0); stripM.show (); retard (16);}}
stripH.setPixelColor (hora, r, 0, 0);
stripH.show (); retard (10); if (secondval == 59 && minuteval == 59 && hourval == 11) {for (uint8_t i = stripH.numPixels (); i> 0; i--) {stripH.setPixelColor (i, 0, 0, b); stripH.show (); delay (83);}} // per a la depuració en sèrie Serial.print (hourval, DEC); Serial.print (':'); Serial.print (minuteval, DEC); Serial.print (':'); Serial.println (secondval, DEC); }
// Ompliu els punts un darrere l’altre d’un color
void colorWipeS (uint32_t c, uint8_t wait) {for (uint16_t i = 0; i <stripS.numPixels (); i ++) {stripS.setPixelColor (i, c); stripS.show (); retard (esperar); }}
void colorWipeM (uint32_t c, uint8_t espera) {
per a (uint16_t i = 0; i <stripM.numPixels (); i ++) {stripM.setPixelColor (i, c); stripM.show (); retard (esperar); }}
void colorWipeH (uint32_t c, uint8_t espera) {
per a (uint16_t i = 0; i <stripH.numPixels (); i ++) {stripH.setPixelColor (i, c); stripH.show (); retard (esperar); }}
Pas 5: tocs finals
Ara només s’hauria de fixar el controlador RTC i el microcontrolador al recés.
He instal·lat la bateria RTC cap amunt per poder canviar-la fàcilment si cal.
Connecteu els cables de 5v al costat + del connector i la terra al costat -
Enceneu-lo!
Tinc el meu connectat a un banc de bateries USB, però un carregador de telèfon USB funcionaria igual de bé.
Nota:
La brillantor dels LED s’estableix al codi. S'ha definit com a mínim per mantenir el sorteig actual baix. Amb una lluminositat completa, amb tots els LEDs encesos, podria treure gairebé 8 amperes. Amb la configuració actual és inferior a 1.
Accèssit al concurs de rellotges
Recomanat:
Rellotge de jubilació / Compte enrere / Rellotge Dn: 4 passos (amb imatges)
Rellotge de jubilació / rellotge de compte enrere / dn: tenia algunes d'aquestes pantalles de matriu de punts LED de 8x8 al calaix i pensava què fer-ne. Inspirat en altres instruccions, vaig tenir la idea de crear un compte enrere / amunt per mostrar el compte enrere fins a una data / hora futura i si el temps objectiu p
Rellotge Vortex: un rellotge de polsera de mirall infinit: 10 passos (amb imatges)
Rellotge Vortex: un rellotge de polsera de mirall infinit: l’objectiu d’aquest projecte era crear una versió portable d’un rellotge de mirall infinit. Utilitza els seus LED RGB per indicar el temps assignant hores, minuts i segons a llums vermelles, verdes i blaves respectivament i superposant aquests tons t
C51 Rellotge electrònic de 4 bits - Rellotge de fusta: 15 passos (amb imatges)
Rellotge electrònic de 4 bits C51: rellotge de fusta: aquest cap de setmana tenia temps lliure, així que vaig avançar i vaig muntar aquest rellotge electrònic electrònic de 4 bits de 2,18 € que vaig comprar a AliExpress fa poc
Creació d'un rellotge a partir d'un rellotge: 11 passos (amb imatges)
Creació d’un rellotge a partir d’un rellotge: en aquest manual d’instruccions, agafo un rellotge existent i creo el que sento que és un rellotge millor. Anirem de la imatge de l’esquerra a la de la dreta. Abans de començar pel vostre propi rellotge, tingueu en compte que tornar a muntar pot ser un repte, ja que el piv
Converteix el rellotge ordinari de la llar en un rellotge brillant: 8 passos (amb imatges)
Converteix el rellotge ordinari de la llar en un rellotge autoreflexiu: PRIMER DON LES MOLTES GRÀCIES A L’EQUIP INSTRUCTABLES COM ELS MEUS DIES DE RECUPERACIÓ DE LA SALUT MÉS RESPONSIBLES … al rellotge que es fa brillar amb si mateix. > > Per fer això