Sadržaj:
- Korak 1: Korak 1: Lemljenje i spojni krug izvan spremnika
- Korak 2: Korak 2: Prijenos koda i njegovo prilagođavanje vašim potrebama
- Korak 3: Korak 3: Sadržite Steppere i Arduino ako želite
Video: Steper Pomodoro mjerač vremena: 3 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Stepper Pomodoro je stolni mjerač vremena koji pomaže u upravljanju popisom dnevnih zadataka razbijajući svako razdoblje rada u segmente od 30 minuta. Međutim, za razliku od uobičajenog Pomodoro mjerača vremena, ne čini vas uznemirenim pokazujući preostalo vrijeme. Umjesto toga, prikazuje vrijeme otprilike kroz koji od tri brojača otkucava. Ne pokazujući točno vrijeme omogućuje vam da se zapravo usredotočite na zadatak koji imate, a ne da stalno provjeravate preostalo vrijeme. Ovaj Pomodoro savršen je za one kojima je potrebna lagana i nenametljiva struktura za upravljanje zadacima.
Alati
• Lemilica
• Skidači žica
• Laserski rezač (ili brusilica, ovisno o tome kako želite stvoriti brojčanike timera)
• Bušilica (upotrijebio sam bušilicu za bušenje rupa dovoljno velikih za brojčanike)
Materijali
• 1 Arduino Uno
• 1 ploča veličine pola
• 3 H mosta (koristio sam DRV8833, motorni štit bi mi uštedio neko vrijeme i glavobolje)
• 3 koračna motora (koristio sam stepere NEMA 17)
• 1 gumb
• 1 220-1K ohmski otpornik (svaki unutar dometa je dobar)
• AC/DC adapter (koristio sam 12V, vjerojatno prevelik za ovu količinu stepera)
• Razdjelnik snage
• USB A-B žica
• Žice za razvojnu ploču
• Lemljenje
• Materijali za spremnik mjerača vremena
• Akril za biranje
• Čavli ili metalne igle djeluju kao nepomični krak mjerača vremena
Korak 1: Korak 1: Lemljenje i spojni krug izvan spremnika
Za ovaj korak započeo sam lemljenjem svih svojih H mostova (ako kupite štitnik motora, ne morate ih lemiti. Nakon što za svaki steper imate H most, možete provjeriti kako su ožičeni vaši steperi.
NEMA 17 su poznati kao bipolarni koračni motori, što znači da imaju dva (umjesto jednog) skupa zavojnica unutar motora koji mijenjaju polaritet kako bi omogućili precizno kretanje motora. Bipolarni steperi obično imaju četiri žice, a Polarni stepenici obično šest, što je malo zakompliciralo upute na internetu. Međutim, možete priključiti višemetarski mjerač na dvije žice i vidjeti jesu li spojeni ili nisu. Steperi NEMA 17 imaju redoslijed žica u CRVENOJ, ŽUTOJ, SIVOJ, ZELENOJ boji, pri čemu su crvena i siva prvi polarni par, a žuta i zelena drugi polarni par. Ako se u bilo kojem trenutku steper počne trzati, a ne dovršiti očekivano kretanje, velika je vjerojatnost da vaše žice nekako nisu ispravno polarizirane na svog blizanca ili je jedna od njih isključena. Svakim korakom upravlja se putem četiri izlazna pina koji se spajaju na mostove DRV8833 H. Redoslijed ožičenja za ulaz na DRV8833 je: IN1, IN2, Napajanje, Uzemljenje, IN3, IN4. U svrhe izlaza, NEMA se samo povezuje sa srednja četiri od šest pinova po redoslijedu: CRVENA, SIVA, ŽUTA, ZELENA. Sada spojimo napajanje. Imam svoje NEMA -e na digitalnim priključcima 2–13.
Za napajanje sam kupio 12V AC/DC adapter s razdjelnikom kako bih mogao napajati i Arduino i sve stepere. UPOZORENJE: Nemojte povezivati žice za napajanje i uzemljenje s Arduina koji već prima napajanje iz priključka na matičnu ploču koja prima izravno napajanje iz AC/DC -a. Pržit će vam ploču. Iz 12V adaptera koji je priključen na zid jedan dio razdjelnika išao je ravno do luke Arduina, a drugi do pozitivnog i negativnog dijela ploče za kruh.
Na kraju, vrijeme je da spojite gumb. S jedne strane gumba trebat će i napajanje (s ugrađenim otpornikom), kao i izlazni pin zalemljen (to se može učiniti i s matične ploče). Drugi pin će biti naše tlo. Ove tri žice trebaju biti priključene na: Napajanje s otpornikom na 5V, izlaz na A0 i uzemljenje sve na samoj ploči Arduino Uno.
Odavde bismo trebali pokušati kontrolirati stepere pomoću ovog osnovnog koda koračnog testa koji se ovdje nalazi. Ovo objašnjenje na Arduino.cc također daje temeljitije objašnjenje bi/unipolarnih stepera ako vam zatreba. Slijedi ulaz u kod za Pomodoro!
Korak 2: Korak 2: Prijenos koda i njegovo prilagođavanje vašim potrebama
Ispod je kôd za moj Pomodoro s gumbom, kako biste ga prilagodili vašim postavkama, slijedite ove korake:
1. Postavite koliko koraka po okretaju ima vaš osobni tip koraka (NEMA 17 ima 200 i navedeno je u konstantnom cijelom broju koji se naziva stepsPerRevolution).
2. Postavite mjesto na koje vaš gumb unosi u konstantnom cijelom broju caller buttonPin.
3. Postavite odakle bi vaš arduino trebao izlaziti da zapovijeda steperima (ti se dijelovi mogu najviše razlikovati između tipova H mostova jer mnogi imaju različite knjižnice koje koriste).
4. Podesite koračnu brzinu u RPM -ovima u.setSpeed (ja sam postavio 1 okretaj u minuti pri okretanju u smjeru kazaljke na satu i 30 o / min pri okretanju u smjeru suprotnom od kazaljke na satu).
5. Postavite koliko puta želite da se svaki vaš steper okrene prije nego što krene dalje (moji steperi broje deset minuta pa se okreću deset puta pri 1 RPM).
6 Postavite koliko dugo želite da se rotira unatrag.
#uključi
const int stepsPerRevolution = 200; // postavljanje konstante koliko koraka ima u svakom punom okretu mojih koračnih motora
const int buttonPin = A0; // postavljanje konstante unosa s moje tipke
Stepper firstStepper (stepsPerRevolution, 2, 3, 4, 5); // inicijaliziranje knjižnice koraka na određenim pinovima
Stepper secondStepper (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepper (stepsPerRevolution, 10, 11, 12, 13); Stepper firstStepperBack (stepsPerRevolution, 2, 3, 4, 5); // ponovno inicijaliziranje knjižnice koraka na ovim pinovima kako bi se moglo poništiti broj okretaja u minuti kada se upozori da je vrijeme isteklo Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepperBack (koraciPerRevolution, 10, 11, 12, 13);
int minuteCounter = 0; // int brojanje punih okretaja koraka
int timerState = LOW; // trenutno stanje pomodoro timera (HIGH = on, LOW = off/reset) int buttonState; // trenutno očitanje s ulaznog pina int lastButtonState = HIGH; // prethodno očitavanje s ulaznog pina
// sljedeće varijable su bez znakova jer je vrijeme, mjereno u milisekundama, // brzo će postati veći broj nego što se može pohraniti u int. unsigned long lastDebounceTime = 0; // zadnji put kad je izlazni pin preklopljen unsigned long debounceDelay = 50; // vrijeme debounce; povećati ako izlaz treperi
void setup () {
pinMode (buttonPin, INPUT_PULLUP); // postavlja konstantu gumba kao ulaz
firstStepper.setSpeed (1); // postavimo brzinu na 1 o/ min za brojanje 10 minuta po steperu secondStepper.setSpeed (1); thirdStepper.setSpeed (1); firstStepperBack.setSpeed (30); // postavite brzinu na 30 o/ min radi upozorenja da je vrijeme isteklo nakon što je Pomodoro dovršio secondStepperBack.setSpeed (30); thirdStepperBack.setSpeed (30);
Serial.begin (9600); // pokretanje serijskog monitora s brzinom prijenosa od 9600
}
void loop () {{100} {101}
// čita stanje prekidača u lokalnu varijablu: int reading = digitalRead (buttonPin);
// provjeravate jeste li samo pritisnuli gumb
// (tj. unos je prešao s LOW na HIGH), a vi ste čekali // dovoljno dugo od zadnjeg pritiska da zanemarite bilo kakvu buku:
// Ako se prekidač promijenio zbog buke ili pritiska:
if (čitanje! = lastButtonState) {// resetiranje mjerača debouncing lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// bez obzira na očitanje, tamo je bilo duže // od kašnjenja debounce, pa ga uzmite kao stvarno trenutno stanje:
// ako se stanje gumba promijenilo:
if (čitanje! = buttonState) {buttonState = čitanje;
// prebacuje aktivaciju timera samo ako novo stanje gumba pokazuje da je pritisnuto
// pritisnite jednom za uključivanje, pritisnite ponovno za isključivanje if (buttonState == LOW) {timerState =! timerState; Serial.print ("Stanje timera je"); Serial.println (timerState); }}}
if (timerState == HIGH) {
Serial.println ("Pomodoro timer je počeo"); if (minutesCounter <11) {// ako je trenutna druga vrijednost različita od prethodne vrijednosti tada firstStepper.step (stepsPerRevolution); // okrenite steper 200 koraka/1 okretaj minutaCounter ++; Serial.print ("brojač minuta je"); Serial.println (brojač minuta); }
if (11 <= minutesCounter && minutesCounter <21) {// ako je trenutna druga vrijednost različita od prethodne vrijednosti onda secondStepper.step (stepsPerRevolution); // okrenite steper 200 koraka/1 okretaj minutaCounter ++; Serial.print ("brojač minuta je"); Serial.println (brojač minuta); }
if (21 <= minutesCounter && minutesCounter <31) {// ako je trenutna druga vrijednost različita od prethodne vrijednosti then thirdStepper.step (stepsPerRevolution); // okrenite steper 200 koraka/1 okretaj minutaCounter ++; Serial.print ("brojač minuta je"); Serial.println (brojač minuta); }
if (31 <= minutesCounter && minutesCounter <1031) {// ako je trenutna druga vrijednost različita od prethodne vrijednosti tada firstStepperBack.step (-1); // okrenite steper unatrag 1 korak u nizu da biste izgledali kao da svi rade istovremeno secondStepperBack.step (-1); thirdStepperBack.step (-1); brojač minuta ++; Serial.print ("Brojač minuta je"); Serial.println (brojač minuta); }} else {Serial.println ("Pomodoro timer je isključen"); } // spremi čitanje. Sljedeći put kroz petlju, // to će biti lastButtonState: lastButtonState = reading; }
Korak 3: Korak 3: Sadržite Steppere i Arduino ako želite
Odlučio sam stvoriti paralelografski oblik za svoj sat. Ovaj oblik i odabir materijala za crveni hrast inspirirani su modernim namještajem iz sredine stoljeća. Jedan dio s kojim sam imao najvećih poteškoća bio je postavljanje stepera s brojčanicima kroz njihove prozore za gledanje.
Preporučeni:
WiFi sat, mjerač vremena i vremenska stanica, kontrolirano Blynkom: 5 koraka (sa slikama)
WiFi sat, mjerač vremena i vremenska postaja, kontrolirano Blynkom: Ovo je digitalni sat Morphing (zahvaljujući Hari Wiguna za koncept i kôd za preinaku), također je analogni sat, postaja za izvještavanje o vremenu i kuhinjski mjerač vremena. U potpunosti ga kontrolira Blynk aplikacija na vašem pametnom telefonu putem WiFi -ja. Aplikacija vam omogućuje
Borba protiv koronavirusa: Jednostavan mjerač vremena za pranje ruku: 8 koraka (sa slikama)
Borba protiv koronavirusa: Jednostavan mjerač vremena za pranje ruku: S trenutnom pandemijom u svijetu, situacija se čini prilično zastrašujućom. Korona virus mogao bi biti bilo gdje. Koliko znamo, virus bi se mogao nositi nekoliko dana bez ikakvih simptoma. Zaista zastrašujuće. Ali hej, nemoj se previše bojati
20 sekundi Mjerač vremena za pranje za COVID-19: 6 koraka (sa slikama)
20 Mjerač vremena za pranje ruku za COVID-19: Kako se globalni COVID-19 širio, trebali bismo se zaštititi ne samo skupljajući manje i noseći maske za lice, već i češće perući ruke. Nije učinkovit protiv virusa ako to ne učinite ne perite ruke pravilno. Kako pravilno oprati ruke? W
Pomodoro mjerač vremena laserske projekcije: 5 koraka
Pomodoro timer za lasersku projekciju: Pozdrav svima u svojim domovima tijekom zaključavanja. Nadam se da će vam ovo uputstvo pomoći da prebrodite ove dane. Pa sam koristio pomodoro tehniku za učenje kod kuće. Za svakoga tko ne zna što je pomodoro tehnika, to je tehnika koja
Pomodoro mjerač vremena sa LED prstenom: 5 koraka
Pomodoro mjerač vremena s LED prstenom: Za ITTT-projekt heb ik varijante varijacija Pomodoro timer gemaakt. De Pomodoro " tehnika " is een tijdmanagementmethode die gebruikers kan helpen om grote projecten in kleine stappen te verdelen en regelmatig pauze te houden. Hierbij