Inhoudsopgave:
- Stap 1: Stap 1: Soldeer- en verbindingscircuit buiten de container
- Stap 2: Stap 2: Code uploaden en aanpassen aan uw behoeften
- Stap 3: Stap 3: Bevat de steppers en Arduino als je wilt
Video: Stepper Pomodoro Timer - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:19
De Stepper Pomodoro is een bureautimer om iemand te helpen bij het beheren van zijn dagelijkse takenlijst door elke werkperiode op te delen in segmenten van 30 minuten. In tegenstelling tot een normale Pomodoro-timer, maakt het je echter niet angstig door de resterende tijd te laten zien. In plaats daarvan geeft het ongeveer de tijd weer via welke van de drie wijzerplaten tikt. Door niet de exacte tijd weer te geven, kunt u zich daadwerkelijk concentreren op de taak die voor u ligt, in plaats van constant uw resterende tijd te controleren. Deze Pomodoro is perfect voor diegenen die een lichte en onopvallende structuur nodig hebben voor hun taakbeheer.
Gereedschap
• Soldeerbout
• Draadstrippers
• Lasersnijder (of schuurmachine, afhankelijk van hoe u de wijzerplaten van de timer wilt maken)
• Boor (ik gebruikte een kolomboormachine om gaten te slaan die groot genoeg waren voor de wijzerplaten)
Materialen
• 1 Arduino Uno
• 1 halve broodplank
• 3 H-bruggen (ik heb DRV8833 gebruikt, een motorschild heeft me tijd en hoofdpijn bespaard)
• 3 Stappenmotoren (ik gebruikte NEMA 17 stappenmotoren)
• 1 knop
• 1 weerstand van 220-1K ohm (elke binnen bereik is goed)
• AC/DC-adapter (ik gebruikte een 12V, waarschijnlijk te groot voor dit aantal steppers)
• Stroomsplitter
• USB A-B-draad
• Breadboard-draden
• Soldeer
• Materialen voor container met timer
• Acryl voor wijzerplaten
• Spijkers of metalen pinnen om als stationaire arm van de timer te fungeren
Stap 1: Stap 1: Soldeer- en verbindingscircuit buiten de container
Voor deze stap ben ik begonnen met het aan elkaar solderen van al mijn H-bruggen (als je het motorschild koopt, hoef je deze niet te solderen. Als je eenmaal een H-brug voor elke stepper hebt, kun je controleren hoe je steppers zijn bedraad.
De NEMA 17's zijn wat bekend staat als bipolaire stappenmotoren, wat betekent dat ze twee (in plaats van één) set spoelen in de motor hebben die van polariteit veranderen om een nauwkeurige beweging van de motor mogelijk te maken. Bipolaire steppers hebben normaal gesproken vier draden en Polar steppers hebben er normaal zes, dit bemoeilijkte de instructies online een beetje. U kunt echter een multimeter op twee draden aansluiten en kijken of ze zijn aangesloten of niet. De NEMA 17 steppers hebben hun draadvolgorde in ROOD, GEEL, GRIJS, GROEN kleurvolgorde, waarbij rood en grijs het eerste polaire paar zijn en geel en groen het tweede polaire paar. Als de stepper op enig moment begint te trillen in plaats van de verwachte beweging te voltooien, is de kans groot dat uw draden op de een of andere manier niet correct zijn gepolariseerd naar hun tweelingbroer of dat een is losgekoppeld. Elke stepper wordt bestuurd via vier uitgangspinnen die worden aangesloten op de DRV8833 H-bruggen. De bedradingsvolgorde voor de ingang naar de DRV8833 is: IN1, IN2, Power, Ground, IN3, IN4. Voor uitvoerdoeleinden maakt de NEMA gewoon verbinding met de middelste vier van de zes pinnen in de volgorde: ROOD, GRIJS, GEEL, GROEN. Laten we nu de stroom aansluiten. Ik heb mijn NEMA's op digitale poorten 2-13.
Om dit van stroom te voorzien heb ik een 12V AC/DC-adapter met splitter gekocht om zowel de Arduino als alle steppers van stroom te kunnen voorzien. WAARSCHUWING: Sluit uw stroom- en aardingsdraden van de Arduino die al stroom krijgt van de poort niet aan op het breadboard dat directe stroom krijgt van de AC/DC. Het zal je bord frituren. Van de 12V-adapter die in de muur was gestoken, ging het ene deel van de splitter rechtstreeks naar de Arduino-poort en het andere naar de positieve en negatieve van het breadboard.
Ten slotte is het tijd om de knop aan te sluiten. De ene kant van de knop heeft zowel stroom nodig (met onze weerstand erin gesplitst) als de uitgangspin erop gesoldeerd (dit kan ook vanaf het breadboard). De andere pin zal onze grond zijn. Deze drie draden moeten worden aangesloten: voeding met weerstand naar 5V, uitgang naar A0 en aarde naar aarde allemaal op het Arduino Uno-bord zelf.
Vanaf hier zouden we moeten kunnen proberen de steppers te besturen met behulp van deze standaard stepper-testcode die hier te vinden is. Deze uitleg op Arduino.cc geeft ook een meer grondige uitleg van bi/unipolaire steppers als je die nodig hebt. Laten we vervolgens ingaan op de code voor de Pomodoro!
Stap 2: Stap 2: Code uploaden en aanpassen aan uw behoeften
Hieronder vindt u de code voor mijn Pomodoro met knop, om deze aan uw instellingen aan te passen, volgt u deze stappen:
1. Stel in hoeveel stappen per omwenteling uw persoonlijke stepper-type heeft (NEMA 17's hebben 200 en het wordt vermeld in het constante gehele getal genaamd stepsPerRevolution).
2. Stel in waar uw knop naar invoert in de constante integer caller buttonPin.
3. Stel in waar je arduino moet uitkomen om de steppers te besturen (deze onderdelen kunnen het meest verschillen tussen H-brugtypes, omdat veel verschillende bibliotheken hebben die ze gebruiken).
4. Stel de stappensnelheid in RPM's in de.setSpeed in (ik heb de mijne ingesteld op 1 rpm bij rechtsom draaien en 30 rpm bij linksom draaien).
5. Stel in hoe vaak u wilt dat elk van uw steppers wordt gedraaid voordat het verder gaat (mijn steppers tellen tien minuten, dus ze draaien tien keer met 1 RPM).
6 Stel in hoe lang u wilt dat hij achteruit draait.
#erbij betrekken
const int stepsPerRevolution = 200; // constante instelling van het aantal stappen in elke volledige omwenteling van mijn stappenmotoren
const int buttonPin = A0; // constante van mijn knopinvoer instellen
Stepper firstStepper(stepsPerRevolution, 2, 3, 4, 5); // initialiseer de stepper-bibliotheek op bepaalde pinnen
Stepper secondStepper(stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepper(stepsPerRevolution, 10, 11, 12, 13); Stepper firstStepperBack(stepsPerRevolution, 2, 3, 4, 5); // initialiseer de stepper-bibliotheek op deze pinnen opnieuw om het toerental opnieuw in te stellen voor wanneer wordt gewaarschuwd dat de tijd is verstreken Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepperBack(stepsPerRevolution, 10, 11, 12, 13);
int minutenTeller = 0; // int tellen van volledige omwentelingen van steppers
int timerState = LAAG; // de huidige status van de pomodoro-timer (HIGH = aan, LOW = off/reset) int buttonState; // de huidige waarde van de invoerpin int lastButtonState = HOOG; // de vorige lezing van de invoerpin
// de volgende variabelen zijn unsigned long's omdat de tijd, gemeten in milliseconden, // wordt snel een groter getal dan kan worden opgeslagen in een int. niet-ondertekend lang lastDebounceTime = 0; // de laatste keer dat de uitvoerpin werd omgeschakeld naar unsigned long debounceDelay = 50; // de debouncetijd; verhogen als de output flikkert
ongeldige setup() {
pinMode (buttonPin, INPUT_PULLUP); // stel de constante van de knop in als invoer
firstStepper.setSpeed(1); // stel de snelheid in op 1 rpm voor het tellen van 10 minuten per stepper secondStepper.setSpeed(1); thirdStepper.setSpeed(1); firstStepperBack.setSpeed(30); // stel de snelheid in op 30 rpm om te waarschuwen dat de tijd is verstreken nadat Pomodoro secondStepperBack.setSpeed (30) heeft voltooid; thirdStepperBack.setSpeed (30);
Serieel.begin(9600); // start seriële monitor met een baudrate van 9600
}
lege lus() {
// lees de status van de switch in een lokale variabele: int reading = digitalRead (buttonPin);
// controleer of je net op de knop hebt gedrukt
// (d.w.z. de invoer ging van LAAG naar HOOG), en je hebt // lang genoeg gewacht sinds de laatste keer drukken om ruis te negeren:
// Als de schakelaar is gewijzigd vanwege ruis of door te drukken:
if (lezing! = lastButtonState) {// reset de debounce-timer lastDebounceTime = millis (); } if ((millis() - lastDebounceTime) > debounceDelay) { // wat de meting ook is, het is er al langer // dan de debounce-vertraging, dus neem het als de werkelijke huidige status:
// als de knopstatus is gewijzigd:
if (lezen! = buttonState) { buttonState = lezen;
// schakel de timer-activering alleen in als de nieuwe knopstatus aangeeft dat deze is ingedrukt
// druk eenmaal om in te schakelen, druk nogmaals om uit te schakelen als (buttonState == LAAG) { timerState = !timerState; Serial.print("Timerstatus is "); Serial.println(timerState); } } }
if (timerState == HOOG) {
Serial.println ("Pomodoro-timer is begonnen"); if (minutesCounter < 11) { // als de huidige tweede waarde anders is dan de vorige waarde dan firstStepper.step (stepsPerRevolution); // draai stepper 200 stappen/1 omwenteling minutenCounter++; Serial.print("minutenteller is "); Serial.println(minutenteller); }
if (11 <= minutesCounter && minutesCounter < 21) { // als de huidige tweede waarde anders is dan de vorige waarde dan secondStepper.step (stepsPerRevolution); // draai stepper 200 stappen/1 omwenteling minutenCounter++; Serial.print("minutenteller is "); Serial.println(minutenteller); }
if (21 <= minutesCounter && minutesCounter < 31) { // als de huidige tweede waarde anders is dan de vorige waarde dan thirdStepper.step (stepsPerRevolution); // draai stepper 200 stappen/1 omwenteling minutenCounter++; Serial.print("minutenteller is "); Serial.println(minutenteller); }
if (31 <= minutesCounter && minutesCounter < 1031) { // als de huidige tweede waarde anders is dan de vorige waarde dan firstStepperBack.step (-1); // draai stepper 1 stap terug zodat het lijkt alsof ze allemaal tegelijk draaien secondStepperBack.step(-1); thirdStepperBack.step(-1); minutenTeller++; Serial.print("minutenteller is "); Serial.println(minutenteller); } } else { Serial.println ("Pomodoro-timer is uit"); } // sla de lezing op. De volgende keer door de lus, // is het de lastButtonState: lastButtonState = reading; }
Stap 3: Stap 3: Bevat de steppers en Arduino als je wilt
Ik koos ervoor om een parallellogramvorm voor mijn klok te maken. Deze vorm en de materiaalkeuzes van rood eiken zijn geïnspireerd op moderne meubels uit het midden van de eeuw. Een onderdeel waar ik de meeste moeite mee had, was om de steppers te voorzien van wijzerplaten door hun patrijspoorten om vanaf te kunnen worden gezien.
Aanbevolen:
CNC servo stepper (geschikt voor GRBL): 4 stappen
CNC Servo Stepper (GRBL Capable): Dit project is een vrij eenvoudige motorcontroller die het gebruik van goedkope krachtige DC-motoren met GRBL mogelijk maakt om de spindels van een CNC-machine te bedienen. Bekijk de video hierboven voor een demonstratie van deze controller op mijn zelfgebouwde CNC-machinecon
Stappenmotor met D Flip Flops en 555 Timer; het eerste deel van het circuit de 555 Timer: 3 stappen
Stappenmotor met D-flip-flops en 555-timer; het eerste deel van het circuit de 555-timer: de stappenmotor is een gelijkstroommotor die in discrete stappen beweegt. Het wordt vaak gebruikt in printers en zelfs robotica. Ik zal dit circuit in stappen uitleggen. Het eerste deel van het circuit is een 555 tijdopnemer. Het is de eerste afbeelding (zie hierboven) met een 555-chip met
AVR-microcontroller. LED's Flasher met behulp van timer. Timers worden onderbroken. Timer CTC-modus: 6 stappen
AVR-microcontroller. LED's Flasher met behulp van timer. Timers worden onderbroken. Timer CTC Mode: Hallo allemaal! Timers is een belangrijk begrip op het gebied van elektronica. Elk elektronisch onderdeel werkt op tijdbasis. Deze tijdbasis helpt om al het werk gesynchroniseerd te houden. Alle microcontrollers werken op een vooraf gedefinieerde klokfrequentie, de
POMODORO TECHNIEK TIMER - EENVOUDIG GEBRUIK HARDWARE APPARAAT VOOR TIJDBEHEER: 4 stappen
POMODORO TECHNIEK TIMER - EENVOUDIG GEBRUIK HARDWARE-APPARAAT VOOR TIJDBEHEER: 1. Wat is dit? De pomodoro-techniek is een tijdmanagementvaardigheid die de werktijd in blokken van 25 minuten verdeelt en 5 minuten pauzetijd volgt. details zoals hieronder: https://francescocirillo.com/pages/pomodoro-techni… Deze timer is een makkelijk te gebruiken ha
NE555-timer - De NE555-timer configureren in een astabiele configuratie: 7 stappen
NE555-timer | De NE555-timer configureren in een stabiele configuratie: De NE555-timer is een van de meest gebruikte IC's in de elektronicawereld. Het heeft de vorm van DIP 8, wat betekent dat het 8 pinnen heeft