Taula de continguts:
- Pas 1: Obteniu les vostres coses
- Pas 2: tallar el tauler frontal i posterior
- Pas 3: finalitzeu el tauler posterior
- Pas 4: feu el tauler LED
- Pas 5: feu una guia lleugera
- Pas 6: feu el marc del botó
- Pas 7: soldeu el PCB principal
- Pas 8: munteu el rellotge
- Pas 9: pengeu el codi i calibreu el sensor de llum
- Pas 10: Introducció ràpida al sistema binari
- Pas 11: utilitzar el despertador binari
- Pas 12: entendre el codi (opcional)
- Pas 13: Paraules finals
Vídeo: Rellotge despertador binari basat en Arduino: 13 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
Per Basement Engineering Segueix-ne més per l'autor:
Quant a: Hola, em dic Jan i sóc un fabricant, m'encanta construir i crear coses i també sóc molt bo en reparar coses. Com que puc pensar que sempre m'ha encantat crear coses noves i això és el que segueixo fent fins … Més informació sobre Enginyeria del soterrani »
Ei, avui m'agradaria 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, format per una tira de LEDs dirigibles de colors, que també compta amb una funció d’alarma i botons tàctils, per configurar coses com l’hora i el color.
No deixeu que el seu aspecte complicat us espanti. Amb una petita explicació, llegir binari no és tan difícil com sembla. I si esteu disposat a aprendre alguna cosa nova, m'agradaria ajudar-vos a fer-ho més endavant.
Permeteu-me que us expliqui una mica la història darrere d’aquest projecte:
Originalment tenia previst construir un rellotge "normal" que utilitzés LEDs com les seves agulles, però no tenia prou LEDs a mà.
Vaja, què fas quan vols mostrar l'hora amb el mínim de LED possible?
Vas binari, i això és exactament el que vaig fer aquí.
Aquest rellotge és la tercera versió d’aquest tipus. Vaig construir un prototip molt senzill just després que em va colpejar la idea del projecte i el vaig portar al Maker Faire de Hannover, per veure què en pensen la gent. Mentre hi era, vaig rebre molts comentaris molt positius i interessants, així com idees de millora.
El resultat de totes aquestes idees i hores de reflexió, manipulació i programació és aquest petit despertador d’aspecte força interessant, que té moltes més funcions que la versió 1.0 i avui anirem passant per cada pas del procés de construcció, de manera que pugueu construïu-ne un fàcilment.
També hi ha un vídeo molt detallat a Youtube, per si no voleu llegir-ho tot.
Pas 1: Obteniu les vostres coses
Aquí teniu una petita llista de tots els components i eines que necessitareu per construir el vostre propi rellotge binari.
Electrònica:
- 18 LEDs Ws2811 adreçables (per exemple, Neopíxels) en una tira amb 60 LEDs per m (ebay)
- Arduino Nano (amb processador ATMega328) (ebay)
- Mòdul RTC 1307 (ebay)
- 4 botons tàctils capacitius (ebay)
- Sensor de temperatura digital bs18b20 (ebay)
- LDR (ebay)
- altaveu portàtil / telèfon intel·ligent o brunzidor piezoelèctric
- 2222A transistor NPN (o alguna cosa similar)
- capçaleres masculines
- capçaleres femenines angulades (ebay)
- Resistència de 1kOhm
- Resistència de 4, 7kOhm
- Resistència de 10kOhm
- Filferros
- PCB de prototips de 7x5cm forats de 24x18 (ebay)
- fil de plata (fil de joieria) (ebay)
- Adaptador mini USB de 90 ° (ebay)
Altres materials
- Embolcall de vinil
- Cargols 4X 45mm m4 de brida (ebay)
- Rentadores de metall de 32X m4
- Femella de bloqueig 4X m4
- Femella de 28X m4
- 4 x 10 mm m3 llautó PCB separació (ebay)
- Cargol 8x 8mm m3 (ebay)
- xapa d'alumini
- Full de 2 mm d’acrílic lletós
- Full de 2 mm d’acrílic transparent
- Full de MDF de 3 mm
- cinta de doble cara
Eines
- mini cable USB
- ordinador que executa l'IDE Arduino
- Broca de 3, 5 mm
- Broca de 4, 5 mm
- trepant elèctric
- ganivet de tallar
- serra d’enfrontament
- ió de soldadura
- tisores de tall de metall
- dossier
- paper de sorra
Plantilles (ara amb dimensions)
- Libre Office Draw
Codi
- Esbossos
- Biblioteca de botons
- Biblioteca de temporitzadors
- Biblioteca Jukebox
- RTClib modificat
- Biblioteca Adafruit Neopixel
- Arduino-Library-Control-Temperature
Pas 2: tallar el tauler frontal i posterior
La primera peça que farem és el tauler frontal d’acrílic. Marquem cap a on volem que s’aconsegueixin els nostres talls, tot i que tenim en compte, que volem una mica de tolerància a la poliment. Després, simplement rasquem l’acrílic amb el nostre ganivet de tallar. Després d’haver-ho fet de 10 a 20 vegades, tenim una ranura. A continuació, podem col·locar aquest bosquet a la vora d’una taula i doblegar l’acrílic fins que es trenqui.
Després de tallar el tauler frontal a mida, retallem el tauler posterior d’un tros de MDF. Podem fer servir la nostra serra d’enfrontament, però també funciona un ganivet de tall. Només hem de fixar el MDF sobre un tros de fusta i raspar-lo amb el nostre ganivet de tall fins que la fulla passi i tinguem dues peces individuals.
Ara emparellem els dos panells junts i polim els costats per alinear-los perfectament.
Un cop fet això, retallem la primera plantilla i la posem als dos panells amb cinta adhesiva i comencem a foradar els forats marcats.
Primer fem un forat de 4, 5 mm a cadascuna de les 4 cantonades. Com que l’acrílic és molt trencadís i no volem que es trenqui, començarem amb una broca petita i anirem avançant fins arribar al diàmetre del forat desitjat. A continuació, fem servir la plantilla per polir les cantonades amb la forma adequada.
Pas 3: finalitzeu el tauler posterior
De moment, podem deixar de banda el tauler frontal i enganxar la segona plantilla al tauler posterior, on hem d’utilitzar una broca de 3, 5 mm per perforar els forats dels nostres separadors de 4 pcb, així com 4 forats que marquen les vores per a la petita finestra del darrere.
A continuació, fem servir la nostra serra per tallar la finestra i suavitzar les vores, amb una llima. Tampoc no us oblideu de foradar el cable mini USB (he sentit parlar d’un fabricant no tan centrat, que tendeix a fer aquestes coses: D).
Com que ja hem acabat de tallar el panell posterior, podem procedir a embolicar-lo amb vinil. Simplement tallem dues peces a la mida adequada i apliquem la primera a un costat. Després retallem les llandes i alliberem la finestra. Un assecador de cabells pot ajudar a fer visibles tots els forats, de manera que també els podem retallar. Després de fer el mateix per l'altre costat, fem servir la nostra següent plantilla i la nostra tècnica de rascar i trencar per fer la petita finestra acrílica per al nostre panell posterior.
Pas 4: feu el tauler LED
Ara arribem al moment més destacat d’aquest projecte, en el sentit més literal. El panell LED.
Utilitzem les nostres tisores de tall de metall per tallar una peça de 12, 2cm per 8cm d’una làmina de metall. Aneu amb compte mentre feu això, ja que les tisores creen vores molt esmolades. Els suavitzarem amb la nostra llima i una mica de paper de vidre. A continuació, afegim la nostra següent plantilla per foradar els cargols i els cables.
És hora de preparar els LED reals.
Primer, els tallem en tres tires de 6 LED cadascuna. Algunes de les tires LED vénen amb una capa adhesiva molt fina o sense adhesiu, de manera que enganxarem les nostres tires a un tros de cinta de doble cara i les tallarem a mida amb un ganivet. Això farà que s’enganxi a la placa metàl·lica i, tot i que no és una solució professional, aïllarà els coixinets de coure de la superfície metàl·lica que hi ha a sota.
Abans d’enganxar les tires al tauler, les netegem amb alcohol. Mentre connectem els LED, hem d’assegurar-nos que els posem al lloc adequat i a la direcció correcta. Les petites fletxes de la tira LED indiquen la direcció en què viatgen les dades a través de la tira.
Com podeu veure a la cinquena imatge, la nostra línia de dades prové de la cantonada superior esquerra del tauler, recorre la primera franja fins al costat dret, que torna al començament de la franja següent a l’esquerra, etc.. Per tant, totes les nostres fletxes han d’assenyalar cap al costat dret.
Escalfem el nostre ió de soldadura i posem una mica d’estany als coixinets de coure, així com al nostre filferro. Les línies de dades es connecten tal com acabo de descriure, mentre simplement enganxem els coixinets més i menys de la tira en paral·lel.
Després de connectar les tires, fem servir el nostre ganivet per aixecar amb cura els extrems de cada tira mentre mantenim els LED cap avall, de manera que encara apuntin cap amunt. A continuació, posem una mica de cola calenta a sota per aïllar les nostres juntes de soldadura.
Un cop fet això, afegim uns passadors de capçalera als cables que van al PCB. Aquests cables han de tenir uns 16 cm de llargada. Per estar més segurs que el panell metàl·lic no està en curt, fem servir un multímetre per mesurar la resistència entre tots els passadors. Si mostra alguna cosa superior a 1 kOhm, tot està bé.
Ara podem connectar-lo a un Arduino, fer un test de prova i gaudir dels colors.
Pas 5: feu una guia lleugera
Si col·loquem el nostre panell de leds just darrere de l’acrílic lletós, pot ser molt difícil distingir els LED individuals. Això farà que el nostre rellotge sigui encara més difícil de llegir del que ja ho és.
Per resoldre aquest problema, ens farem una petita guia lleugera. Per a això, simplement retallem una altra peça de MDF, que té la mateixa mida que el tauler frontal. A continuació, hi afegim una altra plantilla i perforem divuit forats de 3, 5 mm per als LED, així com quatre forats de 4, 5 mm per als cargols. A continuació, podem fixar-lo al tauler frontal i utilitzar una mica de paper de vidre per alinear-los.
Com podeu veure a la darrera imatge, la llum apareix molt més enfocada ara.
Pas 6: feu el marc del botó
L'últim component del recinte, que farem, és el marc del botó.
Nosaltres, de nou, tallem un tros de MDF a la mida adequada i hi afegim una plantilla, a continuació, perforem tots els forats necessaris i utilitzem la nostra serra per tal de tallar la secció central.
Se suposa que el nostre marc conté els 4 botons tàctils, el sensor de llum i el petit altaveu. Abans de poder fixar-los al marc, retallem un parell de peces de coberta més petites de MDF. A continuació, enganxem en calent els nostres components a aquestes cobertes i hi afegim cables.
Els coixinets d’alimentació del botó tàctil estan connectats en paral·lel, mentre que cada línia de sortida rep un cable individual. Aquest és també un bon moment per provar si tots treballen. Com que el sensor de llum necessita 5 volts per un costat, només podem connectar-lo als botons d'alarma VCC pad i soldar un cable a l'altra cama.
Després de preparar els panells, els tallem als costats del marc, per deixar lloc a ells i els seus cables.
A continuació, traiem la pols de fusta de totes les peces amb una aspiradora i les cobrim amb un embolcall de vinil.
Utilitzem el ganivet de precisió per eliminar trossos de vinil, directament per sobre de les zones sensibles dels nostres mòduls tàctils. Amb una cinta de doble cara, podem fixar els nostres propis botons al MDF. He fet els meus botons amb escuma de goma, que els dóna una textura suau i agradable, però podeu utilitzar qualsevol material no metàl·lic que vulgueu.
Al marc fem servir el nostre ganivet per alliberar una mica més del MDF, cosa que ens proporciona una superfície adherent per a la cola calenta. Després, finalment podem enganxar els components als costats del nostre marc.
Pas 7: soldeu el PCB principal
Deixem el marc tal com està ara i passem al PCB. Podeu veure el disseny del PCB a la primera imatge.
Comencem col·locant els components amb el perfil més baix a la placa de circuits. Els components més petits són els ponts de filferro, que recordava una mica massa tard, així que vaig començar amb les resistències. Soldem els components al seu lloc i passem al següent conjunt de components més alt.
A continuació, tenim els passadors de capçalera femenins. Per estalviar una mica d’espai i poder endollar els nostres aparells electrònics des del lateral, muntem els que estan en un angle de 90 graus.
Els transistors no s’adapten realment a l’interval de forats de 2, 54 mm del nostre PCB, de manera que utilitzem les nostres alicates per doblegar amb cura les seves potes a la forma, que es mostra a la segona imatge. Primer hem soldat una de les seves potes al seu lloc i donem la volta al PCB. A continuació, tornem a escalfar l’articulació de soldadura i fem servir el dit o una pinça per col·locar correctament el component. Ara podem soldar les altres dues potes al seu lloc.
Després de tots els components petits, hem soldat el nostre mòdul Arduino i el nostre mòdul de rellotge en temps real. El mòdul RTC tampoc s’adapta tan bé a la separació dels forats, de manera que només equiparem el lateral, que té 7 coixinets de soldadura amb passadors de capçalera. A més, col·loquem una cinta a sota, per evitar curtcircuits.
Com que tots els nostres components estan soldats al seu lloc, és hora de fer les connexions a l'altre costat de la placa. Per a això, traurem el nostre cable no aïllat. Es poden utilitzar unes alicates per redreçar-les. A continuació, tallem el filferro en trossos més petits i el soldem al PCB.
Per fer una connexió escalfem una unió de soldadura i inserim el cable. Seguidament hi mantenim l’ió de soldadura, fins que arriba a la temperatura adequada i la soldadura el tanca i obtenim una junta que s’assembla a la de la imatge. Si no escalfem el cable, podríem acabar amb una unió freda, que tindria un aspecte similar a l’altre exemple i no es comporta molt bé. Podem utilitzar el tallador de filferro per empènyer el fil cap avall mentre es solda i assegurar-nos que estigui pla al PCB. En camins de connexió més llargs, el soldem a un sol coixinet cada 5 a 6 forats fins arribar a una cantonada o al següent component.
En una cantonada, tallem el fil per sobre de la primera meitat d'un coixinet de soldar i li soldem l'extrem. Després agafem un tros de filferro nou i continuem d’allà en angle recte.
Fer aquestes connexions de cable en blanc és bastant complicat i requereix certa habilitat, de manera que, si ho feu per primera vegada, definitivament no és una mala idea practicar-lo en un PCB de rebuig, abans d’intentar fer-ho a l’autèntic.
Quan hàgim acabat de soldar, comprovem de nou les connexions i ens assegurem que no produïm cap curtcircuit. A continuació, podem col·locar el PCB dins del marc del botó i fer-lo servir com a referència per a les longituds de fil necessàries del marc. A continuació, tallem aquests cables a la longitud adequada i els hi afegim passadors de capçalera.
Totes les connexions de terra i 5V dels botons tàctils s’uneixen en un connector de 2 pins. Els 4 cables de sortida tenen un connector de 4 pins i la línia del sensor de llum, així com els dos cables de l’altaveu, es fusionen en un connector de tres pins. No us oblideu de marcar una cara de cada sòcol i connector amb una puntera o alguna cinta adhesiva, de manera que no els connecteu de manera equivocada.
Pas 8: munteu el rellotge
Després d'això, vaig tornar al tauler frontal i vaig aplicar amb cura un adhesiu, fet amb paper d'impressora làser transparent, com a toc final.
Tot i que l’he aplicat amb molta cura, no he pogut obtenir un resultat sense bombolles, que malauradament és clarament visible després d’una inspecció més detallada. La làmina tampoc s’enganxa molt bé a les cantonades, de manera que no puc recomanar aquesta solució.
Probablement es podria fer amb un adhesiu millor o, si esteu bé dibuixant, podeu afegir els números amb un sharpie.
Ara tenim tots els components i podem muntar el rellotge.
Comencem ajuntant la guia de la llum i el tauler frontal. Després d’haver entrat els 4 perns, alinearem els dos panells i, a continuació, els ajustarem. Un parell de fruits secs més tard arriba el panell de llum, on hem de fer una ullada a la direcció. El cable ha d’estar a la part superior.
La tercera peça, és el marc del botó. Tingueu en compte que, quan es mira des del costat frontal, l’altaveu ha d’estar al costat dret del rellotge. Estireu el cable del tauler led pel centre del marc abans de fixar-lo al seu lloc.
Ara col·loquem el conjunt frontal i passem al tauler posterior. A la imatge, també podeu veure el meu bell adaptador mini USB de 90 graus. Et vaig enllaçar un adaptador adequat, de manera que no hauràs de fer front a aquest tipus de desordre. Simplement podeu connectar l'adaptador i fer passar el cable per un forat del tauler posterior.
Agafem els cargols M3 i els separadors PCB per arreglar la petita finestra. És important estrènyer els cargols amb cura, ja que no volem danyar el nostre acrílic. Després agafem el PCB, endollem l’adaptador i el cargolem als separadors. El costat del component hauria d’estar orientat a la finestra, mentre que el port USB de l’Arduino està situat a la part inferior del rellotge.
A continuació, connectem tots els connectors del conjunt frontal, tot tenint en compte la polaritat i exprimim amb cura tots els cables al rellotge. A continuació, podem tancar-lo amb el tauler posterior i apretar les 4 femelles de bloqueig restants.
Al final, voleu tenir una rentadora a cada costat de cada panell, mentre que la guia de la llum es col·loca directament darrere del tauler frontal. Tenim una femella entre la guia de la llum i el panell led i dues més, que la separen del marc del botó. També es pot veure a la darrera imatge.
Com que utilitzava parabolts curts amb una longitud de 40 mm, només tinc 3 femelles que mantenen el panell posterior i el marc separats. Amb els perns de 45 mm adequats, hi afegiríeu una altra femella, així com una o dues volanderes addicionals. Al final del muntatge, tenim la rosca de bloqueig perquè tot quedi al seu lloc.
Pas 9: pengeu el codi i calibreu el sensor de llum
És hora de penjar el nostre codi.
Primer descarregem tots els fitxers necessaris i els descomprimim. A continuació, obrim la nostra carpeta de biblioteques Arduino i hi deixem totes les biblioteques noves.
Ara obrim l'esbós de calibratge del sensor de llum, que ens proporcionarà els valors brillants i foscos per a la funció de regulació automàtica del rellotge. La penjem, obrim el monitor sèrie i seguim les instruccions que apareixen a la pantalla.
Un cop fet això, obrim el codi real dels rellotges binaris i substituïm els dos valors pels que acabem de mesurar.
Tanquem la resta de finestres, penjem el codi al rellotge i ja hem acabat.
És hora de jugar amb el nostre nou gadget.
Pas 10: Introducció ràpida al sistema binari
Abans de continuar, voldria respondre a la pregunta que probablement ja us ha passat pel cap, "Com llegeixes aquest rellotge al món?"
Bé, per a això, voldria fer-vos una breu introducció al sistema binari.
Tots som familiars amb el sistema decimal, on cada dígit pot tenir 10 estats diferents, que van del 0 al 9. En binari, cada dígit només pot tenir dos estats, ja sigui 1 o 0, per això podeu utilitzar quelcom tan simple com mostra un número binari.
Per mostrar números que superen el 9 en decimal, afegim més dígits. Cada dígit inclou un determinat multiplicador. El primer dígit de la dreta ve amb un multiplicador d'1, el següent és 10 i el següent és 100. Amb cada nou dígit, el multiplicador és deu vegades més gran que el del dígit anterior. Sabem, doncs, que el número dos situat a un dígit a l’esquerra representa el número 20. Mentre que dos dígits a l’esquerra representen 200.
En el sistema binari, cada dígit també inclou un multiplicador. No obstant això, com que cada dígit només pot tenir dos estats diferents, cada multiplicador nou és dues vegades més gran que l'anterior. Ah, per cert, els dígits binaris s’anomenen bits. Donem una ullada al nostre primer exemple, si posem un 1 a la posició més baixa és un 1 simple, però si el situem a la següent posició superior, on el nostre multiplicador és 2, representa el número 2 en binari.
Què tal l’exemple una mica més complicat a la part inferior de la imatge. El tercer i el primer bits estan activats. Per obtenir el nombre decimal que es representa aquí, simplement afegim els valors dels dos bits. Per tant, 4 * 1 + 1 * 1 o 4 + 1 ens dóna el número 5.
Els 8 bits es coneixen com un byte, així que anem a veure quin número obtenim si omplim un byte sencer amb uns.1 + 2 + 4 + 8 + 16 + 32 + 64 + 128, és a dir, 255, que és el valor més alt que pot tenir un sol byte.
Per cert, mentre que al sistema decimal sempre apareix el dígit amb el multiplicador més alt, teniu dues maneres d’escriure un número en binari. Aquests dos mètodes s’anomenen el primer byte menys significatiu (LSB) i el primer byte més significatiu (MSB). Si voleu llegir un número binari, heu de saber quin dels dos formats s’utilitza. Com que està més a prop del sistema decimal, el nostre rellotge binari utilitza la variant MSB.
Tornem al nostre exemple del món real. Com es ressalta a la sisena imatge, el nostre rellotge té 4 bits per mostrar l’hora. Tenim 6 bits per minut i també 6 bits per al segon. A més, tenim un sol bit am / pm.
Molt bé, digueu-me quina hora és a la 6a imatge que passar a la darrera.. ….
a la secció horària tenim 2 + 1 que és 3 i el bit pm està activat, de manera que és de nit. Després, el minut 32 + 8, és a dir, 40. Per als segons tenim 8 + 4 + 2, que és 14. Per tant, són les 3:40:14 pm o les 15:40:14.
Enhorabona, acabeu d'aprendre a llegir un rellotge binari. Per descomptat, es necessita una mica d’acostumació i al principi hauràs de sumar els números, cada vegada que vulguis saber quina hora és, però de manera similar a un rellotge analògic sense esfera, t’acostumes als patrons dels LED temps.
I això és part del que tracta aquest projecte: portar una cosa tan abstracta com el sistema binari al món real i conèixer-lo millor.
Pas 11: utilitzar el despertador binari
Ara per fi volem jugar amb el rellotge, així que fem una ullada ràpida als controls.
El programari pot distingir entre un toc de botó, un toc doble i un toc llarg. Per tant, cada botó es pot utilitzar per fer diverses accions.
Un doble toc al botó amunt o avall canvia el mode de color del LED. Podeu triar entre diferents modes de color estàtics i de decoloració, així com un mode de temperatura. Si esteu en un dels modes de color estàtics, si manteniu premut el botó amunt o avall canvieu el color. En un mode de decoloració, un sol toc altera la velocitat de les animacions.
Per configurar el mode d’atenuació, toqueu dues vegades el botó d’acord. El tauler LED indica el mode configurat parpellejant diverses vegades.
- Una vegada significa que no hi ha més atenuador.
- Dues vegades significa que la brillantor està controlada pel sensor de llum.
- Tres vegades i els LED s’apagaran automàticament després de 10 segons d’inactivitat.
- Es combinen quatre vegades i ambdós modes dimmer.
Si premeu molt de temps el botó d’accés, passareu al mode d’ajust d’hora, on podeu utilitzar les fletxes amunt i avall per modificar el número. Un sol toc al botó OK us permet passar de les hores als minuts, un toc més i podeu configurar els segons. Després d’això, un darrer toc estalvia el nou temps. Si accediu al mode de configuració de l'hora, podeu esperar 10 segons i el rellotge el deixarà automàticament.
Igual que amb el botó d’acord, si premeu llargament el botó d’alarma us permetrà configurar l’alarma. Feu doble toc al botó d'alarma per activar o desactivar l'alarma.
Si el rellotge sona, només cal que toqueu el botó d'alarma per enviar-lo a dormir durant 5 minuts o mantenir-lo premut per desactivar l'alarma.
Aquestes eren totes les funcions que té el rellotge fins ara. Podria afegir-ne més en el futur si en descarregueu la versió més recent.
Pas 12: entendre el codi (opcional)
Sé que a molta gent no li agrada molt programar. Per sort per a aquestes persones, gairebé no es requereixen coneixements de programació per construir i utilitzar aquest rellotge binari. Per tant, si no us importa la part de la programació, simplement podeu saltar-vos aquest pas.
Tanmateix, si us interessa la part de codificació, voldria fer-vos una visió general del programa.
Explicar tots els petits detalls del codi dels rellotges seria una instrucció pròpia, de manera que ho faré senzill explicant el programa de manera orientada a objectes.
Per si no sabeu què significa això, la programació orientada a objectes (OOP) és un concepte dels llenguatges de programació més moderns com C ++. Permet organitzar diferents funcions i variables en les anomenades classes. Una classe és una plantilla a partir de la qual podeu crear un o diversos objectes. Cadascun d’aquests objectes rep un nom i el seu propi conjunt de variables.
Per exemple, el codi del rellotge utilitza un parell d’objectes MultiTouchButton, com ara alarmButton. Aquests són objectes de la classe MultiTouchButton, que forma part de la meva biblioteca de botons. El més interessant d’aquests objectes és que podeu interactuar amb ells de manera similar als objectes del món real. Per exemple, podem comprovar si s’ha fet doble toc al botó d’alarma trucant a alarmButton.wasDoubleTapped (). A més, la implementació d’aquesta funció queda ben amagada en un fitxer diferent i no ens hem de preocupar de trencar-la canviant res més al nostre codi. Podeu trobar una entrada ràpida al món de la programació orientada a objectes al lloc web d'Adafruit.
Com podeu veure al gràfic anterior, el programa de rellotges té un munt d’objectes diferents.
Acabem de parlar dels objectes de botó, que poden interpretar els senyals d’entrada com un toc, un doble toc o una pulsació llarga.
El jukebox, com el seu nom indica, pot fer soroll. Té diverses melodies que es poden reproduir a través d’un petit altaveu.
L'objecte binaryClock gestiona el temps i la configuració de l'alarma, així com la vigilància de l'alarma. A més, obté el temps del mòdul RTC i el converteix en un buffer d'informació binària per al ledPanel.
El colorController encapsula totes les funcions d’efecte de color i proporciona el colorBuffer per al ledPanel. També guarda el seu estat a l’Arduinos EEProm.
El regulador de llum es fa càrrec de la brillantor dels rellotges. Té diferents modes que l’usuari pot recórrer. El mode actual també es desa a EEProm.
El ledPanel gestiona diferents memòries intermèdies pel valor del color, el valor de brillantor i l’estat binari de cada LED. Sempre que es crida a la funció pushToStrip (), les recobreix i les envia a la tira LED.
Tots els objectes estan "connectats" a través del main (el fitxer amb les funcions de configuració i bucle), que només inclou un parell de funcions per realitzar 3 tasques essencials.
- Interpretació de l'entrada de l'usuari: obté l'entrada dels objectes de 4 botons i els posa a través d'una lògica. Aquesta lògica comprova l'estat actual del rellotge per determinar, si el rellotge està en mode normal, de configuració horària o de trucada, i convoca diferents funcions dels altres objectes en conseqüència.
- Gestió de la comunicació entre objectes: pregunta constantment a l’objecte binaryClock si té informació nova disponible o si l’alarma està sonant (). Si té informació nova, obté l’informacióBuffer del binaryClock i l’envia a l’objecte ledPanel. Si el rellotge sona, s'engega la caixa de discos.
- Actualització d'objectes: cadascun dels objectes del programa té un procediment d'actualització que s'utilitza per a coses com ara comprovar entrades o canviar els colors del LED. Cal que es cridi repetidament a la funció de bucle perquè el rellotge funcioni correctament.
Això us ha de proporcionar una comprensió general de com funcionen conjuntament les peces de codi individuals. Si teniu preguntes més específiques, simplement em podeu fer una pregunta.
Com que el meu Codi és definitivament lluny de ser perfecte, el milloraré encara més en el futur, de manera que algunes funcions poden canviar. El més interessant d’OOP és que encara funcionarà d’una manera molt similar i que encara podeu utilitzar el gràfic per entendre-ho.
Pas 13: Paraules finals
M'alegro que hagis seguit llegint fins a aquest punt. Això vol dir que el meu projecte no era massa avorrit:).
Vaig dedicar molta feina a aquest petit rellotge i, encara més, a tota la documentació i el vídeo, per facilitar-vos la creació del vostre propi despertador binari. Espero que el meu esforç hagi valgut la pena i pugui connectar-vos amb una gran idea per al vostre proper cap de setmana o, almenys, inspirar-vos.
M'encantaria escoltar què en penses sobre el rellotge als comentaris següents:).
Tot i que he intentat cobrir tots els detalls, potser m’hauria perdut una cosa o dues. Així que no dubteu a fer-ho, si queda alguna pregunta.
Com sempre, moltes gràcies per llegir i fer feliços.
Accèssit al concurs LED 2017
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 binari Arduino de bricolatge: 14 passos (amb imatges)
Rellotge despertador binari Arduino de bricolatge: 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 temporitzador i diversió d'alarma
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 binari amb neopíxels: 6 passos (amb imatges)
Rellotge binari amb Neopíxels: Hola gent, m'encanten totes les coses relacionades amb el LED i també m'agrada fer-ne ús de diferents maneres interessants. Sí, sé que el rellotge binari s'ha fet aquí diverses vegades i cadascun d'ells és un excel·lent exemple de com crea el teu propi rellotge. Realment m'agrada