Indholdsfortegnelse:
Video: Et enkelt, praktisk Arduino stopur: 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Søg på internettet efter Arduino stopur. Du har sikkert bare gjort det, hvis du er her. Fra personlig erfaring kan jeg fortælle dig, at ethvert stopur på internettet enten er for komplekst (i kode, for begyndere), eller er alt for forenklet og ikke praktisk, som dem, der bare bliver ved med at tælle sekunder uden at nulstille.
Det tror du også, ikke? Tænk hvad. Jeg gjorde det, og hvad mere er, jeg tager direkte mit input fra millis () -funktionen- en endeløs række af tal (indtil 49 dage eller hvad som helst). Den bedste del? Det er kun en linje.
Nulstilling er den egentlige hårde del af stopuret. For mellemliggende programmerere, hvis du ikke allerede har gjort det, kan du prøve at gøre dette selv med sekunder, minutter og timer sammen. Du får hvad jeg taler om.
For begyndere, læs videre og svæl i mit sinds geni.
Bare sjov, men den løsning jeg fandt på er ret pæn. Her er hvad det er:
Trin 1: Løsningen
Så problemet er nulstilling. Det, vi ønsker, er en kontinuerlig, gentagende cyklus af tal, fra en endeløs produktion af sekventielle tal (millis () - det tæller dybest set millisekunder eller faktisk 1.024 millisekunder, men uanset hvad).
Den første ting, der kommer til at tænke på, er at bruge forskel, som time1 -time2 og en forsinkelse. Glem det. Det tager mindst seks linjer med kode og en if -sætning for at starte.
Så her er hvordan man gør det. Vi har en grænse (59). Vi vil have alt fra 0 til 59 til at gentage igen og igen. Hvordan?
Hvad hvis … vi tog resten… af millis -funktionen divideret med 59…. Bingo!
Så det burde være sådan:
(60 [som startværdien, fordi grænsen er 59] + millis () / 1000 [1000 millisekunder er et sekund]) % 60
Ok, lad os forklare. (%) eller modul, er dybest set en operator som (+), der finder resten. Ligesom 9 % 2 = 1.
Så:
- resten af (60 + 0) % 60 = 0
- resten af (60 + 1) % 60 = 1
- resten af (60 + 58) % 60 = 58
- resten af (60 + 59) % 60 = 59
- resten af (60 + 60) % 60 = 60
- resten af (60 + 61) % 60 = 1
Se!
Nu til delene.
Trin 2: Delene
Ikke meget, overhovedet
- Enhver arduino
-
Enhver skærm (jeg brugte 0,96 OLED, men du kan bruge hvad du end har, bare sørg for at sætte de rigtige variabler i displayets funktioner.)
Det er det.
Trin 3: Koden
Her går du. Det er ret klart kommenteret, så der burde ikke være problemer. Bibliotekerne og init til 0,96 OLED er i koden. Udskift den med din egen skærm, hvis den er anderledes.
// 0,96 OLED -biblioteker
#omfatte
#omfatte
#omfatte
#omfatte
// 0,96 OLED Init
#define OLED_RESET 4
Adafruit_SSD1306 display (OLED_RESET);
int sekunder;
int minutter;
int timer;
ugyldig opsætning () {
// Noget mere 0,96 OLED Init
display.begynder (SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay (); display.setTextSize (2); display.setTextColor (HVID); }
void loop () {
sekunder = (60 + millis () / 1000) % 60;
minutter = (60 + millis () / 60000) % 60; timer = (25 + millis () / 3600000) % 25;
display.clearDisplay ();
display.setCursor (0, 22); // udskriv antallet af timer siden nulstilling display.print (timer); display.print ("h:");
// udskriv antallet af minutter siden nulstilling
display.print (minutter);
display.print ("m:");
// udskriv antallet af sekunder siden nulstilling display.print (sekunder); display.print ("s");
display.setCursor (0, 0);
display.print ("Stopur"); display.drawLine (0, 18, 128, 18, WHITE); display.display ();
}
Trin 4: Afslutning …
Så det er det! Gå nu og gør hvad du vil med det. Brug nogle æg, eller overtag dit kvarter.
Skål, Aarush
Anbefalede:
Arduino Leonardo stopur: 3 trin
Arduino Leonardo Stopur: Kredit: https://www.instructables.com/id/Arduino-Stopwatch…Dette stopurdesign stammer fra linket ovenfor, som er et stopur, der tæller fra 1, hvorimod dette tæller ned fra 60 sekunder . Det meste af den kode, jeg har brugt, følger originalen
Enkelt CloudX M633 digitalt stopur: 4 trin
Simple CloudX M633 Digital stopur: I dette projekt skal vi lave en version af et digitalt ur, der kan registrere timer, minutter og sekunder, ligesom et stopur på din mobiltelefon! Vi vil bruge en LCD til at vise tiden
Arduino Project - Stopur: 3 trin
Arduino Project - Stopur: Dette stopur kan bruges til at time alt, hvad du vil, f.eks. Tid, det tager at afslutte en opgave eller give dig selv pres på den tid, der bruges til at afslutte et værk. Lysdioderne hjælper brugeren med tydeligt at kende tidspunktet for start og stop.Dette projekt startede
Arduino stopur ved hjælp af I2C LCD: 5 trin
Arduino stopur Brug af I2C LCD: I dette projekt vil jeg lære dig at bruge et LCD -display og en Arduino som et interaktivt stopur. Når dit projekt er færdigt med den angivne kode, skal det ligne billedet ovenfor. Gå til næste trin for at lære, hvor du skal starte
Enkelt Arduino -ur / stopur: 6 trin (med billeder)
Simpelt Arduino -ur / stopur: Dette " instruerbare " vil vise og lære dig, hvordan du laver et simpelt Arduino Uno -ur, der også fungerer som stopur i bare nogle få, enkle trin