Turinys:
Video: Paprastas, praktiškas „Arduino“chronometras: 4 žingsniai
2024 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2024-01-30 10:48
Ieškokite žiniatinklyje „Arduino“chronometro. Tikriausiai tai padarėte, jei esate čia. Iš asmeninės patirties galiu pasakyti, kad bet koks chronometras internete yra per daug sudėtingas (pagal kodą, pradedantiesiems), arba yra pernelyg supaprastintas ir nepraktiškas, kaip tie, kurie tik skaičiuoja sekundes nenustatydami iš naujo.
Tu irgi taip galvoji, ane? Na atspėk ką. Aš tai padariau, ir dar daugiau, aš tiesiogiai perimu savo funkciją iš milis () funkcijos- begalinės skaičių eilutės (iki 49 dienų ar bet ko). Geriausia dalis? Tai tik viena eilutė.
Iš naujo nustatyti yra tikroji chronometro dalis. Tarpiniai programuotojai, jei to dar nepadarėte, pabandykite tai padaryti patys, kartu su sekundėmis, minutėmis ir valandomis. Jūs suprasite, apie ką aš kalbu.
Pradedantiesiems skaitykite toliau ir mėgaukitės mano proto genijumi.
Tik juokauju, bet mano sugalvotas sprendimas yra gana tvarkingas. Štai kas tai yra:
1 žingsnis: sprendimas
Taigi problema atstatoma. Mes norime nenutrūkstamo, besikartojančio skaičių ciklo iš nesibaigiančio nuoseklių skaičių išėjimo (milis () - tai iš esmės skaičiuoja milisekundes arba iš tikrųjų 1,024 milisekundes, bet ką).
Pirmas dalykas, kuris ateina į galvą, yra skirtumo naudojimas, pvz., Laiko1 laikas2 ir vėlavimas. Pamiršk tai. Norint paleisti, reikia mažiausiai šešių kodo eilučių ir „if“pareiškimo.
Taigi štai kaip tai padaryti. Mes turime ribą (59). Norime, kad viskas nuo 0 iki 59 kartotųsi vėl ir vėl. Kaip?
Kas būtų, jei … mes paimtume likusią milisų funkcijos dalį, padalytą iš 59 … Bingo!
Taigi, turėtų būti taip:
(60 [kaip pradinė vertė, nes riba yra 59] + milis () / 1000 [1000 milisekundžių yra sekundė]) % 60
Gerai, paaiškinkime. (%) arba modulis, iš esmės yra toks operatorius kaip (+), kuris suranda likusią dalį. Kaip 9 % 2 = 1.
Taigi:
- likusi dalis (60 + 0) % 60 = 0
- likusi dalis (60 + 1) % 60 = 1
- likusi dalis (60 + 58) % 60 = 58
- likusi dalis (60 + 59) % 60 = 59
- likusi dalis (60 + 60) % 60 = 60
- likusi dalis (60 + 61) % 60 = 1
Pamatyti!
Dabar dėl dalių.
2 žingsnis: dalys
Nelabai, visai
- Bet koks arduino
- Bet koks ekranas (aš naudojau 0,96 colio OLED, bet galite naudoti viską, ką turite, tiesiog įsitikinkite, kad į ekrano rodymo funkcijas įtraukėte reikiamus kintamuosius.)
Viskas.
3 žingsnis: Kodas
Štai eik. Tai gana aiškiai komentuojama, todėl problemų neturėtų kilti. Bibliotekos ir 0,96 colio OLED inicialas yra kode. Pakeiskite jį savo ekranu, jei jis skiriasi.
// 0.96 OLED bibliotekos
#įtraukti
#įtraukti
#įtraukti
#įtraukti
// 0,96 OLED inic
#define OLED_RESET 4
„Adafruit_SSD1306“ekranas (OLED_RESET);
int sekundės;
int minutes;
int valandos;
void setup () {
// Dar šiek tiek 0,96 OLED Init
display.begin (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay (); display.setTextSize (2); display.setTextColor (BALTA); }
void loop () {
sekundės = (60 + milis () / 1000) % 60;
minutės = (60 + milis () / 60000) % 60; valandos = (25 + milis () / 3600000) % 25;
display.clearDisplay ();
display.setCursor (0, 22); // atspausdinti valandų skaičių nuo ekrano iš naujo nustatymo.print (valandos); display.print ("h:");
// spausdinti minučių skaičių nuo atstatymo
display.print (minutės);
display.print ("m:");
// atspausdinti sekundžių skaičių nuo ekrano iš naujo nustatymo.print (sekundės); display.print („s“);
display.setCursor (0, 0);
display.print („Chronometras“); display.drawLine (0, 18, 128, 18, BALTA); display.display ();
}
4 žingsnis: baigimas …
Taigi viskas! Dabar eik su juo daryti, ką nori. Skirkite laiko kiaušiniams arba perimkite savo kaimynystę.
Sveikinu, Aarush
Rekomenduojamas:
Praktiškas PIR namų naudojimui: 7 žingsniai (su paveikslėliais)
Praktinis PIR namų naudojimui: kaip ir daugelis iš jūsų, dirbančių su namų automatizavimo projektais, aš norėjau sukurti funkcionalų PIR jutiklį, skirtą automatizuoti kai kuriuos kampinius posūkius savo namuose. Nors šviesos jungiklio PIR jutikliai būtų buvę optimalūs, jūs negalite sulenkti kampo. Tai
Paprastas „CloudX M633“skaitmeninis chronometras: 4 žingsniai
Paprastas „CloudX M633“skaitmeninis chronometras: Šiame projekte mes ketiname sukurti skaitmeninio laikrodžio versiją, kuri gali įrašyti valandas, minutes ir sekundes, kaip chronometras jūsų mobiliajame telefone! Mes naudosime LCD, kad parodytume laiką
Praktiškas „Arduino ESP32“belaidžio sieninio lizdo LED juostos valdiklis: 6 žingsniai
Praktiškas „Arduino ESP32“belaidžio sieninio lizdo LED juostos valdiklis: Tai labai praktiškas „pasidaryk pats“belaidžio sieninio lizdo valdiklis, skirtas pigių LED juostų gamybai. Jis pakeičia pigius „WiFi“valdiklius, parduodamus „EBay“. Jie puikiai dera su RGB Led juostomis. „EBay Wifi“valdiklis nėra gerai sukonstruotas ir lengvai sugenda. Taip pat
Paprastas „Arduino“laikrodis / chronometras: 6 žingsniai (su nuotraukomis)
Paprastas „Arduino“laikrodis / chronometras: šis " nurodomas " parodys ir išmokys jus padaryti paprastą „Arduino Uno“laikrodį, kuris taip pat veikia kaip chronometras vos keliais paprastais veiksmais
Praktiškas LED apšvietimas linksmybėms ir pelnui: 4 žingsniai
Praktinis šviesos diodų apšvietimas pramogai ir naudai: pagaliau šviesos diodų efektyvumas (liumenai už vatą) pradėjo pranokti kompaktines fluorescencines lemputes (CFL), o tai reiškia, kad yra puikus metas pereiti nuo siaubingų šviesos diodų projektų prie tikro, praktiško LED namų apšvietimo. Šioje instrukcijoje pateikiamas metodas, kaip