Orodha ya maudhui:

Stepper Pomodoro Timer: 3 Hatua (na Picha)
Stepper Pomodoro Timer: 3 Hatua (na Picha)

Video: Stepper Pomodoro Timer: 3 Hatua (na Picha)

Video: Stepper Pomodoro Timer: 3 Hatua (na Picha)
Video: Велосипедный тур по Ирану. Мечтайте в скрытой пустыне. В стороне от проторенных дорог. Пустыня. 2024, Julai
Anonim
Image
Image
Hatua ya 1: Kufundisha na Kuunganisha Mzunguko Nje ya Kontena
Hatua ya 1: Kufundisha na Kuunganisha Mzunguko Nje ya Kontena

Stepper Pomodoro ni kipima muda cha dawati ili kumsaidia mtu kudhibiti orodha yao ya kazi ya kila siku kwa kuvunja kila kipindi cha kazi katika sehemu za dakika 30. Walakini, tofauti na kipima muda cha kawaida cha Pomodoro, haikufanyi uwe na wasiwasi kwa kuonyesha muda uliobaki. Badala yake, inaonyesha wakati takriban kupitia ni ipi kati ya hizo tatu zinazogonga. Kwa kutokuonyesha wakati halisi inakuwezesha kuzingatia kazi iliyopo, badala ya kuangalia kila wakati wakati wako uliobaki. Pomodoro hii ni kamili kwa wale wanaohitaji muundo mwepesi na usiovutia kwa usimamizi wa kazi zao.

Zana

• Kusanya chuma

• Vipande vya waya

• Laser cutter (au sander kulingana na jinsi unataka kuunda dials za kipima muda)

• Piga (Nilitumia mashine ya kuchimba kuchimba mashimo makubwa ya kutosha kwa kubonyeza)

Vifaa

• 1 Arduino Uno

• 1 ubao wa mkate wa ukubwa wa nusu

• Madaraja 3 H (nilitumia DRV8833, kinga ya ngao ya gari imeniokoa muda na maumivu ya kichwa)

• Motors 3 za stepper (nilitumia steppe 17 za NEMA)

• Kitufe 1

• 1 220-1K ohm resistor (yoyote ndani ya kiwango ni nzuri)

• adapta ya AC / DC (nilitumia 12V, labda kubwa sana kwa idadi hii ya kanyagi)

• Mgawanyiko wa nguvu

• waya ya USB A-B

• nyaya za ubao wa mkate

• Solder

• Vifaa vya chombo cha kipima muda

• Acrylic kwa dials

• Misumari au pini za chuma kama mkono wa saa

Hatua ya 1: Hatua ya 1: Kufundisha na Kuunganisha Mzunguko Nje ya Kontena

