Spisu treści:
- Krok 1: Krok 1: Lutowanie i podłączanie obwodu na zewnątrz pojemnika
- Krok 2: Krok 2: Prześlij kod i dostosuj go do swoich potrzeb
- Krok 3: Krok 3: Zawieraj steppery i Arduino, jeśli chcesz
Wideo: Stepper Pomodoro Timer: 3 kroki (ze zdjęciami)
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:32
Stepper Pomodoro to licznik czasu pracy na biurku, który pomaga zarządzać codzienną listą zadań, dzieląc każdy okres pracy na 30-minutowe segmenty. Jednak w przeciwieństwie do zwykłego timera Pomodoro, nie wzbudza niepokoju, pokazując ilość pozostałego czasu. Zamiast tego wyświetla w przybliżeniu czas, przez który z trzech pokręteł tyka. Niepokazywanie dokładnego czasu pozwala skupić się na zadaniu, a nie na ciągłym sprawdzaniu pozostałego czasu. Ten Pomodoro jest idealny dla tych, którzy potrzebują lekkiej i dyskretnej struktury do zarządzania zadaniami.
Narzędzia
• lutownica
• Narzędzia do ściągania izolacji
• Wycinarka laserowa (lub szlifierka w zależności od tego, jak chcesz stworzyć tarcze timera)
• Wiertarka (użyłem wiertarki do wybijania otworów wystarczająco dużych dla tarcz)
Materiały
• 1 Arduino Uno
• 1 płytka do krojenia chleba o połowie wielkości
• 3 mostki H (użyłem DRV8833, osłona silnika zaoszczędziła mi trochę czasu i bólu głowy)
• 3 silniki krokowe (użyłem silników krokowych NEMA 17)
• 1 przycisk
• 1 rezystor 220-1 kΩ (dowolny w zakresie jest dobry)
• zasilacz AC/DC (użyłem 12V, chyba za duży na taką ilość stepperów)
• Rozdzielacz zasilania
• Przewód USB A-B
• Druty do krojenia chleba
• Lutowane
• Materiały na pojemnik timera
• Akryl na tarcze
• Gwoździe lub metalowe kołki pełniące rolę nieruchomego ramienia timera
Krok 1: Krok 1: Lutowanie i podłączanie obwodu na zewnątrz pojemnika
W tym kroku zacząłem od przylutowania wszystkich moich mostków H (jeśli kupisz osłonę silnika, nie musisz ich lutować. Gdy masz już mostek H dla każdego steppera, możesz sprawdzić, jak są podłączone twoje stepery.
NEMA 17 to tak zwane bipolarne silniki krokowe, co oznacza, że mają dwa (a nie jeden) zestaw cewek w silniku, które zmieniają polaryzację, aby umożliwić precyzyjny ruch silnika. Steppery bipolarne mają zwykle cztery przewody, a stepery polarne sześć, co nieco komplikuje instrukcje online. Możesz jednak podłączyć multimetr do dwóch przewodów i sprawdzić, czy są połączone, czy nie. Steppery NEMA 17 mają kolejność przewodów w kolejności kolorów CZERWONY, ŻÓŁTY, SZARY, ZIELONY, przy czym czerwony i szary to pierwsza para biegunów, a żółty i zielony to druga para biegunów. Jeśli w dowolnym momencie stepper zacznie drgać, a nie wykonać oczekiwany ruch, istnieje prawdopodobieństwo, że twoje przewody w jakiś sposób nie są prawidłowo spolaryzowane do bliźniaka lub jeden jest rozłączony. Każdy krok jest sterowany za pomocą czterech pinów wyjściowych, które łączą się z mostkami DRV8833 H. Kolejność okablowania wejścia do DRV8833 to: IN1, IN2, Zasilanie, Uziemienie, IN3, IN4. Dla celów wyjściowych NEMA łączy się po prostu ze środkowymi czterema z sześciu pinów w kolejności: CZERWONY, SZARY, ŻÓŁTY, ZIELONY. Teraz podłączmy zasilanie. Mam swoje NEMA na portach cyfrowych 2–13.
Aby to zasilić, kupiłem zasilacz 12V AC/DC z rozdzielaczem, aby móc zasilać zarówno Arduino, jak i wszystkie stepery. OSTRZEŻENIE: Nie podłączaj przewodów zasilających i uziemiających z Arduino już zasilanego z portu do płytki stykowej otrzymującej bezpośrednie zasilanie z AC/DC. Usmaży twoją deskę. Z zasilacza 12V podłączonego do ściany jedna część rozdzielacza poszła prosto do portu Arduino, a druga do dodatniego i ujemnego płytki chleba.
Wreszcie nadszedł czas, aby podłączyć przycisk. Jedna strona przycisku będzie wymagała zarówno zasilania (z wpiętym naszym rezystorem), jak i przylutowanego pinu wyjściowego (można to również zrobić z płytki stykowej). Drugi pin będzie naszą ziemią. Te trzy przewody należy podłączyć do: zasilania z rezystorem do 5 V, wyjścia do A0 i uziemienia do masy, wszystko na samej płytce Arduino Uno.
Stąd powinniśmy być w stanie spróbować kontrolować steppery za pomocą tego podstawowego kodu testu krokowego, który można znaleźć tutaj. To wyjaśnienie na Arduino.cc zawiera również dokładniejsze wyjaśnienie bi/unipolarnych stepperów, jeśli tego potrzebujesz. Następnie przejdźmy do kodu Pomodoro!
Krok 2: Krok 2: Prześlij kod i dostosuj go do swoich potrzeb
Poniżej znajduje się kod mojego Pomodoro z przyciskiem, aby dostosować go do swojej konfiguracji, wykonaj następujące kroki:
1. Ustaw, ile kroków na obrót ma twój osobisty stepper (NEMA 17 ma 200 i jest wymieniony w stałej liczbie całkowitej zwanej stepsPerRevolution).
2. Ustaw, gdzie przycisk jest wprowadzany w stałej liczbie całkowitej dzwoniącego buttonPin.
3. Ustaw, skąd twoje arduino ma wyprowadzać dane, aby sterować krokami (te części mogą się najbardziej różnić między typami mostków H, ponieważ wiele z nich ma różne biblioteki, z których korzystają).
4. Ustaw prędkość krokową w obrotach na minutę w.setSpeed (mam swoje ustawione na 1 obr./min podczas obracania zgodnie z ruchem wskazówek zegara i 30 obr./min podczas obracania w lewo).
5. Ustaw, ile razy każdy z Twoich stepperów ma się obrócić, zanim ruszy (moje stepery liczą dziesięć minut, więc obracają się dziesięć razy z prędkością 1 obr./min).
6 Ustaw, jak długo ma się obracać do tyłu.
#włączać
const int stepsPerRevolution = 200; // ustawienie stałej liczby kroków w każdym pełnym obrocie moich silników krokowych
const int buttonPin = A0; // ustawianie stałej mojego wejścia przycisku
Stepper firstStepper(stepsPerRevolution, 2, 3, 4, 5); // zainicjuj bibliotekę krokową na określonych pinach
Krok drugiStepper(kroki na obrót, 6, 7, 8, 9); Krok trzeciStepper(krokiPerRevolution, 10, 11, 12, 13); Stepper firstStepperBack(stepsPerRevolution, 2, 3, 4, 5); // ponownie zainicjuj bibliotekę krokową na tych pinach, aby móc zresetować rpm w przypadku powiadomienia, że czas upłynął Stepper secondStepperBack(stepsPerRevolution, 6, 7, 8, 9); Krok trzeciStepperBack(krokiPerRevolution, 10, 11, 12, 13);
int minutLicznik = 0; // int liczenie pełnych obrotów stepperów
int stan licznika = NISKI; // aktualny stan timera pomodoro (HIGH = on, LOW = off/reset) int buttonState; // aktualny odczyt z pinu wejściowego int lastButtonState = HIGH; // poprzedni odczyt z pinu wejściowego
// poniższe zmienne są unsigned long, ponieważ czas mierzony w milisekundach, // szybko stanie się większą liczbą niż można przechowywać w int. unsigned long lastDebounceTime = 0; // ostatni raz przełączany pin wyjściowy unsigned long debounceDelay = 50; // czas odbicia; zwiększyć, jeśli wyjście migocze
pusta konfiguracja () {
pinMode(buttonPin, INPUT_PULLUP); // ustaw stałą przycisku jako wejście
pierwszystepper.setSpeed(1); // ustaw prędkość na 1 rpm dla odliczania 10 minut na sekundę krokowąStepper.setSpeed(1); trzeciStepper.setSpeed(1); pierwszyStepperBack.setSpeed(30); // ustaw prędkość na 30 obr./min, aby ostrzec, że czas upłynął po zakończeniu przez Pomodoro secondStepperBack.setSpeed(30); trzeciStepperBack.setSpeed(30);
Serial.początek(9600); // uruchom monitor szeregowy z szybkością transmisji 9600 ba
}
pusta pętla () {
// odczytaj stan przełącznika do zmiennej lokalnej: int reading = digitalRead(buttonPin);
// sprawdź, czy właśnie nacisnąłeś przycisk
// (tj. wejście przeszło z LOW na HIGH) i czekałeś // wystarczająco długo od ostatniego naciśnięcia, aby zignorować wszelkie szumy:
// Jeśli przełącznik zmienił się z powodu hałasu lub naciskania:
if (odczyt != lastButtonState) { // zresetuj licznik odbicia lastDebounceTime = millis(); } if ((millis() - lastDebounceTime) > debounceDelay) { // niezależnie od tego, jaki jest odczyt, jest tam dłużej // niż opóźnienie debounce, więc weź to jako aktualny stan bieżący:
// jeśli zmienił się stan przycisku:
if (odczyt != stan_przycisku) { stan_przycisku = czytanie;
// przełącz aktywację timera tylko wtedy, gdy nowy stan przycisku wskazuje, że został naciśnięty
// naciśnij raz, aby włączyć, naciśnij ponownie, aby wyłączyć, jeśli (buttonState == LOW) { timerState = !timerState; Serial.print("Stan zegara to "); Serial.println(stan timera); } } }
if (stan timera == WYSOKI) {
Serial.println("Licznik czasu Pomodoro został uruchomiony"); if (minutesCounter < 11) { //jeśli bieżąca druga wartość jest inna niż poprzednia to firstStepper.step(stepsPerRevolution); // włącz stepper 200 kroków/1 min obrotówLicznik++; Serial.print("Licznik minut to "); Serial.println(Licznik minut); }
if (11 <= licznik minut && licznik minut < 21) { //jeśli bieżąca druga wartość jest inna niż poprzednia to secondStepper.step(stepsPerRevolution); // włącz stepper 200 kroków/1 min obrotówLicznik++; Serial.print("Licznik minut to "); Serial.println(Licznik minut); }
if (21 <= licznik minut && licznik minut < 31) { //jeśli bieżąca druga wartość jest inna niż poprzednia, to thirdStepper.step(stepsPerRevolution); // włącz stepper 200 kroków/1 min obrotówLicznik++; Serial.print("Licznik minut to "); Serial.println(Licznik minut); }
if (31 <= minutesCounter && minutesCounter < 1031) { //jeśli aktualna druga wartość jest inna niż poprzednia, to firstStepperBack.step(-1); // cofnij krok do tyłu o 1 krok w kolejności, aby wyglądało na to, że wszystkie działają jednocześnie secondStepperBack.step(-1); trzeciStepperBack.step(-1); minutyLicznik++; Serial.print("Licznik minut to "); Serial.println(Licznik minut); } } else { Serial.println("Zegar Pomodoro jest wyłączony"); } // zapisz odczyt. Następnym razem w pętli, // będzie to lastButtonState: lastButtonState = czytanie; }
Krok 3: Krok 3: Zawieraj steppery i Arduino, jeśli chcesz
Zdecydowałem się stworzyć formę równoległoboczną dla mojego zegara. Ta forma i wybór materiałów czerwonego dębu zostały zainspirowane nowoczesnymi meblami z połowy wieku. Jedną z części, z którą miałem najwięcej trudności, było umieszczenie w stepperach tarczy przez ich iluminatory, aby były widoczne.
Zalecana:
Projekcja laserowa Pomodoro Timer: 5 kroków
Projekcja laserowa Pomodoro Timer: Witam wszystkich w ich domach podczas blokady. Mam nadzieję, że ta instrukcja pomoże ci przetrwać te dni. Więc używam techniki pomodoro do nauki w domu. Dla każdego, kto nie wie, czym jest technika pomodoro, jest to technika, która
Pierścień LED Pomodoro Timer Met: 5 kroków
Pomodoro Timer Met LED Ring: Voor het ITTT-project heb ik een variatie op een Pomodoro timer gemaakt. De Pomodoro „techniek” is een tijdmanagementmethode die gebruikers kan helpen om grote projecten in kleine stappen te verdelen en regelmatig pauze te houden. Hierbij
Pierwsze kroki z płytą La COOL: 4 kroki (ze zdjęciami)
Pierwsze kroki z płytą La COOL: wprowadzenie”Kiedy wpadliśmy na pomysł na płytkę La COOL, wyobraziłem sobie połączenie Arduino z Wi-Fi i modułową agronomiczną stacją pogodową. Do pracy autonomicznej musiał zużywać bardzo mało energii i chciałem móc sterować
SMD 555 Timer Piano!: 4 kroki (ze zdjęciami)
SMD 555 Timer Piano !: Witam wszystkich! W tej instrukcji pokażę, jak zrobić małe pianino za pomocą zwykłego Timera 555, ale z komponentami SMD! SMD oznacza urządzenie do montażu powierzchniowego, a te komponenty są montowane lub umieszczane bezpośrednio na powierzchni wydrukowanej
TIMER TECHNIKI POMODORO - ŁATWE W OBSŁUDZE URZĄDZENIE SPRZĘTOWE DO ZARZĄDZANIA CZASEM: 4 kroki
CZASOMIERZ TECHNIKI POMODORO - ŁATWE W OBSŁUDZE URZĄDZENIE SPRZĘTOWE DO ZARZĄDZANIA CZASEM: 1. Co to jest ?Technika pomodoro to umiejętność zarządzania czasem, która dzieli czas pracy na 25-minutowy blok i następuje 5 minut przerwy. szczegóły jak poniżej: https://francescocirillo.com/pages/pomodoro-techni…Ten zegar jest łatwy w użyciu ha