Pomoduino Faceți un Pomodoro Timer Pompă Arduino

Pomoduino Faceți un Pomodoro Timer Pompă Arduino / DIY

Tehnica pomodoro Cut through Procrastination cu aceste tehnici Pomodoro Aplicații și software tăiate prin procrastination cu aceste tehnici Pomodoro Apps & Software Procrastination este o maladie care pătrunde studenților și lucrătorilor din toate colțurile lumii și infectează amatori și profesioniști deopotrivă. În calitate de scriitor, suferă zilnic o întârziere. Unii oameni ... Citește mai mult este un sistem popular de gestionare a timpului care implică ruperea muncii în bucăți de 25 de minute cu o odihnă de 5 minute. Există diferite programe pentru a vă ajuta, dar dacă doriți să folosiți sistemul pomodoro în timp ce lucrați departe de computer sau când vă aflați la banca dvs. de lucru? Efectuarea unui timer pomodoro alimentat de Arduino este un proiect de lansare excelent 15 Proiecte Great Arduino pentru începători 15 Proiecte excelente Arduino pentru începători Interesați de Arduino dar nu sunteți sigur de unde să începeți? Iată câteva dintre cele mai bune proiecte Arduino pentru începători pentru a începe! Citiți mai multe pentru a vă ajuta să învățați un drum în jurul unui Arduino și, de fapt, veți obține ceva util.

Scopul

În cazul în care doriți să încercați să aflați cum să setați acest lucru înainte de a privi în față, iată ce încercăm să facem. Vom avea trei lumini; unul pentru “muncă,” unul pentru “pauză,” și o lumină de avertizare. Lumina de lucru va rămâne aprinsă timp de 25 de minute, iar lampa de avertizare va fi aprinsă și pentru ultimele două minute ale intervalului respectiv. După 25 de minute, lămpile de lucru și de avertizare se vor dezactiva și indicatorul de pauză se va aprinde timp de 5 minute (lampa de avertizare va fi din nou aprinsă în ultimele două minute).

De asemenea, va fi inclus un buton care va întârzia schimbarea luminilor timp de două minute pentru a vă oferi un pic mai mult timp de lucru sau timp de pauză.

De ce ai nevoie

Pentru acest proiect, vom folosi următoarele părți - toate acestea ar trebui să aveți în kit-ul dvs. de pornire.

  • Arduino microcontroler (am folosit o Mega, dar Uno ar funcționa prea bine)
  • breadboard
  • cablu USB
  • 6 fire
  • Rezistențe 3 x 330 Ohm
  • 3 x LED (am folosit verde, galben și albastru)
  • 1 buton

Pasul 1: Setarea tuturor lucrurilor

Puneți fiecare LED-uri într-o coloană diferită pe panoul de paie (este mai ușor dacă sunt distanțate puțin) și puneți butonul puțin mai jos. Asigurați-vă că butonul este îndreptat în direcția corectă - există două seturi de două știfturi pe o singură parte a butonului, iar acele ace trebuie să fie în același rând.

Rulați firele de la pinii 5, 7 și 13 la coloana care conține piciorul negativ al LED-urilor albastru, galben și verde (piciorul negativ este cel mai scurt dintre cele două). Apoi, puneți un rezistor în aceeași coloană cu fiecare picior pozitiv și le conectați la șina negativă de pe marginea panoului albastru (cea albastră, deși culoarea nu contează cu adevărat, este doar convenția de a folosi albastru pentru claritate).

De asemenea, rulați un fir de la șina albastră de pe panou la unul din picioarele butonului și un alt fir de la celălalt picior (pe aceeași parte) la pinul 2 de pe Arduino. Apoi, împământați șina albastră în pinul GND de pe Arduino.

Iată o diagramă care ar trebui să clarifice orice confuzie:

Asta e! Acum, la programare.

Programarea Arduino-ului tău

