Obsah:
- Krok 1: Krok 1: Spájkovací a spojovací obvod mimo nádoby
- Krok 2: Krok 2: Nahrajte kód a upravte ho podľa svojich potrieb
- Krok 3: Krok 3: Obsahujte steppery a Arduino, ak si to želáte
Video: Časovač Stepper Pomodoro: 3 kroky (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Stepper Pomodoro je stolový časovač, ktorý vám pomôže so správou denného zoznamu úloh tým, že rozdelí každú dobu práce na 30 -minútové segmenty. Na rozdiel od bežného časovača Pomodoro vás však nemusí znepokojovať tým, že vám ukáže zostávajúci čas. Namiesto toho zobrazuje čas, približne počas ktorého z troch ciferníkov tiká. Ak neukážete presný čas, umožní vám to skutočne sa sústrediť na úlohu, ktorú máte, skôr ako by ste mali neustále kontrolovať svoj čas. Toto Pomodoro je ideálne pre tých, ktorí potrebujú ľahkú a nenápadnú štruktúru na riadenie svojich úloh.
Nástroje
• Spájkovačka
• Odizolovače drôtov
• Laserová rezačka (alebo brúska podľa toho, ako chcete vytvoriť číselníky časovača)
• Vŕtačka (vŕtačku som použil na dierovanie dostatočne veľkých otvorov pre číselníky)
Materiály
• 1 Arduino Uno
• 1 polovičný pekáč
• 3 H mosty (použil som DRV8833, ochranný kryt motora mi ušetril čas a bolesti hlavy)
• 3 krokové motory (použil som krokové motory NEMA 17)
• 1 tlačidlo
• 1 220-1K ohmový odpor (akýkoľvek v rozsahu je dobrý)
• AC/DC adaptér (použil som 12V, asi príliš veľký na toto množstvo stepperov)
• Rozdeľovač výkonu
• USB A-B drôt
• Drôty na chlieb
• Spájka
• Materiály pre nádobu časovača
• Akryl na číselníky
• Klince alebo kovové kolíky slúžia ako stacionárne rameno časovača
Krok 1: Krok 1: Spájkovací a spojovací obvod mimo nádoby
V tomto kroku som začal spájkovaním všetkých mojich mostíkov H (ak si kúpite kryt motora, tieto by ste nemali spájkovať. Keď budete mať pre každý krokomer mostík H, môžete skontrolovať, ako sú vaše steppery zapojené.
NEMA 17 sú známe ako bipolárne krokové motory, čo znamená, že majú v motore dve (nie jednu) sadu cievok, ktoré menia polaritu, aby umožnili presný pohyb motora. Bipolárne steppery majú bežne štyri drôty a polárne stepery majú bežne šesť, čo skomplikovalo online pokyny. K dvom vodičom však môžete pripojiť multimeter a zistiť, či sú prepojené alebo nie. Steppery NEMA 17 majú poradie drôtov v RED, YELLOW, GREY, GREEN farebnom poradí, pričom červená a šedá sú prvým polárnym párom a žltá a zelená sú druhým polárnym párom. Ak sa v každom mieste začne stepper šklbať, než aby dokončil očakávaný pohyb, je pravdepodobné, že vaše vodiče nie sú správne polarizované na svoje dvojča alebo je jeden odpojený. Každý stepper je ovládaný štyrmi výstupnými pinmi, ktoré sú prepojené s mostíkmi DRV8833 H. Poradie zapojenia pre vstup do DRV8833 je: IN1, IN2, napájanie, uzemnenie, IN3, IN4. Na účely výstupu sa NEMA jednoducho pripája k prostredným štyrom zo šiestich kolíkov v poradí: ČERVENÁ, SIVÁ, ŽLTÁ, ZELENÁ. Teraz pripojte napájanie. Mám svoje NEMA na digitálnych portoch 2–13.
Aby som to napájal, kúpil som si 12 V AC/DC adaptér s rozdeľovačom, aby bolo možné napájať Arduino aj všetky steppery. VAROVANIE: Nepripájajte napájacie a uzemňovacie vodiče z Arduina, ktoré už dostávajú energiu z portu, na nepájivú dosku, ktorá prijíma priame napájanie z AC/DC. Vypraží to vašu dosku. Z 12 V adaptéra zapojeného do steny jedna časť rozdeľovača smerovala priamo do portu Arduina a druhá do kladných a záporných pólov chleba.
Nakoniec je čas pripojiť tlačidlo. Jedna strana tlačidla bude potrebovať ako napájanie (s prepojeným našim odporom), tak aj spájkovaný výstupný kolík (to je možné aj z nepájivej dosky). Druhý kolík bude naša zem. Tieto tri vodiče by mali byť zapojené do: Napájania s odporom 5 V, výstupu do A0 a uzemnenia na doske samotnej dosky Arduino Uno.
Odtiaľ by sme sa mali pokúsiť ovládať steppery pomocou tohto základného kódu krokového testu, ktorý nájdete tu. Toto vysvetlenie na Arduino.cc tiež obsahuje podrobnejšie vysvetlenie dvoj/unipolárnych stepperov, ak to potrebujete. Ďalej sa dostaneme k kódu Pomodoro!
Krok 2: Krok 2: Nahrajte kód a upravte ho podľa svojich potrieb
Nasleduje kód pre môj Pomodoro s tlačidlom, aby ste ho mohli prispôsobiť svojmu nastaveniu, postupujte nasledovne:
1. Nastavte, koľko krokov na otáčku má váš typ osobného steppera (NEMA 17 má 200 a je uvedený v konštantnom čísle nazývanom stepsPerRevolution).
2. Nastavte, kde sa má vaše tlačidlo zadávať, v konštantnom celočíselnom tlačidle pinPin.
3. Nastavte, odkiaľ má arduino vystupovať, aby ste mohli ovládať steppery (tieto časti sa môžu medzi typmi mostov H najviac líšiť, pretože mnohé z nich používajú rôzne knižnice).
4. V kroku.setSpeed (krok mám nastavený na 1 otáčku za minútu a 30 otáčok proti smeru hodinových ručičiek) nastavte rýchlosť krokovania v ot / min.
5. Nastavte, koľkokrát chcete, aby sa každý z vašich stepperov otočil, než sa pohne ďalej (moje stepery počítajú desať minút, takže sa desaťkrát otáčajú pri 1 otáčkach za minútu).
6 Nastavte, ako dlho sa má otáčať dozadu.
#zahrnúť
const int stepsPerRevolution = 200; // nastavenie konštanty, koľko krokov je v každej plnej otáčke mojich krokových motorov
tlačidlo const intPin = A0; // nastavenie konštanty môjho tlačidlového vstupu
Stepper firstStepper (krokyPerRevolution, 2, 3, 4, 5); // inicializácia knižnice stepperov na určitých pinoch
Stepper secondStepper (krokyPerRevolution, 6, 7, 8, 9); Kroková tretina Kroková (krokyPerRevolution, 10, 11, 12, 13); Stepper firstStepperBack (stepsPerRevolution, 2, 3, 4, 5); // reinicializácia knižnice stepperov na týchto pinoch, aby bolo možné vynulovať otáčky pri upozornení, že čas uplynul, Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepperBack (stepsPerRevolution, 10, 11, 12, 13);
int minutesCounter = 0; // int počítanie plných otáčok stepperov
int timerState = LOW; // aktuálny stav časovača pomodoro (HIGH = zapnutý, LOW = vypnutý/reset) int buttonState; // aktuálne čítanie zo vstupného pinu int lastButtonState = HIGH; // predchádzajúce čítanie zo vstupného pinu
// nasledujúce premenné sú dlhé bez znamienka, pretože čas meraný v milisekundách, // sa rýchlo stane väčším číslom, ako je možné uložiť do int. bez znamienka long lastDebounceTime = 0; // naposledy, keď bol výstupný pin prepínaný bez znamienka long debounceDelay = 50; // čas odskoku; zvýšiť, ak výstup bliká
neplatné nastavenie () {
pinMode (buttonPin, INPUT_PULLUP); // nastavenie konštanty tlačidla ako vstupu
firstStepper.setSpeed (1); // nastavenie rychlosti na 1 ot/ min na pocitanie 10 minut na krokova sekundaStepper.setSpeed (1); thirdStepper.setSpeed (1); firstStepperBack.setSpeed (30); // nastavenie otáčok na 30 ot/ min pre upozornenie, že čas uplynul po tom, ako Pomodoro dokončil secondStepperBack.setSpeed (30); thirdStepperBack.setSpeed (30);
Serial.begin (9600); // spustenie sériového monitora s prenosovou rýchlosťou 9600 baudov
}
prázdna slučka () {
// načítanie stavu prepínača do lokálnej premennej: int reading = digitalRead (buttonPin);
// skontrolujte, či ste práve stlačili tlačidlo
// (t. j. vstup prešiel z NÍZKEHO na VYSOKÝ) a čakali ste // dosť dlho od posledného stlačenia, aby ste ignorovali akýkoľvek hluk:
// Ak sa prepínač zmenil kvôli hluku alebo stlačeniu:
if (reading! = lastButtonState) {// vynulovanie časovača odblokovania lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// nech je čítanie akékoľvek, je tam dlhšie // ako oneskorenie odskoku, takže to ber ako skutočný aktuálny stav:
// ak sa zmenil stav tlačidla:
if (čítanie! = buttonState) {buttonState = čítanie;
// aktiváciu časovača prepínajte iba vtedy, ak nový stav tlačidla naznačuje, že bol stlačený
// jedným stlačením zapnete, ďalším stlačením vypnete if (buttonState == LOW) {timerState =! timerState; Serial.print ("Stav časovača je"); Serial.println (timerState); }}}
if (timerState == HIGH) {
Serial.println („Časovač Pomodoro sa začal“); if (minutesCounter <11) {// ak je aktuálna druhá hodnota odlišná od predchádzajúcej hodnoty, tak firstStepper.step (stepsPerRevolution); // otoč krokovačom 200 krokov/1 otáčka za minútuČítač ++; Serial.print ("minutesCounter is"); Serial.println (minútový počítadlo); }
if (11 <= minutesCounter && minutesCounter <21) {// ak je aktuálna druhá hodnota odlišná od predchádzajúcej hodnoty, tak secondStepper.step (stepsPerRevolution); // otoč krokovačom 200 krokov/1 otáčka za minútuČítač ++; Serial.print ("minutesCounter is"); Serial.println (počítadlo minút); }
if (21 <= minutesCounter && minutesCounter <31) {// ak je aktualna druha hodnota odlisna od predchadzajucej hodnoty, potom thirdStepper.step (stepsPerRevolution); // otoč krokovačom 200 krokov/1 otáčka za minútuČítač ++; Serial.print ("minutesCounter is"); Serial.println (počítadlo minút); }
if (31 <= minutesCounter && minutesCounter <1031) {// ak je aktuálna druhá hodnota odlišná od predchádzajúcej hodnoty, tak firstStepperBack.step (-1); // otoč krokovačom späť o 1 krok v poradí, aby vyzeral, že všetky bežia súčasne secondStepperBack.step (-1); thirdStepperBack.step (-1); minutesCounter ++; Serial.print ("minutesCounter is"); Serial.println (počítadlo minút); }} else {Serial.println ("Časovač Pomodoro je vypnutý"); } // uloženie čítania. Nabudúce cez slučku, // to bude lastButtonState: lastButtonState = čítanie; }
Krok 3: Krok 3: Obsahujte steppery a Arduino, ak si to želáte
Rozhodol som sa vytvoriť rovnobežníkový tvar pre svoje hodiny. Táto forma a výber materiálov z červeného duba boli inšpirované moderným nábytkom v polovici storočia. Jedna časť, s ktorou som mal najväčšie problémy, bolo osadenie stepperov ciferníkmi cez ich okienka, z ktorých bolo vidieť.
Odporúča:
Časovač napájania s Arduino a rotačným kodérom: 7 krokov (s obrázkami)
Časovač napájania s Arduino a rotačným kodérom: Tento časovač napájania je založený na časovači uvedenom na adrese: https: //www.instructables.com/id/Timer-With-Arduin..A modul napájania a SSR (polovodičové relé) k nemu boli pripojené. Je možné prevádzkovať výkonové zaťaženia až 1 kW a s minimálnymi zmenami l
Laserová projekcia Časovač Pomodoro: 5 krokov
Laserová projekcia Časovač Pomodoro: Dobrý deň všetkým v ich domácnostiach počas uzamknutia. Dúfam, že vám tento návod pomôže prežiť tieto dni. Preto som na štúdium doma používal techniku pomodoro. Pre každého, kto nevie, čo je pomodoro technika, je to technika, ktorá
Časovač „Urob viac“, inšpirovaný Caseym Neistatom: 4 kroky (s obrázkami)
Časovač „Urob viac“, inšpirovaný Casey Neistatom: Leto, krásne obdobie, keď sa veci dejú. Ale niekedy máme tendenciu zabúdať na čas. Aby sme si pripomenuli zostávajúci čas, navrhol som tento časovač Arduino poháňaný DIY Casey Neistat „Do More“, ktorý je možné naprogramovať tak, aby zobrazoval zostávajúci čas z akéhokoľvek
Časovač klavíra SMD 555!: 4 kroky (s obrázkami)
Časovač klavíra SMD 555 !: Zdravím všetkých! V tomto návode vám ukážem, ako si vyrobiť malé piano pomocou bežného časovača 555, ale s komponentmi SMD! SMD znamená zariadenie na povrchovú montáž a tieto komponenty sú namontované alebo umiestnené priamo na povrch tlačenej
Infračervený časovač panela: 4 kroky (s obrázkami)
Infračervený časovač panela: V jednej z izieb na poschodí v mojom dome mám infračervený panel. Keď som v tej miestnosti a zapnem tento panel, niekedy ho zabudnem vypnúť, čo je plytvanie cennou energiou. Aby sa tomu zabránilo, postavil som tento infračervený panel Ti