Satura rādītājs:
- 1. darbība: 1. darbība: lodēšanas un savienošanas ķēde ārpus konteinera
- 2. darbība: 2. darbība: koda augšupielāde un pielāgošana savām vajadzībām
- 3. solis: 3. solis: Ja vēlaties, satveriet steperus un Arduino
Video: Stepper Pomodoro taimeris: 3 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Stepper Pomodoro ir galda taimeris, kas palīdz pārvaldīt ikdienas uzdevumu sarakstu, sadalot katru darba periodu 30 minūšu segmentos. Tomēr atšķirībā no parastā Pomodoro taimera tas nerada bažas, parādot atlikušo laiku. Tā vietā tas aptuveni parāda laiku, pa kuru no trim ciparripām tiek atzīmēta. Nerādot precīzu laiku, tas ļauj faktiski koncentrēties uz uzdevumu, nevis pastāvīgi pārbaudīt atlikušo laiku. Šis Pomodoro ir lieliski piemērots tiem, kam uzdevumu pārvaldībā nepieciešama viegla un neuzkrītoša struktūra.
Rīki
• Lodāmurs
• Stiepļu noņēmēji
• Lāzera griezējs (vai slīpmašīna atkarībā no tā, kā vēlaties izveidot taimera ciparnīcas)
• Urbis (es izmantoju urbšanas presi, lai izurbtu pietiekami lielus caurumus ciparnīcām)
Materiāli
• 1 Arduino Uno
• 1 pusmēra maizes dēlis
• 3 H tilti (es izmantoju DRV8833, motora vairoga stiprinājums man ir ietaupījis laiku un galvassāpes)
• 3 pakāpju motori (es izmantoju NEMA 17 pakāpienus)
• 1 poga
• 1 220-1K omu rezistors (jebkurš diapazonā ir labs)
• Maiņstrāvas/līdzstrāvas adapteris (es izmantoju 12 V, iespējams, pārāk liels šim steperu daudzumam)
• Strāvas sadalītājs
• USB A-B vads
• Maizes dēļa vadi
• lodēt
• Materiāli taimera tvertnei
• Akrils ciparnīcām
• Nagi vai metāla tapas, kas darbojas kā stacionāra taimera roka
1. darbība: 1. darbība: lodēšanas un savienošanas ķēde ārpus konteinera
Šim solim es sāku ar visu manu H tiltu lodēšanu (ja iegādājaties motora vairogu, jums tas nav jālodē. Kad katram solim ir H tilts, varat pārbaudīt, kā ir pieslēgti steperi.
NEMA 17 ir tie, kas pazīstami kā bipolāri pakāpju motori, kas nozīmē, ka tiem ir divi (nevis viens) spoļu komplekts motorā, kas maina polaritāti, lai nodrošinātu precīzu motora kustību. Bipolāriem soļiem parasti ir četri vadi, bet polāriem - seši, tas nedaudz sarežģī norādījumus tiešsaistē. Tomēr diviem vadiem varat pievienot multimetru un pārbaudīt, vai tie ir savienoti vai nav. NEMA 17 pakāpienu vadu secība ir SARKANA, DZELTENA, PELĒKA, ZAĻA krāsu secībā, un sarkanais un pelēkais ir pirmais polārais pāris, bet dzeltenais un zaļais ir otrais polārais pāris. Ja kādā brīdī solis sāk raustīties, nevis pabeidz gaidīto kustību, pastāv liela varbūtība, ka jūsu vadi kaut kā nav pareizi polarizēti pret savu dvīni vai viens ir atvienots. Katru soli kontrolē četras izejas tapas, kas savienojas ar tiltiem DRV8833 H. Elektroinstalācijas secība ievadam DRV8833 ir šāda: IN1, IN2, Power, Ground, IN3, IN4. Izvades nolūkos NEMA vienkārši savienojas ar sešu kontaktu četriem vidējiem šādā secībā: SARKANS, PELĒKS, DZELTENS, ZAĻS. Tagad pievienosim strāvu. Man ir NEMA digitālajos portos 2–13.
Lai to darbinātu, es iegādājos 12V maiņstrāvas/līdzstrāvas adapteri ar sadalītāju, lai varētu darbināt gan Arduino, gan visus pakāpienus. BRĪDINĀJUMS: Nepievienojiet strāvas un zemējuma vadus no Arduino, kas jau saņem strāvu no ostas, uz maizes dēli, kas saņem tiešu barošanu no maiņstrāvas/līdzstrāvas. Tas apcep jūsu dēli. No 12 V adaptera, kas pievienots sienai, viena sadalītāja daļa devās tieši uz Arduino portu, bet otra - uz maizes dēļa pozitīvo un negatīvo.
Visbeidzot, ir pienācis laiks pieslēgt pogu. Vienai pogas pusei būs nepieciešama gan jauda (ar mūsu rezistoru, kas savienota), gan izejas tapa pielodēta (to var izdarīt arī no maizes dēļa). Otra tapa būs mūsu zeme. Šie trīs vadi ir jāpievieno: barošana ar rezistoru līdz 5 V, izeja uz A0 un zemējums, lai viss zemētu uz pašas Arduino Uno plates.
No šejienes mums vajadzētu būt iespējai mēģināt kontrolēt pakāpienus, izmantojot šo šeit atrodamo pamata stepper testa kodu. Šis paskaidrojums vietnē Arduino.cc sniedz arī rūpīgāku bi/unipolar stepperu skaidrojumu, ja tas jums nepieciešams. Tālāk ļaujiet iekļūt Pomodoro kodā!
2. darbība: 2. darbība: koda augšupielāde un pielāgošana savām vajadzībām
Zemāk ir kods manam Pomodoro ar pogu, lai to pielāgotu jūsu iestatījumiem, veiciet tālāk norādītās darbības.
1. Iestatiet, cik soļu vienā apgriezienā ir jūsu personīgajam pakāpju tipam (NEMA 17s ir 200, un tas ir norādīts nemainīgā veselā skaitlī, ko sauc par stepsPerRevolution).
2. Iestatiet, kur jūsu poga tiek ievadīta nemainīgā vesela skaitļa zvanītāja pogā.
3. Iestatiet, no kurienes jūsu arduino vajadzētu izvadīt, lai komandētu stepperus (šīs daļas var visvairāk atšķirties starp H tiltu veidiem, jo daudziem ir dažādas bibliotēkas, kuras tās izmanto).
4. Iestatiet pakāpju ātrumu RPM minūtē.
5. Iestatiet, cik reizes vēlaties, lai katrs no jūsu steperiem pagrieztos, pirms tas virzās tālāk (mani steperi skaita desmit minūtes, tāpēc tie rotē desmit reizes ar 1 apgriezienu minūtē).
6 Iestatiet, cik ilgi vēlaties griezties atpakaļ.
#iekļaut
const int soļiPerRevolution = 200; // iestatīšanas konstante, cik soļu ir katrā manu soļu dzinēju pilnajā apgriezienā
const int pogaPin = A0; // manu pogu ievades konstante
Stepper firstStepper (stepsPerRevolution, 2, 3, 4, 5); // inicializējiet stepper bibliotēku noteiktās tapās
Stepper secondStepper (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepper (stepsPerRevolution, 10, 11, 12, 13); Stepper firstStepperBack (stepsPerRevolution, 2, 3, 4, 5); // atkārtoti inicializēt stepper bibliotēku uz šīm tapām, lai varētu atiestatīt apgriezienus minūtē, brīdinot, ka laiks ir beidzies Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9); Step trešaisStepperBack (stepsPerRevolution, 10, 11, 12, 13);
int minutesCounter = 0; // int, skaitot pilnus stepperu apgriezienus
int timerState = LOW; // pomodoro taimera pašreizējais stāvoklis (HIGH = ieslēgts, LOW = izslēgts/atiestatīts) int buttonState; // pašreizējais nolasījums no ievades tapas int lastButtonState = HIGH; // iepriekšējais nolasījums no ievades tapas
// tālāk norādītie mainīgie nav parakstīti, jo laiks tiek mērīts milisekundēs, // ātri kļūs par lielāku skaitli, nekā to var saglabāt int. neparakstīts ilgi lastDebounceTime = 0; // pēdējo reizi, kad izvades tapa tika pārslēgta neparakstīta ilga debounceDelay = 50; // debounce time; palielināt, ja izeja mirgo
void setup () {
pinMode (buttonPin, INPUT_PULLUP); // iestatiet pogas konstanti kā ievadi
firstStepper.setSpeed (1); // iestatiet ātrumu 1 apgr./min, lai skaitītu 10 minūtes sekundēStepper.setSpeed (1); thirdStepper.setSpeed (1); firstStepperBack.setSpeed (30); // iestatiet ātrumu 30 apgr./min, lai brīdinātu, ka laiks ir beidzies pēc tam, kad Pomodoro ir pabeidzis secondStepperBack.setSpeed (30); thirdStepperBack.setSpeed (30);
Sērijas sākums (9600); // sākt sērijveida monitoru ar 9600 batu pārraides ātrumu
}
void loop () {
// nolasīt slēdža stāvokli vietējā mainīgajā: int reading = digitalRead (buttonPin);
// pārbaudiet, vai tikko nospiedāt pogu
// (t.i., ievade mainījās no LOW uz HIGH), un jūs esat gaidījis // pietiekami ilgi kopš pēdējās nospiešanas, lai ignorētu troksni:
// Ja slēdzis ir mainīts trokšņa vai nospiešanas dēļ:
if (lasot! = lastButtonState) {// atiestatīt debouncing taimeri lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// neatkarīgi no rādījuma, tas ir tur bijis ilgāk // nekā atkāpšanās kavēšanās, tāpēc ņemiet to par faktisko pašreizējo stāvokli:
// ja pogas stāvoklis ir mainījies:
if (lasot! = buttonState) {buttonState = lasīšana;
// pārslēdz taimera aktivizēšanu tikai tad, ja jaunais pogas stāvoklis norāda, ka tas ir nospiests
// nospiediet vienreiz, lai ieslēgtu, vēlreiz nospiediet, lai izslēgtu, ja (buttonState == LOW) {timerState =! timerState; Serial.print ("Taimera stāvoklis ir"); Serial.println (timerState); }}}
if (timerState == HIGH) {
Serial.println ("Pomodoro taimeris ir sācies"); if (minutesCounter <11) {// ja pašreizējā otrā vērtība atšķiras no iepriekšējās vērtības, tad firstStepper.step (stepsPerRevolution); // pagriezt soli 200 soļi/1 apgriezienu minūtesCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }
if (11 <= minutesCounter && minutesCounter <21) {// ja pašreizējā otrā vērtība atšķiras no iepriekšējās vērtības, tad secondStepper.step (stepsPerRevolution); // pagriezt soli 200 soļi/1 apgriezienu minūtesCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }
if (21 <= minutesCounter && minutesCounter <31) {// ja pašreizējā otrā vērtība atšķiras no iepriekšējās vērtības, tad thirdStepper.step (stepsPerRevolution); // pagriezt soli 200 soļi/1 apgriezienu minūtesCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }
if (31 <= minutesCounter && minutesCounter <1031) {// ja pašreizējā otrā vērtība atšķiras no iepriekšējās vērtības, tad firstStepperBack.step (-1); // pagrieziet soli atpakaļ 1 soli, lai parādītos tā, it kā visi vienlaikus darbotos secondStepperBack.step (-1); trešaisStepperBack.step (-1); minutesCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }} else {Serial.println ("Pomodoro taimeris ir izslēgts"); } // saglabāt lasījumu. Nākamreiz, izmantojot cilpu, // tas būs lastButtonState: lastButtonState = lasījums; }
3. solis: 3. solis: Ja vēlaties, satveriet steperus un Arduino
Es izvēlējos savam pulkstenim izveidot paralelogrammas formu. Šo formu un sarkanā ozola materiālu izvēli iedvesmoja viduslaiku modernās mēbeles. Viena daļa, kas man sagādāja vislielākās grūtības, bija stepperu uzstādīšana ar ciparnīcām caur to iluminatoriem, lai būtu redzams.
Ieteicams:
Barošanas taimeris ar Arduino un rotējošo kodētāju: 7 soļi (ar attēliem)
Barošanas taimeris ar Arduino un rotācijas kodētāju: Šis barošanas taimeris ir balstīts uz taimeri, kas parādīts vietnē: https://www.instructables.com/id/Timer-With-Arduin..Ar barošanas moduli un SSR ) tika pievienoti. Var darbināt jaudas slodzi līdz 1 kW, un ar minimālām izmaiņām l
Stepper Motor kontrolējams Stepper Motor bez mikrokontrollera (V2): 9 soļi (ar attēliem)
Pakāpju motora kontrolēts pakāpju motors bez mikrokontrollera (V2): Vienā no maniem iepriekšējiem norādījumiem es parādīju, kā vadīt pakāpju motoru, izmantojot soļu motoru bez mikrokontrollera. Tas bija ātrs un jautrs projekts, taču tam bija divas problēmas, kuras tiks atrisinātas šajā instrukcijā. Tātad, asprātīgi
Lāzera projekcijas pomodoro taimeris: 5 soļi
Lāzera projekcijas Pomodoro taimeris: Sveiki visiem savās mājās bloķēšanas laikā. Es ceru, ka šī pamācība palīdzēs jums izdzīvot šīs dienas. Tāpēc es izmantoju pomodoro tehniku, lai mācītos mājās. Ikvienam, kurš nezina, kas ir pomodoro tehnika, tā ir tehnika, kas
Stepper motors ar D Flip Flops un 555 taimeri; ķēdes pirmā daļa 555 taimeris: 3 soļi
Stepper motors ar D Flip Flops un 555 taimeri; ķēdes pirmā daļa 555 taimeris: pakāpienu motors ir līdzstrāvas motors, kas pārvietojas atsevišķos soļos. To bieži izmanto printeros un pat robotikā. Es izskaidrošu šo ķēdi soļos. Ķēdes pirmā daļa ir 555 taimeris. Tas ir pirmais attēls (skatīt iepriekš) ar 555 mikroshēmu ar
Pomodoro taimeris Met LED gredzens: 5 soļi
Pomodoro taimeris ar LED gredzenu: Voor het ITTT-project heb ik een variatie op een Pomodoro timer gemaakt. De Pomodoro " tehnikas " is eij tijdmanagementmethode die gebruikers can helpen om grote projecten in kleine stappen te verdelen en regelmatig pauze te houden. Hierbij