Cuprins:
Video: Un cronometru Arduino simplu, practic: 4 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Căutați pe web cronometrul Arduino. Probabil că tocmai ai făcut-o, dacă ești aici. Din experiența personală, vă pot spune că orice cronometru de pe internet este prea complex (în cod, pentru începători), sau este mult prea simplificat și nu este practic, precum cele care continuă să numere secunde fără resetare.
Și tu crezi așa, nu? Ei bine, ghici ce. Am făcut-o și, în plus, îmi iau direct inputul din funcția millis () - o linie nesfârșită de numere (până la 49 de zile sau orice altceva). Cea mai bună parte? Este doar o singură linie.
Resetarea este partea reală a cronometruului. Pentru programatorii intermediari, dacă nu ați făcut-o deja, continuați și încercați să faceți acest lucru singur, cu secunde, minute și ore împreună. Vei primi despre ce vorbesc.
Pentru începători, citiți mai departe și bucurați-vă de geniul minții mele.
Glumesc, dar soluția cu care am venit este destul de îngrijită. Iată ce este:
Pasul 1: Soluția
Deci problema este resetarea. Ceea ce ne dorim este un ciclu continuu, care se repetă de numere, dintr-o ieșire nesfârșită de numere secvențiale (milis () - contează practic milisecunde, sau de fapt 1.024 milisecunde, dar orice).
Primul lucru care îmi vine în minte este utilizarea diferenței, cum ar fi time1 -time2 și o întârziere. Uită asta. Este nevoie de cel puțin șase linii de cod și o declarație if pentru a porni.
Deci, iată cum să o faceți. Avem o limită (59). Vrem ca totul de la 0 la 59 să se repete mereu. Cum?
Ce se întâmplă dacă … am prelua restul … din funcția de milis împărțit la 59 … Bingo!
Deci, ar trebui să fie așa:
(60 [ca valoare inițială deoarece limita este 59] + milis () / 1000 [1000 milisecunde este o secundă])% 60
Bine, explică-mă. (%) sau modul, este practic un operator ca (+) care găsește restul. Ca 9% 2 = 1.
Asa de:
- restul de (60 + 0)% 60 = 0
- restul de (60 + 1)% 60 = 1
- restul de (60 + 58)% 60 = 58
- restul de (60 + 59)% 60 = 59
- restul de (60 + 60)% 60 = 60
- restul de (60 + 61)% 60 = 1
Vedea!
Acum, pentru piese.
Pasul 2: piesele
Nu mult, deloc
- Orice arduino
-
Orice afișaj (am folosit OLED de 0,96 , dar puteți utiliza orice aveți, asigurați-vă că introduceți variabilele potrivite în funcțiile de afișare ale afișajului dvs.)
Asta e.
Pasul 3: Codul
Iată-te. Este destul de clar comentat, deci nu ar trebui să existe probleme. Bibliotecile și init pentru OLED de 0,96 se află în cod. Înlocuiți-l cu ecranul dvs., dacă este diferit.
// Biblioteci OLED de 0,96"
#include
#include
#include
#include
// 0,96 OLED Init
#define OLED_RESET 4
Display Adafruit_SSD1306 (OLED_RESET);
secunde int;
minute int;
orele int;
configurare nulă () {
// Unele mai mult 0,96 OLED Init
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay (); display.setTextSize (2); display.setTextColor (ALB); }
bucla nulă () {
secunde = (60 + milis () / 1000)% 60;
minute = (60 + milis () / 60000)% 60; ore = (25 + milis () / 3600000)% 25;
display.clearDisplay ();
display.setCursor (0, 22); // imprimați numărul de ore de la resetare display.print (ore); display.print ("h:");
// tipăriți numărul de minute de la resetare
display.print (minute);
display.print ("m:");
// imprimați numărul de secunde de la resetarea display.print (secunde); display.print ("s");
display.setCursor (0, 0);
display.print ("Cronometru"); display.drawLine (0, 18, 128, 18, WHITE); display.display ();
}
Pasul 4: În finalizare …
Deci asta este! Acum du-te să faci ce vrei cu el. Cronometrează câteva ouă sau preia cartierul tău.
Noroc, Aarush
Recomandat:
PIR practic pentru uz casnic: 7 pași (cu imagini)
PIR practic pentru uz casnic: La fel ca mulți dintre voi care lucrează cu proiecte de automatizare a casei, am căutat să construiesc un senzor PIR funcțional pentru automatizarea unor viraje de colț în propria mea casă. Deși senzorii PIR ai comutatorului de lumină ar fi fost optimi, nu puteți îndoi un colț. Thi
Cronometru digital simplu CloudX M633: 4 pași
Cronometru digital simplu CloudX M633: În acest proiect, vom realiza o versiune a unui ceas digital care poate păstra o evidență a orelor, minutelor și secundelor, la fel ca un cronometru de pe telefonul dvs. mobil! Vom folosi un ecran LCD pentru a afișa ora
Lupta împotriva Coronavirusului: Cronometru simplu pentru spălarea mâinilor: 8 pași (cu imagini)
Lupta împotriva Coronavirusului: Cronometru simplu pentru spălarea mâinilor: Odată cu actuala pandemie din lume, situația pare destul de înfricoșătoare. Virusul Corona ar putea fi oriunde. Din câte știm, s-ar putea transporta virusul timp de câteva zile, fără a prezenta nici măcar simptome. Înfricoșător într-adevăr, dar hei, nu te speria prea mult
Practic Controller de bandă cu LED-uri wireless Arduino ESP32 cu priză de perete: 6 pași
Controler practic cu bandă LED Arduino ESP32 cu priză de perete fără fir: Acesta este un controler de priză de perete fără fir DIY foarte practic pentru benzi LED cu cost redus. Înlocuiește controlerele wifi ieftine vândute pe eBay. Funcționează bine cu benzi LED RGB. Controlerul EBay Wifi nu este bine construit și se rupe ușor. Als
Ceas / Cronometru Arduino simplu: 6 pași (cu imagini)
Ceas / Cronometru Arduino simplu: Acest „instructabil” vă va arăta și vă va învăța cum să creați un ceas Arduino Uno simplu, care acționează și ca cronometru în doar câțiva pași simpli