Բովանդակություն:
- Քայլ 1: Քայլ 1. Uitոդում և միացում միացում տարայից դուրս
- Քայլ 2: Քայլ 2. Վերբեռնեք ծածկագիրը և այն հարմարեցրեք ձեր կարիքներին
- Քայլ 3. Քայլ 3. Պարունակեք Steppers և Arduino, եթե ցանկանում եք
Video: Stepper Pomodoro ժամաչափ. 3 քայլ (նկարներով)
2024 Հեղինակ: John Day | [email protected]. Վերջին փոփոխված: 2024-01-30 09:51
Stepper Pomodoro- ն գրասեղանի ժամաչափ է, որն օգնում է կառավարել իրենց ամենօրյա առաջադրանքների ցուցակը ՝ աշխատանքի յուրաքանչյուր ժամանակահատվածը բաժանելով 30 րոպեանոց հատվածների: Այնուամենայնիվ, ի տարբերություն սովորական Pomodoro ժամաչափի, այն ձեզ չի անհանգստացնում ՝ ցույց տալով մնացած ժամանակը: Փոխարենը, այն ցույց է տալիս մոտավորապես այն ժամանակը, որի միջոցով երեք թվանշաններից որն է թռչում: Showingույց չտալով ճշգրիտ ժամանակը, դա թույլ է տալիս իրականում կենտրոնանալ առաջադրանքի վրա, այլ ոչ թե անընդհատ ստուգել մնացած ժամանակը: Այս Pomodoro- ն կատարյալ է նրանց համար, ովքեր կարիք ունեն թեթև և աննկատ կառուցվածքի իրենց առաջադրանքների կառավարման մեջ:
Գործիքներ
• oldոդման երկաթ
• մետաղալարեր մերկացնողներ
• Լազերային կտրիչ (կամ սրբիչ `կախված այն բանից, թե ինչպես եք ցանկանում ստեղծել ժամաչափի հավաքիչներ)
• Գայլիկոն (ես օգտագործել եմ փորված մամլիչ ՝ հավաքիչների համար բավական մեծ անցքեր բացելու համար)
Նյութեր
• 1 Arduino Uno
• 1 կես չափի տախտակ
• 3 H կամուրջներ (ես օգտագործել եմ DRV8833- ը, շարժիչի վահանը ինձ փրկել է որոշ ժամանակ և գլխացավեր)
• 3 քայլ շարժիչ (ես օգտագործել եմ NEMA 17 տափակ)
• 1 կոճակ
• 1 220-1K Օմ դիմադրություն (ցանկացած միջակայքում լավ է)
• AC/DC ադապտեր (ես օգտագործել եմ 12 Վ, հավանաբար չափազանց մեծ այս քանակությամբ տափաստանների համար)
• Հոսանքի բաժանարար
• USB A-B լար
• Գրատախտակի լարեր
• oldոդող
• Materամաչափի տարայի համար նյութեր
• Ակրիլային հավաքիչ
• Եղունգներ կամ մետաղական կապում `որպես ժամաչափի ստացիոնար թև
Քայլ 1: Քայլ 1. Uitոդում և միացում միացում տարայից դուրս
Այս քայլի համար ես սկսեցի իմ բոլոր H կամուրջները միասին զոդել (եթե դուք գնում եք շարժական վահանը, դրանք պետք չէ զոդել: Երբ յուրաքանչյուր աստիճանի համար H կամուրջ ունեք, կարող եք ստուգել, թե ինչպես են ձեր տափաստանները միացված:
NEMA 17- երն այն են, ինչ հայտնի է որպես երկբևեռ քայլող շարժիչներ, ինչը նշանակում է, որ նրանք շարժիչի ներսում ունեն երկու (ոչ թե մեկ) կծիկ, որոնք փոխում են բևեռականությունը `շարժիչի ճշգրիտ շարժումը թույլ տալու համար: Սովորաբար երկբևեռ քայլողներն ունեն չորս լար, իսկ բևեռային աստիճաններ ունեցողները ՝ վեց, սա մի փոքր բարդացրեց առցանց հրահանգները: Այնուամենայնիվ, դուք կարող եք մի քանի մետր ամրացնել երկու լարերին և տեսնել, արդյոք դրանք միացված են, թե ոչ: NEMA 17 տափաստաններն ունեն մետաղալարերի կարգը ԿԱՐՄԻՐ, ԴԵELLԻՆ, ՄՈAYՅՆ, Կանաչ գույնի կարգով, կարմիր և մոխրագույնը ՝ առաջին բևեռային զույգը, իսկ դեղինը և կանաչը ՝ երկրորդ բևեռային զույգը: Եթե ինչ -որ պահի քայլափողը սկսում է ցնցվել, այլ ոչ թե ավարտել ակնկալվող շարժումը, հավանականությունն այն է, որ ձեր լարերը ինչ -որ կերպ ճիշտ բևեռացված չեն իրենց երկվորյակին կամ մեկը անջատված է: Յուրաքանչյուր սլաքը վերահսկվում է չորս ելքային կապում, որոնք միանում են DRV8833 H կամուրջներին: DRV8833- ի մուտքի էլեկտրագծերի կարգը հետևյալն է `IN1, IN2, Power, Ground, IN3, IN4: Ելքային նպատակների համար NEMA- ն պարզապես միանում է վեց կապոցների միջնամասին `ԿԱՐՄԻՐ, ՄՈAYՅՆ, ԴԵELLԻՆ, Կանաչ: Հիմա եկեք միացնենք հոսանքը: Ես ունեմ իմ NEMA- ն թվային 2-13 նավահանգիստների վրա:
Այս սնուցման համար ես գնել եմ 12V AC/DC ադապտեր ՝ պառակտիչով, որպեսզի կարողանամ սնուցել ինչպես Arduino- ն, այնպես էլ բոլոր քայլերը: Ո WՇԱԴՐՈԹՅՈՆ. Մի միացրեք ձեր հոսանքի և գրունտի լարերը Arduino- ից, որոնք արդեն էներգիա են ստանում նավահանգստից, AC/DC- ից անմիջական էներգիա ստացող տախտակին: Դա տապակելու է ձեր տախտակը: Պատին միացված 12 Վ ադապտերից պառակտիչի մի մասը ուղիղ գնաց Արդուինոյի նավահանգիստ, իսկ մյուսը `հացի տախտակի դրական և բացասական կողմերի:
Ի վերջո, ժամանակն է միացնել կոճակը: Կոճակի մի կողմը կպահանջի ինչպես հոսանք (մեր դիմադրության մեջ միացված), այնպես էլ ելքային կապը կպցրած (դա կարելի է անել նաև տախտակից): Մյուս քորոցը կլինի մեր հիմքը: Այս երեք լարերը պետք է միացված լինեն. Հոսանքի դիմադրիչ ՝ մինչև 5 Վ, ելք ՝ A0, և հողից մինչև գետն ՝ բոլորը Arduino Uno տախտակի վրա:
Այստեղից մենք պետք է կարողանանք փորձել վերահսկել քայլին ՝ օգտագործելով այստեղ գտնված այս հիմնական աստիճանական թեստի կոդը: Arduino.cc- ի այս բացատրությունը նաև անհրաժեշտության դեպքում ավելի մանրակրկիտ բացատրում է երկբևեռ բեկորների մասին: Հաջորդը եկեք մուտքագրենք Pomodoro- ի ծածկագիրը:
Քայլ 2: Քայլ 2. Վերբեռնեք ծածկագիրը և այն հարմարեցրեք ձեր կարիքներին
Ստորև բերված է կոճակով իմ Pomodoro- ի ծածկագիրը, այն ձեր կարգավորումների վրա հարմարեցնելու համար հետևեք այս քայլերին.
1. Սահմանեք, թե քանի քայլ է կատարում յուրաքանչյուր հեղափոխության ձեր անձնական աստիճանի տիպը (NEMA 17 -երը ունեն 200 հատ և այն նշված է stepPerRevolution կոչվող մշտական ամբողջ թվով):
2. Սահմանեք, թե որտեղ է ձեր կոճակը մուտքագրվում մշտական ամբողջ զանգահարողի կոճակին:
3. Տեղադրեք, թե որտեղից պետք է ձեր arduino- ն դուրս գա ՝ քայլողներին հրամայելու համար (այս մասերը կարող են ամենաշատը տարբերվել H կամուրջների տեսակների միջև, քանի որ շատերն ունեն տարբեր գրադարաններ, որոնք օգտագործում են):
4. Սահմանեք արագաչափի արագությունը RPM- ով:
5. Սահմանեք, թե քանի անգամ կցանկանայիք, որ ձեր քայլողներից յուրաքանչյուրը շրջվեր նախքան այն շարժվելը (իմ քայլողները հաշվում են տասը րոպե, այնպես որ նրանք տասը անգամ պտտվում են 1 RPM- ով):
6 Սահմանեք, թե որքան ժամանակ եք ցանկանում, որ այն հետ պտտվի:
#ներառում
const int stepsPerRevolution = 200; // հաստատում, թե քանի քայլ կա իմ լիարժեք շարժիչների յուրաքանչյուր ամբողջական պտույտում
const int buttonPin = A0; // իմ կոճակի մուտքի հաստատունի սահմանում
Stepper firstStepper (քայլեր PerRevolution, 2, 3, 4, 5); // նախաստորագրեք stepper գրադարանը որոշակի կապում
Stepper secondStepper (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepper (քայլեր PerRevolution, 10, 11, 12, 13); Stepper firstStepperBack (քայլերPerRevolution, 2, 3, 4, 5); // վերագործարկեք stepper գրադարանը այս կապում, որպեսզի կարողանաք վերականգնել rpm- ը այն ժամանակ, երբ զգուշացնեք, որ ժամանակը լրացել է Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9); Stepper thirdStepperBack (stepsPerRevolution, 10, 11, 12, 13);
int րոպեCounter = 0; // int հաշվելով քայլողների ամբողջական հեղափոխությունները
int timerState = LOW; // pomodoro ժամաչափի ներկայիս վիճակը (HIGH = միացված, LOW = անջատված/վերակայված) int կոճակ Պետություն; // ընթացիկ ընթերցումը մուտքային կապից int lastButtonState = HIGH; // նախորդ ընթերցումը մուտքային փինից
// հետևյալ փոփոխականներն անստորագիր երկարատև են, քանի որ ժամանակը, որը չափվում է միլիվայրկյաններով, // արագ կդառնա ավելի մեծ թիվ, քան կարող է պահվել int- ում: անստորագիր երկար lastDebounceTime = 0; // վերջին անգամ, երբ ելքային քորոցը միացվել է անստորագիր երկար debounceDelay = 50; // բեկանման ժամանակը; ավելանալ, եթե ելքը թարթվի
void setup () {
pinMode (buttonPin, INPUT_PULLUP); // կոճակի հաստատուն սահմանել որպես մուտքագրում
firstStepper.setSpeed (1); // սահմանել արագությունը 1 պտույտ/ րոպե 10 վայրկյանում մեկ stepper. Sepper.setSpeed- ի համար 10 րոպե հաշվելու համար; thirdStepper.setSpeed (1); firstStepperBack.setSpeed (30); // արագությունը սահմանել 30 պտույտ/ րոպե `ազդանշան տալու համար, որ ժամանակն ավարտվել է այն բանից հետո, երբ Պոմոդորոն ավարտել է secondStepperBack.setSpeed- ը (30); thirdStepperBack.setSpeed (30);
Serial.begin (9600); // սկսել սերիական մոնիտոր 9600 բաուդ արագությամբ
}
դատարկ շրջան () {
// կարդալ անջատիչի վիճակը տեղական փոփոխականի: int reading = digitalRead (buttonPin);
// ստուգեք ՝ պարզապես սեղմե՞լ եք կոճակը
// (այսինքն ՝ մուտքագրումը OWԱOWՐԻ to բարձրից բարձր է դարձել), և դուք սպասել եք // այնքան երկար, որքան վերջին մամուլը ՝ աղմուկն անտեսելու համար.
// Եթե անջատիչը փոխվել է, աղմուկի կամ սեղմման պատճառով.
եթե (ընթերցում! = lastButtonState) {// վերակայել դեբոնինգի ժամանակաչափը lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// ինչ ընթերցում էլ որ լինի, այն այնտեղ ավելի երկար է //
// եթե կոճակի վիճակը փոխվել է.
եթե (ընթերցում! = buttonState) {buttonState = ընթերցում;
// միացրեք ժամաչափի ակտիվացումը միայն այն դեպքում, երբ նոր կոճակի վիճակը ցույց է տալիս, որ այն սեղմված է
// մի անգամ սեղմեք ՝ միացնելու համար, նորից սեղմեք ՝ անջատելու համար, եթե (buttonState == LOW) {timerState =! timerState; Serial.print («erամաչափի վիճակն է»); Serial.println (timerState); }}}
եթե (timerState == HIGH) {
Serial.println («Pomodoro ժամաչափը սկսվել է»); if (minutesCounter <11) {// եթե ընթացիկ երկրորդ արժեքը տարբերվում է նախորդ արժեքից, ապա firstStepper.step (stepsPerRevolution); // պտտել stepper 200 քայլ/1 պտույտ րոպե Counter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }
if (11 <= minutesCounter && minutesCounter <21) {// եթե ընթացիկ երկրորդ արժեքը տարբերվում է նախորդ արժեքից, ապա secondStepper.step (stepsPerRevolution); // պտտել stepper 200 քայլ/1 պտույտ րոպե Counter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }
if (21 <= minutesCounter && minutesCounter <31) {// եթե ընթացիկ երկրորդ արժեքը տարբերվում է նախորդ արժեքից, ապա thirdStepper.step (stepsPerRevolution); // պտտել stepper 200 քայլ/1 պտույտ րոպե Counter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }
if (31 <= minutesCounter && minutesCounter <1031) {// եթե ընթացիկ երկրորդ արժեքը տարբերվում է նախորդ արժեքից, ապա firstStepperBack.step (-1); // քայլը հետ դարձնել 1 քայլ հաջորդականությամբ, որպեսզի տեսնեն, որ բոլորը միաժամանակ աշխատում են secondStepperBack.step (-1); thirdStepperBack.step (-1); րոպե Հաշվիչ ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }} else {Serial.println ("Pomodoro ժամաչափը անջատված է"); } // պահպանել ընթերցումը: Հաջորդ անգամ օղակի միջոցով, // դա կլինի lastButtonState: lastButtonState = ընթերցում; }
Քայլ 3. Քայլ 3. Պարունակեք Steppers և Arduino, եթե ցանկանում եք
Ես ընտրեցի զուգահեռագիր ձև ստեղծել ժամացույցիս համար: Այս ձևը և կարմիր կաղնու նյութական ընտրությունը ոգեշնչված էին միջին դարերի ժամանակակից կահույքով: Մի մասը, որի մեջ ես ամենաշատն էի դժվարանում, դա այն էր, որ հետիոտններին թվանշաններ հավաքելն իրենց սյուների միջով էր երեւում:
Խորհուրդ ենք տալիս:
Սնուցման ժամաչափ Arduino- ով և Rotary կոդավորիչով. 7 քայլ (նկարներով)
Power Timer With Arduino և Rotary Encoder: Այս Power Timer- ը հիմնված է ժամաչափի վրա, որը ներկայացված է ՝ ) կցված էին դրան: Մինչև 1 կՎտ հզորության բեռներ կարող են գործարկվել, և նվազագույն փոփոխություններով լ
Stepper Motor Controlled Stepper Motor Without Microcontroller (V2). 9 քայլ (նկարներով)
Stepper Motor Controlled Stepper Motor Without Microcontroller (V2). Իմ նախորդ հրահանգներից մեկում ես ձեզ ցույց տվեցի, թե ինչպես կարելի է կառավարել հետընթաց շարժիչը `օգտագործելով միկրոկոնտրոլերի շարժիչ: Դա արագ և զվարճալի նախագիծ էր, բայց այն ունեցավ երկու խնդիր, որոնք կլուծվեն այս Ուղեցույցում: Այսպիսով, խելամտորեն
556 ժամաչափ օգտագործելով stepper շարժիչով `5 քայլ
556 ժամաչափ օգտագործելով stepper Motor:
WiFi ժամացույց, ժամաչափ և եղանակային կայան, Blynk Controlled: 5 քայլ (նկարներով)
WiFi ockամացույց, erամաչափ և Եղանակային կայան, Blynk Controlled. Սա ձևափոխող թվային ժամացույց է (շնորհիվ Hari Wiguna- ի հայեցակարգի և ձևափոխման ծածկագրի), այն նաև անալոգային ժամացույց է, եղանակի հաշվետու կայան և խոհանոցային ժամաչափ: Այն ամբողջությամբ վերահսկվում է Blynk ծրագիրը ձեր սմարթֆոնի վրա WiFi- ով: Հավելվածը թույլ է տալիս Ձեզ
Stepper Motor Controled Model լոկոմոտիվ - Stepper Motor As a Rotary Encoder: 11 Քայլ (նկարներով)
Stepper Motor Controled Model լոկոմոտիվ | Stepper Motor As a Rotary Encoder. Նախորդ հրահանգներից մեկում մենք սովորեցինք, թե ինչպես օգտագործել stepper շարժիչը որպես պտտվող կոդավորիչ: Այս նախագծում մենք այժմ կօգտագործենք այդ պտտվող շարժիչով պտտվող կոդավորիչը `Arduino միկրոկոնտրոլերի միջոցով մոդելի լոկոմոտիվը կառավարելու համար: Այսպիսով, առանց ֆու