Sisällysluettelo:
- Vaihe 1: Vaihe 1: Juotos- ja liitäntäpiiri säiliön ulkopuolella
- Vaihe 2: Vaihe 2: Lataa koodi ja säädä se tarpeidesi mukaan
- Vaihe 3: Vaihe 3: Sisällytä Stepperit ja Arduino, jos haluat
Video: Askel Pomodoro -ajastin: 3 vaihetta (kuvilla)
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:03
Stepper Pomodoro on pöytäajastin, joka auttaa päivittäisten tehtävien luettelon hallinnassa jakamalla jokaisen työjakson 30 minuutin jaksoiksi. Toisin kuin tavallinen Pomodoro -ajastin, se ei kuitenkaan tee sinua ahdistuneeksi näyttämällä jäljellä oleva aika. Sen sijaan se näyttää ajan, joka suunnilleen kulkee kolmesta valitsimesta. Jos et näytä tarkkaa aikaa, voit keskittyä käsillä olevaan tehtävään sen sijaan, että tarkistat jatkuvasti jäljellä olevaa aikaa. Tämä Pomodoro on täydellinen niille, jotka tarvitsevat kevyttä ja huomaamatonta rakennetta tehtäviensä hallintaan.
Työkalut
• Juotosrauta
• Langanpoistimet
• Laserleikkuri (tai hiomakone sen mukaan, miten haluat luoda ajastimen valitsimet)
• Pora (rei'itin porakoneella riittävän suuria reikiä soittimille)
Materiaalit
• 1 Arduino Uno
• 1 puolikokoinen leipälauta
• 3 H -siltaa (käytin DRV8833 -moottoria, moottorin suojakilpi säästää aikaa ja päänsärkyä)
• 3 askelmoottoria (käytin NEMA 17 -portaita)
• 1 painike
• 1 220-1K ohmin vastus (mikä tahansa alueella on hyvä)
• Verkko-/tasavirtasovitin (käytin 12V, luultavasti liian suuri tälle määrälle askelia)
• Virranjakaja
• USB A-B -johto
• Leipälevyn johdot
• Juotos
• Ajastimen säiliön materiaalit
• Akryyli soittimille
• Naulat tai metallitapit toimivat ajastimen paikallaan
Vaihe 1: Vaihe 1: Juotos- ja liitäntäpiiri säiliön ulkopuolella
Tässä vaiheessa aloitin juottamalla yhteen kaikki H -sillat (jos ostat moottorikilven, sinun ei tarvitse juottaa näitä. Kun sinulla on H -silta jokaiselle askelmalle, voit tarkistaa, miten askelmat on kytketty.
NEMA 17: t tunnetaan bipolaarisina askelmoottoreina, mikä tarkoittaa, että niissä on kaksi (eikä yhtä) kelajoukkoa moottorin sisällä, jotka muuttavat napaisuutta moottorin tarkan liikkeen mahdollistamiseksi. Bipolaarisissa askelmissa on yleensä neljä johtoa ja Polar -steppereissä yleensä kuusi lankaa, mikä monimutkaistaa ohjeita verkossa hieman. Voit kuitenkin liittää monimetrin kahteen johtoon ja katso, onko ne kytketty vai eivät. NEMA 17 -askelinten vaijerijärjestys on PUNAINEN, KELTAINEN, HARMAA, VIHREÄ värijärjestys. Punainen ja harmaa ovat ensimmäinen napapari ja keltainen ja vihreä toinen napapari. Jos jossakin vaiheessa askelin alkaa nykimään sen sijaan, että se suorittaisi odotettua liikettä, on todennäköistä, että johdot eivät jotenkin ole oikein polarisoituneet kaksoiskappaleeseensa tai yksi on irrotettu. Jokainen askelmoottori ohjataan neljän lähtötapin kautta, jotka yhdistetään DRV8833 H -siltoihin. DRV8833: n tulon johdotusjärjestys on: IN1, IN2, teho, maadoitus, IN3, IN4. Tulostustarkoituksiin NEMA kytkeytyy vain kuuden nastan keskimmäiseen neljään seuraavassa järjestyksessä: PUNAINEN, HARMAA, KELTAINEN, VIHREÄ. Nyt kytketään virta. Minulla on NEMA -numerot digitaalisissa porteissa 2–13.
Tämän virran hankkimiseksi ostin 12 V: n AC/DC -sovittimen jakajalla, jotta voisin käyttää sekä Arduinoa että kaikkia askelmia. VAROITUS: Älä kytke virta- ja maadoitusjohtojasi Arduinosta, joka jo saa virtaa portista, leipälevyyn, joka saa suoraa virtaa AC/DC -verkosta. Se paistaa lautasi. Seinään kytketyn 12 V: n sovittimen jakajan toinen osa meni suoraan Arduinon porttiin ja toinen leipälevyn positiiviseen ja negatiiviseen kohtaan.
Lopuksi on aika kytkeä painike. Painikkeen toinen puoli tarvitsee sekä virtaa (vastus kytketty sisään) että ulostulotapin juotettuna (tämä voidaan tehdä myös leipälevyltä). Toinen tappi on maamme. Nämä kolme johtoa on kytkettävä: Virta vastuksella 5 V: iin, lähtö A0: een ja maadoitettu kaikki Arduino Uno -levyssä.
Täältä meidän pitäisi pystyä hallitsemaan askelmia käyttämällä tätä perusaskelkoestetunnusta, joka löytyy täältä. Tämä selitys Arduino.cc -sivustossa tekee myös perusteellisemman selityksen bi/unipolaarisista askelmista, jos tarvitset sitä. Seuraavaksi päästään Pomodoron koodiin!
Vaihe 2: Vaihe 2: Lataa koodi ja säädä se tarpeidesi mukaan
Alla on Pomodoro -painikkeeni -painike, jotta voit mukauttaa sen asetukseesi seuraavasti:
1. Aseta kuinka monta askelta kierrosta kohden henkilökohtaisella askelmallillasi on (NEMA 17: llä on 200 ja se on lueteltu vakio -kokonaisluvussa, jota kutsutaan askeliksiPerRevolution).
2. Aseta vakion kokonaislukuisen soittajan painikkeen PIN -koodi mihin painike syöttää.
3. Määritä, mistä arduino -laitteesi pitäisi lähettää komentoja steppereille (nämä osat voivat vaihdella eniten H -sillatyypeittäin, koska monilla on erilaisia kirjastoja, joita he käyttävät).
4. Aseta askelnopeus.setSpeed -kierrosluvuissa (minulla on asetettu 1 rpm kääntämällä myötäpäivään ja 30 rpm kääntämällä vastapäivään).
5. Määritä kuinka monta kertaa haluat jokaisen askelman kääntyvän ennen kuin se jatkaa eteenpäin (askelmat laskevat kymmenen minuuttia, joten ne pyörivät kymmenen kertaa 1 kierrosta minuutissa).
6 Aseta aika, jonka haluat sen kääntyvän taaksepäin.
#sisältää
const int stepsPerRevolution = 200; // asetetaan vakio kuinka monta vaihetta on askelmoottorieni jokaisessa täydessä kierroksessa
const int -painikePin = A0; // painiketoiminnon asetusvakio
Stepper firstStepper (stepsPerRevolution, 2, 3, 4, 5); // aseta askelkirjasto tietyille nastoille
Stepper secondStepper (stepsPerRevolution, 6, 7, 8, 9); Askel kolmas askel (stepsPerRevolution, 10, 11, 12, 13); Stepper firstStepperBack (stepsPerRevolution, 2, 3, 4, 5); // alustaa askelkirjasto uudelleen näissä nastoissa, jotta rpm voidaan nollata, kun hälytetään, että aika on päättynyt Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9); Askel kolmasStepperBack (stepsPerRevolution, 10, 11, 12, 13);
int minutesCounter = 0; // int askeleiden täysi kierros
int timerState = LOW; // pomodoro -ajastimen nykyinen tila (HIGH = päällä, LOW = pois/nollaus) int buttonState; // nykyinen lukema tulonapista int lastButtonState = HIGH; // edellinen lukema tulonapista
// seuraavat muuttujat ovat merkitsemättömiä pitkiä, koska aika millisekunteina mitattuna
// tulee nopeasti isompi luku kuin int. unsigned long lastDebounceTime = 0; // viimeksi kun tulostusnasta vaihdettiin unsigned long debounceDelay = 50; // palautusaika; kasvaa, jos lähtö vilkkuu
void setup () {
pinMode (buttonPin, INPUT_PULLUP); // aseta painikkeen vakio tuloksi
firstStepper.setSpeed (1); // aseta nopeudeksi 1 rpm 10 minuutin laskemista varten stepper secondStepper.setSpeed (1); kolmasStepper.setSpeed (1); firstStepperBack.setSpeed (30); // aseta nopeudeksi 30 rpm varoittaaksesi, että aika on kulunut sen jälkeen, kun Pomodoro on suorittanut secondStepperBack.setSpeed (30); kolmasStepperBack.setSpeed (30);
Sarja.alku (9600); // käynnistä sarjamonitori 9600 baudinopeudella
}
void loop () {
// lukee kytkimen tilan paikalliseksi muuttujaksi: int reading = digitalRead (buttonPin);
// tarkista, oletko juuri painanut painiketta
// (eli syöttö muuttui LOW: sta HIGH: ksi), ja olet odottanut // tarpeeksi kauan viimeisestä painalluksesta lähtien, jotta voit sivuuttaa melun:
// Jos kytkin on vaihdettu melun tai painamisen vuoksi:
if (lukeminen! = lastButtonState) {// nollaa debouncing -ajastin lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// olipa lukema mikä tahansa, se on ollut siellä pidempään // kuin poistumisviive, joten ota se todelliseksi nykyiseksi tilaksi:
// jos painikkeen tila on muuttunut:
if (lukeminen! = buttonState) {buttonState = lukeminen;
// vaihda ajastimen aktivointi vain, jos uuden painikkeen tila osoittaa, että sitä on painettu
// käynnistä painamalla kerran, sammuta painamalla uudelleen, jos (buttonState == LOW) {timerState =! timerState; Serial.print ("Ajastimen tila on"); Serial.println (timerState); }}}
if (timerState == KORKEA) {
Serial.println ("Pomodoro -ajastin on alkanut"); if (minutesCounter <11) {// jos nykyinen toinen arvo on eri kuin edellinen, firstStepper.step (stepsPerRevolution); // käännä askeltaa 200 askelta/1 kierros minuuttiaCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }
if (11 <= minutesCounter && minutesCounter <21) {// jos nykyinen toinen arvo on eri kuin edellinen, niin secondStepper.step (stepsPerRevolution); // käännä askeltaa 200 askelta/1 kierros minuuttiaCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }
if (21 <= minutesCounter && minutesCounter <31) {// jos nykyinen toinen arvo on eri kuin edellinen, niin kolmasStepper.step (stepsPerRevolution); // käännä askeltaa 200 askelta/1 kierros minuuttiaCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }
if (31 <= minutesCounter && minutesCounter <1031) {// jos nykyinen toinen arvo on eri kuin edellinen, firstStepperBack.step (-1); // käännä askelta taaksepäin 1 askel peräkkäin, jotta kaikki näyttävät toimivan samanaikaisesti secondStepperBack.step (-1); kolmasStepperBack.step (-1); minutesCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }} else {Serial.println ("Pomodoro -ajastin on pois päältä"); } // tallenna lukema. Seuraavan kerran silmukan läpi // se on lastButtonState: lastButtonState = lukeminen; }
Vaihe 3: Vaihe 3: Sisällytä Stepperit ja Arduino, jos haluat
Päätin luoda kellolleni rinnakkaismuotoisen muodon. Tämä muoto ja punaisen tammen materiaalivalinnat saivat inspiraationsa vuosisadan puolivälin moderneista huonekaluista. Yksi osa, jonka kanssa minulla oli eniten vaikeuksia, oli askelmoottorien asentaminen kellotaulukoiden läpi niiden aukkojen kautta.
Suositeltava:
Arduino -auton peruutuspysäköintihälytysjärjestelmä - Askel askeleelta: 4 vaihetta
Arduino -auton peruutuspysäköintihälytysjärjestelmä | Askel askeleelta: Tässä projektissa suunnittelen yksinkertaisen Arduino-auton peruutuspysäköintianturin piiri käyttäen Arduino UNO: ta ja HC-SR04-ultraääni-anturia. Tätä Arduinoon perustuvaa auton peruutushälytysjärjestelmää voidaan käyttää itsenäiseen navigointiin, robotin etäisyyksiin ja muihin alueisiin
Askel askeleelta PC: n rakentaminen: 9 vaihetta
Vaihe vaiheelta Tietokoneen rakentaminen: Tarvikkeet: Laitteisto: Emolevy CPU & Prosessorin jäähdytin PSU (virtalähde) Tallennus (HDD/SSD) RAMGPU (ei vaadita) Kotelo Työkalut: Ruuvitaltta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): 8 vaihetta
Akustinen levitaatio Arduino Unon kanssa Askel askeleelta (8 vaihetta): ultraäänikaiuttimet L298N DC-naarasadapterin virtalähde urospuolisella dc-nastalla ja analogiset portit koodin muuntamiseksi (C ++)
Koti -automaatio askel askeleelta Wemos D1 Minin käyttö PCB -suunnittelulla: 4 vaihetta
Koti -automaatio askel askeleelta Wemos D1 Minin käyttö PCB -suunnittelun kanssa: Kotiautomaatio askel askeleelta käyttämällä Wemos D1 Mini -laitetta PCB -suunnittelun kanssa Muutama viikko sitten julkaisimme rootsaid.com -sivustolla opetusohjelman”Home Automation using Raspberry Pi”, joka sai hyvän vastaanoton harrastajien ja korkeakouluopiskelijat. Sitten tuli yksi jäsenistämme
Ciclop 3d -skanneri My Way askel askeleelta: 16 vaihetta (kuvilla)
Ciclop 3D -skanneri minun tapa Askel askeleelta: Hei kaikki, aion toteuttaa kuuluisan Ciclop 3D -skannerin. Kaikki vaiheet, jotka on hyvin selitetty alkuperäisessä projektissa, eivät ole läsnä. Tulostan pohjan ja uudelleenmuodostan piirilevyn, mutta jatkan