Kwa hatua hii nilianza kwa kuunganisha pamoja madaraja yangu yote H (ikiwa unanunua ngao ya gari haifai kuviunganisha. Mara tu unapokuwa na daraja H kwa kila kanyaga unaweza kuangalia jinsi wapeanaji wako wana waya.

NEMA 17s ndio inayojulikana kama motors stepper bipolar, ikimaanisha kuwa wana seti mbili za coil (badala ya moja) ndani ya motor ambayo hubadilisha polarity kuruhusu mwendo sahihi wa motor. Vipindi vya bipolar kawaida huwa na waya nne na hatua za Polar kawaida huwa na sita, hii iligumu maagizo mkondoni kidogo. Walakini unaweza kushikamana na mita nyingi kwa waya mbili na uone ikiwa zimeunganishwa au ikiwa hazijaunganishwa. Watatu wa NEMA 17 wana oda yao ya waya katika RED, YELLOW, GRAY, GREN rangi, na nyekundu na kijivu kuwa jozi ya kwanza ya polar na manjano na kijani kuwa jozi ya pili ya polar. Ikiwa wakati wowote stepper anaanza kugugumia badala ya kumaliza harakati zinazotarajiwa, tabia mbaya ni kwamba waya zako kwa njia fulani hazijasambazwa vizuri kwa pacha wao au moja imekatika. Kila stepper inadhibitiwa kupitia pini nne za pato ambazo zinaungana na madaraja ya DRV8833 H. Agizo la wiring la kuingiza kwa DRV8833 ni: IN1, IN2, Power, Ground, IN3, IN4. Kwa madhumuni ya uzalishaji, NEMA inaunganisha tu katikati ya pini sita kwa mpangilio wa: RED, GRAY, MANJANO, KIJANI. Sasa hebu unganisha nguvu. Nina NEMA zangu kwenye bandari za dijiti 2-13.

Ili kuwezesha hii nilinunua adapta ya 12V AC / DC na mgawanyiko ili kuweza kuwezesha Arduino, na watembezi wote. ONYO: Usiunganishe umeme wako na waya za ardhini kutoka Arduino tayari inapokea nguvu kutoka bandari hadi kwenye ubao wa mkate inayopokea nguvu ya moja kwa moja kutoka kwa AC / DC. Itakaanga bodi yako. Kutoka kwa adapta ya 12V iliyowekwa kwenye ukuta sehemu moja ya mgawanyiko ilikwenda moja kwa moja kwenye bandari ya Arduino na ile nyingine kwa chanya na hasi ya bodi ya mkate.

Mwishowe, ni wakati wa kuunganisha kifungo. Upande mmoja wa kitufe utahitaji nguvu zote mbili (na kipinzani chetu kimeingizwa ndani) pamoja na pini iliyosafirishwa (hii inaweza pia kufanywa kutoka kwa ubao wa mkate). Pini nyingine itakuwa ardhi yetu. Waya hizi tatu zinapaswa kuingiliwa ndani: Nguvu yenye kontena kwa 5V, pato kwa A0, na ardhi yote chini kwenye bodi ya Arduino Uno yenyewe.

Kutoka hapa tunapaswa kujaribu kudhibiti watembezi kutumia nambari hii ya msingi ya jaribio la stepper inayopatikana hapa. Maelezo haya kwenye Arduino.cc pia hufanya ufafanuzi kamili zaidi wa wasafiri wa bi / unipolar ikiwa unahitaji. Ifuatayo inakuingia kwenye nambari ya Pomodoro!

Hatua ya 2: Hatua ya 2: Kupakia Nambari na Kuirekebisha kwa Mahitaji Yako

Hatua ya 2: Kupakia Nambari na Kuirekebisha Kwa Mahitaji Yako
Hatua ya 2: Kupakia Nambari na Kuirekebisha Kwa Mahitaji Yako

Chini ni nambari ya Pomodoro yangu iliyo na kitufe, ili kuibadilisha kwa usanidi wako fuata pamoja na hatua hizi:

1. Weka hatua ngapi kwa mapinduzi aina ya stepper yako inayo (NEMA 17s zina 200 na imeorodheshwa katika nambari kamili inayoitwa stepPerRevolution).

2. Weka mahali ambapo kifungo chako kinaingiza kwenye kitufe cha mara kwa mara cha mpigaji simu.

3. Weka mahali ambapo arduino yako inapaswa kutoa kutoka kuwaamuru stepper (sehemu hizi zinaweza kutofautiana kati ya aina za daraja la H kwani nyingi zina maktaba tofauti wanazotumia).

4. Weka kasi ya stepper katika RPM katika seti ya kasi (nina seti yangu kwa 1 rpm wakati wa kugeuza saa moja kwa moja na 30 rpm wakati wa kugeuza anti saa moja kwa moja).

5. Weka mara ngapi unataka kila mmoja wa wenzi wako wa kondoo ageuke kabla ya kuendelea (wenzangu wanahesabu dakika kumi, kwa hivyo huzunguka mara kumi kwa 1 RPM).

6 Weka muda gani unatamani izunguke nyuma.

# pamoja

hatua za intPerRevolution = 200; // kuweka mara kwa mara ya hatua ngapi ziko katika kila mapinduzi kamili ya motors zangu za stepper

kifungo cha int intPin = A0; // kuweka mara kwa mara ya pembejeo yangu ya kifungo

Stepper kwanza Stepper (stepPerRevolution, 2, 3, 4, 5); // anzisha maktaba ya stepper kwenye pini fulani

Stepper pili Stepper (stepPerRevolution, 6, 7, 8, 9); Stepper ya tatu Stepper (stepPerRevolution, 10, 11, 12, 13); Stepper kwanza StepperBack (hatuaPerRevolution, 2, 3, 4, 5); // onyesha tena maktaba ya stepper kwenye pini hizi ili uweze kuweka upya rpm kwa wakati kuarifu wakati umekwisha Stepper piliStepperBack (stepPerRevolution, 6, 7, 8, 9); Stepper ya tatu StepperBack (hatuaPerRevolution, 10, 11, 12, 13);

dakika ya Kukabiliana = 0; // kuhesabu mapinduzi kamili ya kambo

tim timState = LOW; // hali ya sasa ya kipima muda cha pomodoro (HIGH = juu, LOW = off / reset) int buttonState; // usomaji wa sasa kutoka kwa pini ya kuingiza int lastButtonState = HIGH; // kusoma hapo awali kutoka kwa pini ya kuingiza

// vigezo vifuatavyo havijasainiwa kwa sababu muda, kipimo katika miliseconds, // itakuwa haraka idadi kubwa kuliko inaweza kuhifadhiwa kwenye int. unsigned longDebounceTime = 0; // mara ya mwisho pini ya pato ilibadilishwa bila kusainiwa kwa muda mrefu debounceDelay = 50; // wakati wa kujiondoa; ongezeko ikiwa pato linakua

usanidi batili () {

pinMode (kifungo cha kifungo, INPUT_PULLUP); // weka kitufe mara kwa mara kama pembejeo

KwanzaStepper.setSpeed (1); // weka kasi kwa 1 rpm kwa kuhesabu dakika 10 kwa sekunde ya stepper. SsetSpeed (1); Hatua ya tatu. Stepper (1); kwanzaStepperBack.setSpeed (30); // kuweka kasi saa 30 rpm kwa kutahadharisha kuwa wakati umekwisha baada ya Pomodoro kumaliza piliStepperBack.setSpeed (30); tatuStepperBack.setSpeed (30);

Serial. Kuanza (9600); // anza kufuatilia mfululizo na kiwango cha baud 9600

}

kitanzi batili () {

// soma hali ya ubadilishaji kuwa ubadilishaji wa kawaida: int reading = digitalRead (buttonPin);

// angalia ikiwa umebonyeza kitufe tu

// (i.e. pembejeo ilitoka LOW hadi HIGH), na umesubiri // muda wa kutosha tangu vyombo vya habari vya mwisho kupuuza kelele yoyote:

// Ikiwa swichi ilibadilika, kwa sababu ya kelele au kubonyeza:

ikiwa (kusoma! } ikiwa ((millis () - lastDebounceTime)> debounceDelay) {// chochote usomaji uko, imekuwa kwa muda mrefu // kuliko ucheleweshaji wa kurudisha, kwa hivyo ichukue kama hali halisi ya sasa:

// ikiwa hali ya kifungo imebadilika:

ikiwa (kusoma! = buttonState) {buttonState = kusoma;

// tu toa activator ya timer ikiwa hali mpya ya kitufe inaonyesha kuwa imesisitizwa

// bonyeza mara moja kuwasha, bonyeza tena kuzima ikiwa (buttonState == LOW) {timerState =! timerState; Serial.print ("Jimbo la Timer ni"); Serial.println (timerState); }}}

ikiwa (timerState == JUU) {

Serial.println ("Pomodoro timer imeanza"); ikiwa (dakikaCounter <11) {// ikiwa dhamana ya pili ya sasa ni tofauti na thamani ya awali basi kwanzaStepper.step (stepsPerRevolution); // geuza hatua 200 hatua / dakika 1 rev Kukabiliana ++; Serial.print ("dakikaCounter ni"); Serial.println (dakikaCounter); }

ikiwa (11 <= minutesCounter && minutesCounter <21) {// ikiwa dhamana ya pili ya sasa ni tofauti na dhamana ya awali basi secondStepper.step (stepsPerRevolution); // geuza hatua 200 hatua / dakika 1 rev Kukabiliana ++; Serial.print ("dakikaCounter ni"); Serial.println (dakikaCounter); }

ikiwa (21 <= minutesCounter && minutesCounter <31) {// ikiwa thamani ya pili ya sasa ni tofauti na thamani ya hapo awaliStepper.step ya tatu (stepsPerRevolution); // geuza hatua 200 hatua / dakika 1 rev Kukabiliana ++; Serial.print ("dakikaCounter ni"); Serial.println (dakikaCounter); }

ikiwa (31 <= dakikaCounter && minutesCounter <1031) {// ikiwa dhamana ya pili ya sasa ni tofauti na thamani ya hapo awaliStepperBack.step (-1); // rudisha stepper nyuma hatua 1 kwa mfuatano kuonekana kama zote zinaendesha wakati huo huo piliStepperBack.step (-1); tatuStepperBack.step (-1); dakikaCounter ++; Serial.print ("dakikaCounter ni"); Serial.println (dakikaCounter); }} mwingine {Serial.println ("kipima muda cha Pomodoro kimezimwa"); } // kuokoa usomaji. Wakati mwingine kupitia kitanzi, // itakuwa ya mwishoButtonState: lastButtonState = kusoma; }

Hatua ya 3: Hatua ya 3: Kuwa na Stepper na Arduino Ikiwa Unataka

Hatua ya 3: Kuwa na Stepper na Arduino Ikiwa Unataka
Hatua ya 3: Kuwa na Stepper na Arduino Ikiwa Unataka
Hatua ya 3: Kuwa na Stepper na Arduino Ikiwa Unataka
Hatua ya 3: Kuwa na Stepper na Arduino Ikiwa Unataka
Hatua ya 3: Kuwa na Stepper na Arduino Ikiwa Unataka
Hatua ya 3: Kuwa na Stepper na Arduino Ikiwa Unataka

Nilichagua kuunda fomu ya parallelogram kwa saa yangu. Fomu hii na uchaguzi wa nyenzo wa mwaloni mwekundu uliongozwa na fanicha za kisasa za karne ya katikati. Sehemu moja ambayo nilikuwa na ugumu zaidi nayo ilikuwa kuwaweka kambo hao kwa kupiga kupitia bandari zao ili kuonekana kutoka.

Ilipendekeza: