Taula de continguts:

Rellotge Arduino Matrix: 6 passos
Rellotge Arduino Matrix: 6 passos

Vídeo: Rellotge Arduino Matrix: 6 passos

Vídeo: Rellotge Arduino Matrix: 6 passos
Vídeo: Dot matrix clock with sliding display 2024, Desembre
Anonim
Rellotge Arduino Matrix
Rellotge Arduino Matrix

Descripció:

Construïu el rellotge amb un Arduino, una pantalla de matriu i un mòdul de Rellotge en temps real (RTC). Aquest és un projecte senzill i divertit que em sembla ideal per a principiants. El rellotge utilitza el mòdul RTC per fer un seguiment precís de l’hora i del dia, el mes i l’any. A més, el mòdul té un sensor de temperatura incorporat. Podeu obtenir més informació sobre el mòdul DS3231 aquí i sobre el bus de comunicació I2C utilitzat aquí. Per últim, utilitzarem una pantalla de matriu de punts per, per descomptat, mostrar l’hora, el dia de la setmana, el mes, etc. Podeu obtenir més informació sobre la pantalla aquí i el controlador IC MAX7219 al full de dades següent.

També podeu descarregar la versió pdf d’aquest projecte aquí. És pràcticament el mateix que aquest instructiu.

[ACTUALITZACIÓ: 22/02/19] No utilitzeu la guia pdf, he actualitzat aquesta instrucció però aquests canvis encara no es reflecteixen al pdf.

Pas 1: reuniu components

Els components que necessiteu per a aquest projecte:

  • Pantalla de matriu de punts Max7219 [Comprar aquí] [Full de dades]
  • RTC DS3231 [Comprar aquí] [Full de dades]
  • Bateria CR3032 de 3V (per DS3231)

A més, necessitareu un Arduino de qualsevol tipus (preferiblement un Nano per minimitzar la mida del projecte), una placa de connexió, cables de pont i l’IDE Arduino instal·lat al vostre PC.

Pas 2: biblioteques

Biblioteques
Biblioteques

Descarregueu les biblioteques següents i instal·leu el fitxer.zip a l'IDE d'Arduino anant a Sketch> Inclou biblioteca> Afegeix biblioteca. Zip

NOTA: LES VERSIONS IMPORTAN !

* Verifiqueu que teniu les versions correctes abans de descarregar-les. Recomanaria descarregar cada biblioteca dins de l'IDE Arduino per estar al punt segur.

MD_Parola 3.0.1:

MD_MAX72XX 3.0.2:

DS3231 1.0.2:

Alternativament, A l’IDE Arduino, aneu a Sketch> Inclou biblioteca> Gestiona biblioteques i, a la barra de cerca, escriviu “MAX72XX” i hauríeu de veure el següent (veure imatge):

Instal·leu només MD_MAX72XX i MD_Parola. MD_MAXPanel NO és necessari.

Pas 3: proveu els components

Després d’instal·lar les biblioteques, proveu els components individualment per assegurar-vos que funcionen com haurien de fer-ho. Seguiu aquests passos abans de connectar-ho tot junt

Per provar el mòdul RTC DS3231, connecteu el DS3231 a l'Arduino (vegeu el cablejat més avall). A continuació, a l’IDE Arduino, aneu a Fitxers> Exemples> DS3231> DS3231_Test i pengeu l’esbós. Obriu el monitor de sèrie i comproveu que obteniu la data, l’hora i el dia correctes.etc.

Per provar la pantalla de la matriu, primer connecteu-la a l'Arduino (vegeu el cablejat més avall). A continuació, a l'IDE Arduino, aneu a Fitxers> Exemples> MD_Parola> Parola_HelloWorld i pengeu l'esbós. Hauríeu de veure HELLO imprès a la pantalla i es pot imprimir cap enrere o no. Si el text és cap enrere, heu de canviar la línia següent:

#define HARDWARE_TYPE MD_MAX72XX:: PAROLA_HW

Per a

#define HARDWARE_TYPE MD_MAX72XX:: FC16_HW

Torneu a penjar l'esbós i el problema s'hauria de resoldre.

Ara que hem provat els nostres components, estem preparats per connectar-ho tot.

Pas 4: cablejat

Cablejat
Cablejat
Cablejat
Cablejat
Cablejat
Cablejat

Consulteu l'esquema o l'esquema o la taula

Pas 5: CODI

Obteniu el codi aquí

Nota: He utilitzat un codi originalment per Electronic Projects, però el vaig modificar per donar suport a les biblioteques actuals (en el moment de finalitzar-les).

Característiques del rellotge:

El rellotge es configura automàticament per indicar l’hora en format 24 hores, però es pot canviar fàcilment a 12 hores. El rellotge també mostrarà la temperatura (tant en centígrads com en Fahrenheit). També he inclòs una funció anomenada "Mode de repòs" que està configurada a "DESACTIVAT" (per obtenir més informació, consulteu el mode de repòs a continuació).

Format de 12 hores: per configurar el rellotge perquè indiqui l’hora en format de 12 hores, haureu de comentar la línia 88

hora = Clock.gethour (h12, PM); // Format 24 h

I descomenteu les línies 93 a 100

if (Clock.getHour (h12, PM)> = 13 || Clock.getHour (h12, PM) == 0)

{h = Clock.getHour (12, PM) - 12; } else {h = Clock.getHour (h12, PM); }

Mode de repòs:

Aquesta és una característica que ajuda a reduir la brillantor del rellotge, especialment durant les hores en què dormim. No crec que vulgueu despertar-vos a mitja nit i encegats per aquest rellotge. És molt brillant fins i tot quan es troba a la configuració més baixa. Per activar el mode de repòs, descomenteu les línies 177 a 184

if (h == 12 || h <8) // Intervals de temps (en aquest cas, de les 12:00 a les 08:00) {P.setIntensity (0); // Estableix la brillantor de la pantalla a la configuració més baixa} else {P.setIntensity (6); // Estableix la brillantor de la pantalla a 6 (15 és la més brillant)}

Nota: He trobat un problema en utilitzar el mode de repòs mentre el rellotge està configurat en mode de 12 hores. Notareu que funcionarà dues vegades al dia, ja que les vuit i les vuit del vespre s’interpreten com a 8. Per tant, si configureu el mode de repòs perquè estigui actiu de 9 a 7 del matí, també estarà actiu de 9 a 19 hores. Tanmateix, aquest problema no es produeix si el rellotge està configurat en mode 24 hores.

Pas 6: Conclusió

Felicitats!!! Teniu un rellotge de treball. Així va resultar el meu [Galeria de rellotges]. Espero que no només hàgiu après una mica més sobre components i codificació, sinó que gaudiu del viatge arribant fins allà. Comparteix amb mi les teves opinions sobre aquesta guia a [email protected]. Aquesta és, de fet, la meva primera guia del projecte i espero que us sigui útil. Espero crear moltes més guies. A més, si teniu cap pregunta, suggeriment i / o millora del projecte, no dubteu a enviar-me un missatge.

Recomanat: