Taula de continguts:

Un cronòmetre Arduino senzill i pràctic: 4 passos
Un cronòmetre Arduino senzill i pràctic: 4 passos

Vídeo: Un cronòmetre Arduino senzill i pràctic: 4 passos

Vídeo: Un cronòmetre Arduino senzill i pràctic: 4 passos
Vídeo: Глобальные тренды 2020 — от Agile до IoT / Java Tech Talk 2024, De novembre
Anonim
Un cronòmetre Arduino senzill i pràctic
Un cronòmetre Arduino senzill i pràctic

Cerqueu al web el cronòmetre Arduino. Probablement l’acabareu de fer, si sou aquí. Per experiència personal, us puc dir que qualsevol cronòmetre a Internet és massa complex (en codi, per a principiants) o és massa simplificat i no és pràctic, com els que segueixen comptant segons sense restablir.

Tu també ho creus, eh? Doncs endevineu què. Ho vaig fer i, a més, prenc directament la meva aportació de la funció millis (), una línia de números interminable (fins a 49 dies, o el que sigui). La millor part? És només una línia.

El restabliment és la part dura real del cronòmetre. Per als programadors intermedis, si encara no ho heu fet, continueu i proveu de fer-ho vosaltres mateixos, amb segons, minuts i hores junts. Obtindràs del que estic parlant.

Per als principiants, segueix llegint i gaudeix del geni de la meva ment.

És una broma, però la solució que vaig trobar és bastant ordenada. Això és el que és:

Pas 1: la solució

La solució
La solució

Per tant, el problema és restablir. El que volem és un cicle continu de nombres que es repeteixi, a partir d’una sortida interminable de nombres seqüencials (mil·lis (), bàsicament compta mil·lisegons o, en realitat, 1.024 mil·lisegons, però el que sigui).

El primer que ens ve al cap és fer servir la diferència, com ara time1 -time2 i un retard. Oblida-ho. Cal arrencar almenys sis línies de codi i una sentència if per arrencar.

Així que aquí teniu com fer-ho. Tenim un límit (59). Volem que tot del 0 al 59 es repeteixi una vegada i una altra. Com?

I si … agaféssim la resta … de la funció millis dividida per 59 … Bingo!

Per tant, hauria de ser així:

(60 [com a valor inicial perquè el límit és de 59] + mil·lis () / 1000 [1000 mil·lisegons és un segon])% 60

D'acord, em explico. (%) o mòdul, és bàsicament un operador com (+) que troba la resta. Com el 9% 2 = 1.

Tan:

  • resta de (60 + 0)% 60 = 0
  • resta de (60 + 1)% 60 = 1
  • resta de (60 + 58)% 60 = 58
  • resta de (60 + 59)% 60 = 59
  • resta de (60 + 60)% 60 = 60
  • resta de (60 + 61)% 60 = 1

Mireu!

Ara, per les parts.

Pas 2: les parts

Les Parts
Les Parts

No gaire, en absolut

  1. Qualsevol arduino
  2. Qualsevol pantalla (he utilitzat el OLED de 0,96 , però podeu fer servir el que tingueu, només cal que assegureu-vos de posar les variables adequades a les funcions de visualització de la vostra pantalla).

Això és.

Pas 3: el codi

Aquí va. Està ben comentat, de manera que no hi hauria d’haver problemes. Les biblioteques i init per a OLED de 0,96 es troben al codi. Substituïu-lo per la vostra pròpia pantalla si és diferent.

// Biblioteques OLED de 0,96"

#incloure

#incloure

#incloure

#incloure

// Iniciat OLED de 0,96"

#define OLED_RESET 4

Pantalla Adafruit_SSD1306 (OLED_RESET);

segons segons;

minuts int;

hores int;

configuració nul·la () {

// Alguns més 0.96 OLED Init

display.begin (SSD1306_SWITCHCAPVCC, 0x3C);

display.clearDisplay (); display.setTextSize (2); display.setTextColor (BLANC); }

bucle buit () {

segons = (60 + mil·lis () / 1000)% 60;

minuts = (60 + mil·lis () / 60000)% 60; hores = (25 + mil·lis () / 3600000)% 25;

display.clearDisplay ();

display.setCursor (0, 22); // imprimeix el nombre d'hores des que s'ha restablert display.print (hores); display.print ("h:");

// imprimeix el nombre de minuts des del reinici

display.print (minuts);

display.print ("m:");

// imprimeix el nombre de segons des que s'ha restablert display.print (segons); display.print ("s");

display.setCursor (0, 0);

display.print ("Cronòmetre"); display.drawLine (0, 18, 128, 18, BLANC); display.display ();

}

Pas 4: En finalització …

En Finalment …
En Finalment …

Així que ja està! Ara vés a fer el que vulguis amb ell. Temps alguns ous, o prendre el seu barri.

Ànims, Aarush

Recomanat: