Mundarija:

Pomodoro qadam taymeri: 3 qadam (rasmlar bilan)
Pomodoro qadam taymeri: 3 qadam (rasmlar bilan)

Video: Pomodoro qadam taymeri: 3 qadam (rasmlar bilan)

Video: Pomodoro qadam taymeri: 3 qadam (rasmlar bilan)
Video: Oldindan uyga sayohat | NARXI | XARAJAT (MINI FARM) 2024, Iyul
Anonim
Image
Image
1 -qadam: konteyner tashqarisida lehim va ulash davri
1 -qadam: konteyner tashqarisida lehim va ulash davri

Step Pomodoro - bu har bir ish vaqtini 30 daqiqali segmentlarga ajratish orqali kundalik vazifalar ro'yxatini boshqarishga yordam beradigan stol taymeri. Biroq, oddiy Pomodoro taymeridan farqli o'laroq, qolgan vaqtni ko'rsatib, sizni bezovta qilmaydi. Buning o'rniga, u uchta terishning qaysi biri orqali o'tayotganini ko'rsatadi. Vaqtni aniq ko'rsatmasangiz, bu sizning oldingizga qo'yilgan vazifaga e'tiboringizni qaratish imkonini beradi, aksincha vaqtingizni tekshirib turadi. Bu Pomodoro o'z vazifalarini boshqarishda engil va ko'zga tashlanmaydigan tuzilishga muhtoj bo'lganlar uchun juda mos keladi.

Asboblar

• Lehimlash temir

• simlarni tozalash

• Lazerni kesish moslamasi (yoki taymer terish moslamalarini qanday yaratishni xohlaganingizga qarab)

• Matkap (men terish uchun etarlicha katta teshiklarni ochish uchun matkapni ishlatardim)

Materiallar

• 1 Arduino Uno

• 1 ta yarim o'lchamli non paneli

• 3 soatlik ko'priklar (men DRV8833 ishlatardim, motor qalqoni meni biroz vaqt va bosh og'rig'idan qutqardi)

• 3 qadamli dvigatellar (men NEMA 17 qadamidan foydalanardim)

• 1 tugma

• 1 220-1K ohmli qarshilik (har qanday diapazonda yaxshi)

• AC/shahar adapteri (men 12V ishlatardim, ehtimol bu qadam uchun juda katta)

• Quvvat ajratuvchi

• USB A-B kabeli

• Breadboard simlari

• Lehim

• Taymerli konteyner uchun materiallar

• terish uchun akril

• Taymerning harakatsiz qo'li vazifasini bajarish uchun mix yoki metall pim

1 -qadam: 1 -qadam: konteyner tashqarisida lehim va ulash davri

Bu qadamni men barcha H ko'priklarimni lehimlashdan boshladim (agar siz dvigatel qalqoni sotib olsangiz, ularni lehimlashingiz shart emas. Har bir qadam uchun H ko'prigi bo'lsa, siz stepperlarning qanday simlar bilan bog'langanligini tekshirishingiz mumkin.

NEMA 17 -lar - bu bipolyar qadamli motorlar, ular dvigatelda ikkita (bitta emas, balki) rulon bor, ular dvigatelning aniq harakatlanishini ta'minlash uchun qutbni o'zgartiradi. Bipolyar zinapoyalarda odatda to'rtta simli, qutbli pog'onalarda esa oltita bo'ladi, bu Internetdagi ko'rsatmalarni biroz murakkablashtirdi. Biroq, siz ikkita simga multimetrni ulashingiz va ular ulangan yoki ulanmaganligini bilib olishingiz mumkin. NEMA 17 stepperlarining simli tartibi QIZIL, SARI, GRI, Yashil rang tartibida bo'lib, qizil va kulrang birinchi qutbli juftlik, sariq va yashil rang esa ikkinchi qutbli juftlikdir. Agar biron -bir vaqtda qadam kutilgan harakatni bajarishni emas, balki chayqalishni boshlasa, ehtimol sizning simlaringiz egizakka qandaydir tarzda to'g'ri qutblanmagan yoki biri uzilgan. Har bir qadam DRV8833 H ko'prigiga ulanadigan to'rtta chiqish pimi orqali boshqariladi. DRV8833 -ga kirish uchun simi tartibi: IN1, IN2, Quvvat, Topraklama, IN3, IN4. NEMA chiqish maqsadlari uchun oltita pinning to'rttasiga ulanadi: qizil, kulrang, sariq, yashil. Endi quvvatni ulashga ruxsat bering. Mening NEMA -larim 2-13 raqamli portlarda.

Buni kuchaytirish uchun men Arduino va barcha qadamlarni quvvatlantirish uchun ajratgichli 12V AC/DC adapterini sotib oldim. OGOHLANTIRISH: Arduino portidan quvvat va topraklama simlarini to'g'ridan -to'g'ri AC/DC dan quvvat oladigan portga ulamang. Bu sizning taxtangizni qovuradi. Devorga ulangan 12V adapterdan ajratgichning bir qismi to'g'ridan -to'g'ri Arduino portiga, ikkinchisi non taxtasining ijobiy va salbiy tomoniga o'tdi.

Nihoyat, tugmani ulash vaqti keldi. Tugmachaning bir tomoniga quvvat ham kerak bo'ladi (bizning rezistorimiz ulangan bo'lsa), shuningdek, chiqish piniga lehimlangan (buni non panelidan ham qilish mumkin). Boshqa pin bizning zaminimiz bo'ladi. Bu uchta simni ulash lozim: 5V qarshilikka ega quvvat, A0 ga chiqish va erga Arduino Uno kartasining o'zida.

Bu erdan biz bu erda topilgan asosiy qadam sinov kodi yordamida qadam tashuvchilarni boshqarishga harakat qilishimiz kerak. Arduino.cc saytidagi ushbu tushuntirish, agar kerak bo'lsa, bi/bir qutbli qadamlarni batafsilroq tushuntiradi. Keling, Pomodoro kodiga o'tamiz!

2 -qadam: 2 -qadam: Kodni yuklash va uni sizning ehtiyojlaringizga moslashtirish

2 -qadam: Kodni yuklash va uni sizning ehtiyojlaringizga moslashtirish
2 -qadam: Kodni yuklash va uni sizning ehtiyojlaringizga moslashtirish

Quyida mening tugmachali Pomodoro kodim bor, uni sozlash uchun sozlash uchun quyidagi amallarni bajaring:

1. Shaxsiy qadam turingiz necha inqilobga to'g'ri kelishini belgilang (NEMA 17 -larda 200 ta va u StepPerRevolution deb nomlangan doimiy tamsayıda ko'rsatilgan).

2. Butun sonli qo'ng'iroq qiluvchi tugmachasida tugma kiritiladigan joyni o'rnating.

3. Arduino qayerdan qadam bosishi kerakligini belgilang (bu qismlar H ko'prigi turlari orasida eng ko'p farq qilishi mumkin, chunki ko'pchilikda turli kutubxonalar mavjud).

4. Bosim tezligini.setSpeed -dagi RPM -ga o'rnating (menda soat yo'nalishi bo'yicha aylanayotganda 1 rpm va soat sohasi farqli o'girilganda 30 rpm).

5. Har bir qadam bosishdan oldin, har bir qadamchani necha marta aylantirishini sozlang (mening qadamchilarim o'n daqiqani hisoblaydi, shuning uchun ular 1 aylanish / daqiqada o'n marta aylanadi).

6 Qachongacha orqaga burilishini xohlaysiz.

#qo'shing

const int stepsPerRevolution = 200; // qadam dvigatellarimning har bir to'liq aylanishida qancha qadam borligini aniqlash

const int buttonPin = A0; // tugma kiritishimning doimiyligini sozlash

Stepper firstStepper (stepsPerRevolution, 2, 3, 4, 5); // qadam kutubxonasini ma'lum pinlarda ishga tushiring

StepperStepper (StepPerRevolution, 6, 7, 8, 9); Stepper StepStepper (StepPerRevolution, 10, 11, 12, 13); Stepper FirstStepperBack (stepsPerRevolution, 2, 3, 4, 5); // bu pimdagi qadam kutubxonasini qayta ishga tushirish, bu vaqt tugaganligi to'g'risida ogohlantirish uchun aylanish tezligini o'zgartirish uchun Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9); StepperStepperBack (StepPerRevolution, 10, 11, 12, 13);

int minutesCounter = 0; // int qadamlarning to'liq inqiloblarini hisoblash

int timerState = LOW; // pomodoro taymerining joriy holati (YUQORI = yoqilgan, LOW = o'chirilgan/tiklangan) int tugmasiState; // kirish pinidan joriy o'qish int lastButtonState = HIGH; // kirish pinidan oldingi o'qish

// quyidagi o'zgaruvchilar imzolanmagan, chunki vaqt milisekundlarda o'lchanadi, // tezda intda saqlanganidan kattaroq raqamga aylanadi. imzosiz uzoq lastDebounceTime = 0; // oxirgi marta chiqish pimi imzolanmagan uzun debounceDelay = 50; // chiqish vaqti; chiqish miltillovchi bo'lsa, o'sishi

bo'sh o'rnatish () {

pinMod (tugmaPin, INPUT_PULLUP); // tugmachaning doimiyligini kirish sifatida o'rnating

firstStepper.setSpeed (1); // sekundiga 10 minutni hisoblash uchun tezlikni 1 aylanish tezligiga o'rnatingStepper.setSpeed (1); uchinchiStepper.setSpeed (1); firstStepperBack.setSpeed (30); // Pomodoro secondStepperBack.setSpeed (30) ni tugatgandan so'ng, vaqt tugaganligi to'g'risida ogohlantirish uchun tezlikni 30 rpmga o'rnating; uchinchiStepperBack.setSpeed (30);

Serial.begin (9600); // ketma -ket monitorni 9600 bod tezligi bilan ishga tushiring

}

void loop () {

// almashtirish holatini mahalliy o'zgaruvchiga o'qing: int reading = digitalRead (buttonPin);

// tugmani bosganingizni tekshiring

// (ya'ni kirish "LOW" dan "HIGH" ga o'tdi) va siz // oxirgi marta bosilganidan beri shovqinni e'tiborsiz qoldiradigan darajada kutgansiz:

// Agar kalit o'zgargan bo'lsa, shovqin yoki bosish tufayli:

if (o'qish! = lastButtonState) {// qarzni o'chirish taymerini resetDastBounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// o'qish nima bo'lishidan qat'i nazar, u uzilishning kechikishidan ko'ra uzoqroq // bo'lgan, shuning uchun uni hozirgi holat sifatida qabul qiling:

// agar tugma holati o'zgargan bo'lsa:

if (o'qish! = buttonState) {buttonState = o'qish;

// faqat yangi tugma holati bosilganligini bildirsa, taymerni faollashtirishni o'zgartiradi

// yoqish uchun bir marta bosing, agar (buttonState == LOW) {timerState =! timerState; Serial.print ("Taymer holati"); Serial.println (timerState); }}}

agar (timerState == HIGH) {

Serial.println ("Pomodoro taymeri boshlandi"); if (minutesCounter <11) {// agar joriy ikkinchi qiymat oldingi qiymatdan farq qilsa, birinchiStepper.step (stepsPerRevolution); // qadamni aylantirish 200 qadam/1 aylanish daqiqaCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

if (11 <= minutesCounter && minutesCounter <21) {// agar joriy ikkinchi qiymat oldingi qiymatdan farq qilsa, secondStepper.step (stepsPerRevolution); // qadamni aylantirish 200 qadam/1 aylanish daqiqaCounter ++; Serial.print ("minutesCounter is"); Serial.println (daqiqa hisoblagichi); }

if (21 <= minutesCounter && minutesCounter <31) {// agar joriy ikkinchi qiymat oldingi qiymatdan farq qilsa, uchinchiStepper.step (stepsPerRevolution); // qadamni aylantirish 200 qadam/1 aylanish daqiqaCounter ++; Serial.print ("minutesCounter -"); Serial.println (daqiqa hisoblagichi); }

if (31 <= minutesCounter && minutesCounter <1031) {// agar joriy ikkinchi qiymat oldingi qiymatdan farq qilsa, birinchiStepperBack.step (-1); // qadamni ketma-ket 1 qadam orqaga burish, hammasi bir vaqtning o'zida ishga tushgandek ko'rinishi uchun secondStepperBack.step (-1); uchinchiStepperBack.step (-1); minutesCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }} boshqa {Serial.println ("Pomodoro taymeri o'chirilgan"); } // o'qishni saqlang. Keyingi safar loop orqali // bu lastButtonState bo'ladi: lastButtonState = o'qish; }

3 -qadam: 3 -qadam: Agar xohlasangiz, Steppers va Arduino -ni o'z ichiga oling

3 -qadam: Agar xohlasangiz, Steppers va Arduino -ni o'z ichiga oling
3 -qadam: Agar xohlasangiz, Steppers va Arduino -ni o'z ichiga oling
3 -qadam: Agar xohlasangiz, Steppers va Arduino -ni o'z ichiga oling
3 -qadam: Agar xohlasangiz, Steppers va Arduino -ni o'z ichiga oling
3 -qadam: Agar xohlasangiz, Steppers va Arduino -ni o'z ichiga oling
3 -qadam: Agar xohlasangiz, Steppers va Arduino -ni o'z ichiga oling

Men soatim uchun parallelogramma shaklini yaratishni tanladim. Qizil emanning bu shakli va moddiy tanlovi o'rta asrning zamonaviy mebellaridan ilhomlangan. Men uchun eng qiyin bo'lgan narsa - bu qadam tashuvchilarni ilova teshiklari orqali ko'rish uchun o'rnatish.

Tavsiya: