Sadržaj:

Jednostavna, praktična štoperica Arduino: 4 koraka
Jednostavna, praktična štoperica Arduino: 4 koraka

Video: Jednostavna, praktična štoperica Arduino: 4 koraka

Video: Jednostavna, praktična štoperica Arduino: 4 koraka
Video: CNC REZAČ ZA STIROPOR-125 2024, Lipanj
Anonim
Jednostavna, praktična štoperica Arduino
Jednostavna, praktična štoperica Arduino

Pretražite Arduino štopericu na webu. Vjerojatno ste to upravo učinili, ako ste ovdje. Iz osobnog iskustva mogu vam reći da je svaka štoperica na internetu ili previše složena (u kodu, za početnike), ili je previše pojednostavljena i nije praktična, poput onih koje samo broje sekunde bez resetiranja.

I ti tako misliš, a? Pa pogodite što. Učinio sam to, i štoviše, izravno uzimam svoj unos iz funkcije millis ()- beskonačnog niza brojeva (do 49 dana ili bilo što drugo). Najbolji dio? To je samo jedan redak.

Resetiranje je stvarni tvrdi dio štoperice. Za srednjoškolce, programeri, ako to već niste učinili, pokušajte to učiniti sami, sa sekundama, minutama i satima zajedno. Shvatit ćeš o čemu govorim.

Za početnike, čitajte dalje i uživajte u genijalnosti svog uma.

Šalim se, ali rješenje koje sam smislio je prilično uredno. Evo što je to:

Korak 1: Rješenje

Rješenje
Rješenje

Dakle, problem je resetiranje. Ono što želimo je kontinuirani, ponavljajući ciklus brojeva, od beskrajnog ispisa sekvencijalnih brojeva (millis () - u osnovi broji milisekunde, ili zapravo 1,024 milisekunde, ali svejedno).

Prvo što mi pada na pamet je korištenje razlike, poput time1 -time2 i kašnjenja. Zaboravi to. Za pokretanje je potrebno najmanje šest redaka koda i if naredba.

Pa evo kako to učiniti. Imamo ograničenje (59). Želimo da se sve od 0 do 59 ponavlja iznova i iznova. Kako?

Što ako … uzeli smo ostatak … funkcije millis podijeljen s 59 …. Bingo!

Dakle, trebalo bi biti ovako:

(60 [kao početna vrijednost jer je granica 59] + millis () / 1000 [1000 milisekundi je sekunda]) % 60

U redu, da objasnim. (%) ili modul, u osnovi je operator poput (+) koji pronalazi ostatak. Kao 9 % 2 = 1.

Tako:

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

Vidjeti!

A sada za dijelove.

Korak 2: Dijelovi

Dijelovi
Dijelovi

Ne puno, uopće

  1. Bilo koji arduino
  2. Bilo koji zaslon (koristio sam OLED od 0,96 , ali možete koristiti sve što imate, samo pazite da stavite odgovarajuće varijable u funkcije prikaza vašeg zaslona.)

To je to.

Korak 3: Kôd

Izvolite. Prilično je jasno komentirano pa ne bi trebalo biti problema. Knjižnice i init za OLED od 0,96 nalaze se u kodu. Zamijenite ga vlastitim zaslonom ako je drugačiji.

// 0,96 OLED knjižnice

#uključi

#uključi

#uključi

#uključi

// 0,96 OLED počet

#define OLED_RESET 4

Zaslon Adafruit_SSD1306 (OLED_RESET);

int sekunde;

int minute;

int sati;

void setup () {

// Još nekoliko OLED početnih stupnjeva od 0,96"

display.begin (SSD1306_SWITCHCAPVCC, 0x3C);

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

void loop () {{100} {101}

sekunde = (60 + millis () / 1000) % 60;

minute = (60 + millis () / 60000) % 60; sati = (25 + millis () / 3600000) % 25;

display.clearDisplay ();

display.setCursor (0, 22); // ispisuje broj sati od resetiranja display.print (sati); display.print ("h:");

// ispisuje broj minuta nakon resetiranja

display.print (minute);

display.print ("m:");

// ispisuje broj sekundi od resetiranja display.print (sekunde); display.print ("s");

display.setCursor (0, 0);

display.print ("Štoperica"); display.drawLine (0, 18, 128, 18, BIJELO); display.display ();

}

Korak 4: Završnica…

Završnica…
Završnica…

Znaci to je to! Sada idi učini što hoćeš s tim. Odvojite jaja za vrijeme ili preuzmite svoje susjedstvo.

Živjeli, Aarush

Preporučeni: