Taula de continguts:
- Subministraments
- Pas 1: connecteu el circuit
- Pas 2: Preparació de la part del brunzidor
- Pas 3: Preparació del tauler LED
- Pas 4: Preparació del commutador (polsador en realitat)
- Pas 5: Preparació de la tira LED
- Pas 6: Preparació del sensor de capacitat
- Pas 7: Preparació de la font d'alimentació
- Pas 8: connectar-los a Arduino
- Pas 9: recinte
- Pas 10: temps de programació
- Pas 11: Mecanisme correctiu
- Pas 12: Com utilitzar totes les funcions
- Pas 13: Conclusió
- Pas 14: actualització: després d'una setmana d'ús
Vídeo: Rellotge despertador binari Arduino de bricolatge: 14 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:12
Torna a ser el clàssic rellotge binari. Però aquesta vegada amb una funció addicional encara més! En aquest instructiu, us mostraré com construir un despertador binari amb Arduino que us pugui mostrar no només l’hora, sinó la data, el mes, fins i tot amb funcions de temporitzador i alarma que també es poden utilitzar com a làmpada de nit. Sense més, comencem!
Nota: Aquest projecte no utilitza cap mòdul RTC, de manera que la precisió depèn de la placa que hàgiu fet servir. He inclòs un mecanisme corrector que corregirà la deriva del temps durant un període determinat de temps, però haureu d’experimentar per trobar el valor correcte per al període de temps (més informació a continuació), i fins i tot amb el mecanisme correctiu seguirà derivant durant molt de temps (en comparació amb sense un). Si algú està interessat, no dubteu a implementar l’ús del mòdul RTC en aquest projecte
Subministraments
LED de 5 mm (de qualsevol color, he utilitzat 13 LEDs blancs amb un LED RGB com a indicador) --- 14 unitats
Arduino Nano (pot ser que altres funcionin) --- 1 unitat
Microinterruptor --- 1 unitat
Peça petita de paper d'alumini
Tauler de muntatge (per al recinte, però no dubteu a dissenyar-ne el vostre)
Tros de paper blanc (o qualsevol altre color)
Alguna pel·lícula de plàstic (la que s’utilitza com a portada del llibre)
Un munt de cables
Zumbador --- 1 unid
Transistor NPN --- 1pc
Resistències 6k8 --- 14 unitats, 500R --- 1 unitat, 20R (10Rx2) --- 1 unitat, 4k7 --- 1 unid
Font d'alimentació per al projecte (he utilitzat bateria li-on)
Tira LED 5050 i un interruptor lliscant (opcional)
Pas 1: connecteu el circuit
Dividiré aquest pas en:
1) La part del brunzidor
2) El panell LED
3) L'interruptor (polsador)
4) tira LED
5) El sensor de capacitat
6) Font d'alimentació
7) Connecteu-los tots a Arduino
La majoria de les vegades, això és només un pas "segueix l'esquema". Mireu l’esquema anterior o fins i tot descarregueu-lo i imprimiu-lo.
Pas 2: Preparació de la part del brunzidor
Si ja heu utilitzat buzzer amb Arduino, sabreu que si el connectem directament a Arduino no serà prou fort. Per tant, necessitem un amplificador. Per construir l'amplificador, necessitem un transistor NPN (bàsicament qualsevol NPN funcionarà, he utilitzat S9013 perquè el vaig obtenir del projecte antic) i alguna resistència per limitar el corrent. Per començar, primer identifiqueu el col·lector, l’emissor i la base del transistor. Una mica de google del full de dades funcionarà. Després, soldeu el col·lector del transistor al terminal negatiu del brunzidor. Al terminal positiu del brunzidor, acabem de soldar-ne un tros de fil per poder soldar-lo al nostre Arduino més endavant. Després d'això, soldeu la resistència 500R (o qualsevol valor similar de resistència) a la base del transistor i, a partir de la resistència, soldeu un altre tros de filferro per a un ús futur. Finalment, soldeu les dues resistències 10R en sèrie amb l’emissor del transistor i connecteu un altre cable de les resistències.
Realment, consulteu l'esquema.
p / s: encara no sé com triar la resistència per al transistor en el moment d’escriure això. El valor que he utilitzat es selecciona empíricament.
Pas 3: Preparació del tauler LED
Connecteu els LEDs i la resistència a la placa de prototipatge en conseqüència i soldeu-los. Això és. Seguiu l'esquema. Per si us interessa l’espai que he utilitzat, hi ha 3 forats separats per a cada columna i dos forats separats per a cada fila (consulteu la imatge). I el LED indicador? L’he endollat a l’atzar.
Després de soldar els LED i la resistència a la placa, connecteu tots els terminals positius dels LED. Després, soldeu els cables un a un a cadascuna de les resistències als terminals negatius dels LED perquè puguem soldar-los a Arduino més endavant.
NOTA: Us podeu confondre aquest pas. Recordeu que en lloc de connectar tots els connectors de terra, connectem tots els terminals positius i negatius al pin individual d’Arduino. Per tant, fem servir el pin GPU Arduino com a terra, no Vcc. En cas que, si el connecteu accidentalment cap enrere, no us preocupeu. Podeu modificar tots els ALT a BAIX i BAIX a ALT a la funció ledcontrol.
Pas 4: Preparació del commutador (polsador en realitat)
Per a l’interruptor (l’anomenaré interruptor perquè he utilitzat un microinterruptor, però ja sabeu que és un polsador), necessitem una resistència desplegable 4k7 i, per descomptat, l’interruptor en si. Ah, no us oblideu de preparar alguns cables. Comenceu soldant la resistència i un tros de fil a la terra comuna (COM) del microinterruptor. A continuació, soldeu un altre tros de filferro al normalment obert (NO) del microinterruptor. Finalment, fixeu un altre cable a la resistència. Assegureu-lo amb una mica de cola calenta.
Racó del coneixement: per què necessitem una resistència desplegable?
"Si desconnecteu el pin d'E / S digital de tot, el LED pot parpellejar de manera erràtica. Això es deu al fet que l'entrada és" flotant ", és a dir, que tornarà aleatòriament ALTA o BAIXA. És per això que necessiteu un pull-up o resistència desplegable al circuit. " - Font: lloc web Arduino
Pas 5: Preparació de la tira LED
La tira LED és per a làmpada lateral del llit, que és opcional. Simplement connecteu la tira LED i l'interruptor lliscant junts en sèrie, res especial.
Pas 6: Preparació del sensor de capacitat
D'acord, consulteu la imatge. Bàsicament, anem a fixar el cable a un petit tros de paper d'alumini (perquè el paper d'alumini no es pot soldar) i, a continuació, enganxeu-lo en un tros petit de tauler de muntatge. Recordatori, assegureu-vos de no enganxar completament el paper d'alumini. Deixeu-ne alguns exposats per al contacte directe.
Pas 7: Preparació de la font d'alimentació
Com que he utilitzat la bateria li-on com a font d’alimentació, necessito un mòdul TP4056 per carregar i protegir, i un convertidor d’augment per convertir el voltatge a 9v. Si heu decidit utilitzar un adaptador de paret de 9 V, és possible que necessiteu una presa de corrent continu o simplement connecteu-la directament. Tingueu en compte que el valor de la resistència de l'amplificador és de 9V i, si voleu utilitzar una altra tensió, potser haureu de canviar la resistència.
Pas 8: connectar-los a Arduino
Seguiu l'esquema! Seguiu l'esquema! Seguiu l'esquema!
No connecteu el pin equivocat, ja que les coses seran estranyes.
Pas 9: recinte
La mida del meu disseny és de 6,5 cm * 6,5 cm * 8 cm, de manera que és una mica voluminosa. Consisteix en una finestra frontal per a pantalla LED i una finestra superior per a la làmpada de nit. Per al meu disseny, consulteu les imatges.
Pas 10: temps de programació
Descarregueu el meu esbós a continuació i pengeu-lo al vostre Arduino. Si no sabeu com fer-ho, no us molesteu a fer aquest projecte. No és broma, aquí teniu un bon tutorial: Pengeu esbossos a arduino
A continuació, obriu el monitor sèrie i hauríeu de veure com surt l'hora actual. Per definir l’hora, aquí teniu com fer-ho.
Per definir l’hora: h, XX, on xx és l’hora actual
Per definir el minut: min, XX - xx és el minut actual
Per definir el segon: s, XX
Per definir la data: d, XX
Per definir el mes: dilluns, XX
Quan s’executa el comentari anterior, us hauria de retornar el valor que acabeu d’establir. (Per exemple, quan definiu l'hora amb h, 15, hauria de tornar Hora: 15 al monitor sèrie.
Per al sensor de capacitat, és possible que hàgiu de calibrar-lo abans que funcioni. Per fer-ho, premeu el microinterruptor dues vegades i mireu el monitor sèrie. Hauria de generar un munt de números. Ara poseu el dit sobre el sensor de capacitat i vegeu prendre nota del rang del número. A continuació, modifiqueu la variable "captrigger". Suposem que obtingueu 20-30 quan es prem i, a continuació, configureu captrigger a 20.
L’esbós utilitza la biblioteca ADCTouch, assegureu-vos que l’heu instal·lat.
Pas 11: Mecanisme correctiu
El període de temps per al mecanisme correctiu del meu codi s’estableix en el que és més adequat per a mi. Si l'hora encara no és precisa, heu de canviar el valor de la variable "corrdur"
Ara el corrdur per defecte és 0 en la darrera actualització.
El valor de corrdur significa quants mil·lisegons es triga a frenar un segon
Per esbrinar el valor de corrdur, utilitzeu la fórmula:
2000 / (y-x) / x)
on x = durada real del temps transcorregut y = durada del temps transcorregut del rellotge, tots dos en segon
Per trobar el valor de x i y, heu de fer un petit experiment.
Estableix l’hora del rellotge a l’hora real i registra l’hora inicial (l’hora inicial real i l’hora inicial del rellotge haurien de ser iguals). Al cap d'una estona (poques hores), anoteu l'hora real final i l'hora final del rellotge.
x = hora final real-hora inicial i y = hora final del rellotge-hora inicial
A continuació, canvieu el valor de corrdur al codi i torneu a carregar-lo a l'Arduino.
A continuació, repetiu la prova i aquesta vegada la fórmula ha canviat a:
2000 / ((2 / z) + (y-x / x))
On x i y són el mateix que abans, mentre que z és el valor corrdur actual.
Torneu a carregar-la i feu la prova una i altra vegada fins que us sigui prou precisa.
Si el rellotge encara s’accelera, fins i tot corrdur està definit a 0 (vol dir que no hi ha cap mecanisme correctiu), heu de canviar el segon ++ a segon: a la part del codi del mecanisme correctiu (ho he comentat), configureu corrdur a 0, llavors trobeu el núm. de mil·lisegons es triga a accelerar un segon.
Pas 12: Com utilitzar totes les funcions
Podeu canviar de mode prement el microinterruptor.
Al primer mode, simplement mostra l'hora. Si el llum indicador parpelleja 1 cop per segon, l'alarma està desactivada. Si es fa 2 vegades per segon, l'alarma està activada. Podeu posposar l’alarma durant 10 minuts en el primer mode prement el sensor de capacitat.
En el segon mode, mostra la data. Prémer el sensor de capacitat no fa res.
En el tercer mode, podeu configurar el temporitzador. Si premeu el sensor de capacitat, s’encén el temporitzador i hauríeu de veure que el llum indicador començava a parpellejar. El sensor de capacitat també s’utilitza per configurar el temps del temporitzador. El rang del temporitzador és d’1 minut a 59 minuts.
En el quart mode, podeu configurar l’hora de l’alarma mitjançant el sensor de capacitat
En el cinquè mode, podeu configurar el minut d'alarma mitjançant el sensor de capacitat.
En el sisè mode, si premeu el sensor de capacitat es restablirà el minut a 30 i el segon a 0 sense canviar l'hora. Això significa que, sempre que el rellotge no vagi més de 30 minuts, podeu tornar-lo a calibrar mitjançant aquest mode.
El setè mode és el mode de no fer res en cas que el sensor de capacitat es produeixi un error quan es carrega.
Ah, per desactivar l'alarma, només cal prémer el microinterruptor. (ÚLTIMA ACTUALITZACIÓ PER INCLORAR ALARM SNOOZE)
Bé, què tal llegir el rellotge? És fàcil! Llegir el rellotge binari: Wikihow Al principi us podeu sentir estrany, però ja us en fareu servir!
Pas 13: Conclusió
Per què vaig començar aquest projecte. Inicialment és perquè tinc un rellotge digital antic que estic estirat i el vull convertir en un despertador. Malauradament, el rellotge antic es va trencar. Per tant, era com per què no en construïa un amb Arduino? Amb una mica de cerca a Google, he trobat aquest projecte de rellotge binari sense RTC a Cello62 instructable. Tot i això, no té la funció de despertador que vull, de manera que prenc el codi i el modifico jo mateix. I el projecte neix. A més, he vist que el concurs de rellotges funcionava de forma instructiva recentment, cosa que em va donar encara més motivació per fer-ho. De totes maneres, aquest és encara el meu primer projecte amb Arduino, així que un munt de possibles millores.
Millora futura:
1) Utilitzeu RTC
2) Configureu l'alarma o l'hora o el temporitzador sense fils.
3) Qualsevol característica que pensi
Pas 14: actualització: després d'una setmana d'ús
A part de l’evident problema: la deriva del temps, el següent diria que és el consum d’energia. Primer de tot, passo el voltatge fins a 9v, que després serà reduït pel regulador lineal a Arduino. El regulador lineal és molt poc eficient. El rellotge només dura un dia. Això significa que l’he de recarregar cada dia. Això no és l’oferta més gran fins que no us adoneu que tot el sistema només té un 50% d’eficiència. Tenint en compte que la meva bateria és de 2000 mAh, seria capaç de calcular la potència que es malgasta cada dia.
Potència desaprofitada = (7,4 Wh * 10%) + (7,4 Wh * 90% * 50%) = 4,07 Wh al dia
És a dir, 1.486kWh a l'any. Es pot fer servir per bullir, uh, 283 g d'aigua (des de 25 ° C fins a 100 ° C)? Però, de totes maneres, milloraré l’eficiència del rellotge. La manera de fer-ho és no fer servir en absolut el regulador lineal. Això significa que hem d’ajustar el convertidor d’impulsió a la sortida de 5V directament al pin de 5V d’Arduino. A continuació, per minimitzar encara més la potència malgastada, he de treure els dos LED de bord (pin13 i alimentació), ja que malgastaran 0,95 Wh al dia. Malauradament, no sóc absolutament capaç de soldar SMD, de manera que l'única manera de fer-ho és tallar el carril al tauler. Després d'això, he de treure la resistència de l'emissor del brunzidor i la làmpada de nit (la tira LED no funciona a 5V). Però vol dir que heu de renunciar a aquesta característica sorprenent? No! Aquí teniu dues opcions: feu servir el díode LED normal de 5 mm o feu servir una tira LED de 5 V. Però per a mi, ja em sentia cansat de fer aquest projecte durant tota la setmana passada, així que vaig decidir renunciar a aquesta funció. Tot i això, vaig utilitzar l’interruptor originalment per a la funció de llum per encendre o apagar el tauler del rellotge per estalviar encara més energia, però el LED parpelleja quan l’apago. S'ha convertit en un error? No ho sé (algú ho sap, si us plau digueu-ho a continuació).
Al final de la modificació, el rellotge dura més de 2 dies.
A continuació, tinc un problema menys greu amb el rellotge. Durant la càrrega, el sensor de capacitat es tornaria boig, de manera que afegeixo un altre mode que no fa res.
Pel que fa a la deriva del temps, ja que és molt incòmode connectar-lo a l'ordinador cada dia per restablir-lo, he afegit un altre mode que establirà el minut 30 a 30 i el segon a 0. Això vol dir que el podreu restablir a qualsevol hora i mitja.
Recomanat:
Rellotge despertador intel·ligent: un despertador intel·ligent fabricat amb Raspberry Pi: 10 passos (amb imatges)
Rellotge despertador intel·ligent: un rellotge despertador intel·ligent fet amb Raspberry Pi: Heu volgut mai un rellotge intel·ligent? Si és així, aquesta és la solució per a vosaltres. He creat Smart Alarm Clock (Rellotge despertador intel·ligent), aquest és un rellotge que permet canviar l’hora de l’alarma segons el lloc web. Quan l’alarma s’activi, hi haurà un so (brunzidor) i 2 llums
Rellotge despertador de bricolatge de sèsam (amb alarma de foc!): 6 passos (amb imatges)
Rellotge despertador DIY Sesame Street (amb alarma de foc!): Hola a tots! Aquest projecte és el meu primer. Com que arribava el primer aniversari dels meus cosins, volia fer-li un regal especial. Vaig saber de l'oncle i la tieta que estava a Sesame Street, així que vaig decidir amb els meus germans fer un despertador basat en
CALENDARI DE 5 $ PCB AMB RELLOTGE BINARI: 7 passos (amb imatges)
CALENDARI DE 5 $ PCB AMB RELLOTGE BINARI: Hola! Vaig fer aquest calendari PCB i rellotge binari amb Eagle CAD. Vaig fer servir ATMEGA328P MCU (d’Arduino) i matriu LED de 9x9. Les mides del tauler són de 8 cm x 10 cm (3,14 polzades x 3,34 polzades). És una mica massa petit, però primer: la versió gratuïta de Eagle CAD permet 80 cm ^ 2
Amplificador d'escriptori amb visualització d'àudio, rellotge binari i receptor FM: 8 passos (amb imatges)
Amplificador d'escriptori amb visualització d'àudio, rellotge binari i receptor FM: m'agraden els amplificadors i avui compartiré el meu amplificador d'escriptori de baixa potència que he fabricat recentment. L’amplificador que he dissenyat té algunes funcions interessants. Té un rellotge binari integrat i pot donar hora i data i pot visualitzar àudio sovint anomenat àudio
Rellotge despertador binari basat en Arduino: 13 passos (amb imatges)
Rellotge despertador basat en Arduino: Ei, avui voldria mostrar-vos com construir un dels meus darrers projectes, el meu despertador binari. Hi ha un munt de rellotges binaris diferents a Internet, però en realitat podria ser el primer, fet a partir d’una tira de LEDs adreçables de colors