Mai jos este codul pentru cronometrul Pomoduino - citiți prin comentariile inline, deoarece acestea explică ceea ce face fiecare pas al codului.

 int verde = 13; int galben = 7; int albastru = 5; int ledStateGreen = LOW; int ledStateBlue = LOW; lung anteriorMillis = 0; interval lung; butonul intPin = 2; butonul intState = 1; bool presat = 0; long pressTime = 0; faza int = 0; void setup () pinMode (verde, OUTPUT); pinMode (galben, OUTPUT); pinMode (albastru, OUTPUT); pinMode (butonPin, INPUT_PULLUP); digitalWrite (butonPin, HIGH);  void loop () // actualizarea timpului curent și a stării butonului nesemnate long currentMillis = millis (); butonul intState = digitalRead (butonulPin); // măsurați timpul de la ultima apăsare a butonului de apăsare lungă = currentMillis - anteriorMillis; // (pentru a împiedica înregistrarea mai multor prese) dacă ((pressTime - currentMillis)> 2000) if (buttonState == 0) presed = 1; (faza == 0) if (apăsat == 1) apăsați tasta = curentMillis; altceva presat = 0; // faza 0 este faza de lucru // dacă butonul a fost apăsat; ) interval = 1620000; // dacă intervalul este depășit, înregistrați curentul // timpul pentru măsurarea intervalului următor dacă (curentMillis - intervalul anteriorMillis>) previousMillis = currentMillis; // setați LED-urile verde și albastru dacă (ledStateGreen == LOW) ledStateGreen = HIGH; ledStateBlue = LOW; altfel ledStateGreen = LOW; // aplicați stările LED-urilor la LED-uri // intervalul de resetare și trecerea la faza "break" digitalWrite (verde, ledStateGreen); digitalWrite (albastru, ledStateBlue); interval = 1500000; butonStatus = 1; faza = 1;  altceva // dacă butonul a fost apăsat, adăugați 2 minute pentru a întrerupe cronometrul dacă (apăsat == 1) interval = 420000; // dacă intervalul sa terminat, înregistrați curentul // timpul pentru măsurarea intervalului următor dacă (currentMillis - anteriorMillis> interval) previousMillis = currentMillis; // setați stările LED albastru și verde dacă (ledStateBlue == HIGH) ; ledStateBlue = LOW;  altfel ledStateBlue = HIGH; ledStateGreen = LOW; // aplicați stările LED-urilor la LED-uri // reinițializați intervalul și setați la faza de lucru "digitalWrite" (verde, ledStateGreen); digitalWrite (albastru, ledStateBlue); interval = 300000; butonStatus = 1; faza = 0;  // calcula timpul rămas în intervalul nesemnificat longLeft = (interval - progres); // dacă mai rămân mai puțin de două minute, luminează LED-ul galben dacă (timeLeft < 120000)  digitalWrite(yellow, HIGH);  else  digitalWrite(yellow, LOW);  // reset pressed variable pressed = 0; 

Notă: când testați acest lucru, probabil că nu doriți să așteptați 25 de minute pentru a vedea dacă funcționează. În videoclipul de mai jos, am intervale setate la 5 secunde pentru verde, 2 secunde pentru albastru și 1 secundă pentru galben. Utilizați un interval mai scurt pentru a vă asigura că totul funcționează corect înainte de ao folosi pentru a urmări timpul!

Odată ce ai totul conectat și codul a intrat în IDE, ești gata să pleci! Încărcați schița și veți avea un temporizator pomodoro de lucru cu un buton de întârziere de 2 minute. Dacă lumina de avertizare se aprinde și aveți nevoie de mai mult timp, apăsați butonul.

Este posibil să observați că butonul este conectat direct la pinul de intrare Arduino. Prin folosirea uneia dintre rezistențele pullup încorporate în Arduino, nu este nevoie să rulați un fir de la portul 5V la buton sau să folosiți un rezistor în linie cu el. Puteți obține mai multe informații despre referința Arduino pentru pinii digitali.

Provocări mai avansate

Dacă ați făcut-o pe Pomoduino și doriți să luați ceva ușor mai avansat, puteți încerca oricare din următoarele lucruri:

  • Adăugați o serie de LED-uri care se aprind și servesc ca numărător al numărului de sesiuni de lucru finalizate
  • Faceți butonul să adăugați două minute la cronometru de fiecare dată când îl împingeți
  • Adăugați un difuzor și jucați un zgomot atunci când este timpul să reveniți la serviciu
  • Utilizați o baterie de 9V pentru a fi portabilă
  • În loc să folosiți o lumină de avertizare, clipește lumina verde sau albastră timp de câteva minute înainte de a comuta
  • Afișați o inversă pe afișajul cu LED

Alte proiecte de mare incepator

Dacă sunteți nou la Arduino, avem o mulțime de tutoriale amuzante pentru a vă prelua. Încercați un controler al luminii de trafic Arduino Programare pentru începători: Controlerul luminii de trafic Programarea Arduino pentru începători: Controlerul luminii de trafic Săptămâna trecută, am aflat despre structura de bază a unui program Arduino și am aruncat o privire mai atentă la exemplul "blink". Sperăm că ați profitat de ocazia de a experimenta codul, ajustând calendarul. De data aceasta, ... Citește mai mult, un cub futurist cu LED-uri Cum sa faci un pulsatoriu Arduino LED Cube care arata ca a venit de la viitor Cum sa faci un pulsatoriu Arduino LED Cube care arata ca a venit din viitor Daca ai dabbled cu unele arduino proiectanti incepatori, dar cautati ceva ceva permanent si pe un alt nivel de minunat, atunci umilul 4 x 4 x 4 LED cub este ... Citeste mai mult, un sunrise alarma Arduino Night Light si Sunrise Alarm Project Arduino Night Light si Sunrise Alarm Project Astăzi, vom face un ceas cu alarmă la răsărit de soare, care vă va trezi încet și încet fără a recurge la o mașină ofensatoare de zgomot. Citește mai mult sau un sistem de alarmă Cum să faci un sistem simplu de alarmă Arduino Cum să faci un sistem simplu de alarmă Arduino Detectează mișcarea, apoi speri de heck dintr-un intrus cu un sunete de alarma ridicată și lumini intermitente. Suna distractiv? Bineînțeles. Acesta este scopul proiectului de astăzi Arduino, potrivit ... Read More. Dacă vă decideți să faceți una dintre provocările mai avansate enumerate mai sus, spuneți-ne cum merge!

Explorați mai multe despre: Arduino, Time Management, Timer Software.