Tartalomjegyzék:

Léptető Pomodoro időzítő: 3 lépés (képekkel)
Léptető Pomodoro időzítő: 3 lépés (képekkel)

Videó: Léptető Pomodoro időzítő: 3 lépés (képekkel)

Videó: Léptető Pomodoro időzítő: 3 lépés (képekkel)
Videó: Part 1 - Tom Swift Among the Diamond Makers Audiobook by Victor Appleton (Chs 1-11) 2024, Július
Anonim
Image
Image
1. lépés: Forrasztás és csatlakozó áramkör a tartályon kívül
1. lépés: Forrasztás és csatlakozó áramkör a tartályon kívül

A Stepper Pomodoro egy asztali időzítő, amely segít a napi feladatlista kezelésében azáltal, hogy minden munkaidőt 30 perces szakaszokra bont. A normál Pomodoro időzítővel ellentétben azonban nem nyugtalanít a hátralévő idő megjelenítésével. Ehelyett megjeleníti az időt, amelyen keresztül a három tárcsa közül melyik ketyeg. Azáltal, hogy nem mutatja a pontos időt, lehetővé teszi, hogy ténylegesen az adott feladatra összpontosítson, hanem hogy folyamatosan ellenőrizze a hátralévő időt. Ez a Pomodoro tökéletes azok számára, akiknek könnyű és feltűnő szerkezetre van szükségük a feladatkezeléshez.

Eszközök

• Forrasztópáka

• Huzalcsupaszítók

• Lézervágó (vagy csiszológép attól függően, hogy hogyan szeretné létrehozni az időzítő tárcsát)

• Fúró (én fúrógépet használtam a tárcsákhoz elég nagy lyukak lyukasztásához)

Anyagok

• 1 Arduino Uno

• 1 fél méretű kenyérpad

• 3 H -híd (a DRV8833 -at használtam, a motorvédő védelme időt és fejfájást takarított meg)

• 3 léptetőmotor (én NEMA 17 léptetőket használtam)

• 1 gomb

• 1 220-1K ohmos ellenállás (bármely tartományon belül jó)

• AC/DC adapter (12 V -ot használtam, valószínűleg túl nagy ehhez a léptetőhöz)

• Áramosztó

• USB A-B vezeték

• Breadboard vezetékek

• Forrasztás

• Anyagok az időzítő tartályához

• Akril a tárcsákhoz

• Szegek vagy fémcsapok az időzítő álló karjaként

1. lépés: 1. lépés: Forrasztás és csatlakozó áramkör a tartályon kívül

Ennél a lépésnél az összes H -hídom összeforrasztásával kezdtem (ha megvásárolja a motorpajzsot, akkor nem kell ezeket forrasztania. Ha rendelkezik egy H -híddal minden léptetőhöz, ellenőrizheti, hogy a lépcsők be vannak -e kötve.

A NEMA 17 -eseket bipoláris léptetőmotoroknak nevezik, ami azt jelenti, hogy két (és nem egy) tekercskészlet található a motoron belül, amelyek megváltoztatják a polaritást, hogy lehetővé tegyék a motor pontos mozgását. A bipoláris léptetők általában négy, a Polar lépők általában hat vezetékesek, ez kissé bonyolítja az online utasításokat. Azonban csatlakoztathat egy multimétert két vezetékhez, és ellenőrizheti, hogy csatlakoztatva vannak -e vagy sem. A NEMA 17 lépegetők huzalrendje PIROS, SÁRGA, SZÜRKE, ZÖLD színrendben van, a piros és a szürke az első polár, a sárga és a zöld pedig a második poláros pár. Ha a léptető bármikor rángatózni kezd, ahelyett, hogy befejezné a várt mozgást, akkor valószínű, hogy a vezetékek valahogy nincsenek megfelelően polarizálva az ikerhez, vagy az egyik le van választva. Mindegyik léptetőt négy kimeneti csap vezérli, amelyek a DRV8833 H hidakhoz csatlakoznak. A DRV8833 bemenetének bekötési sorrendje: IN1, IN2, teljesítmény, föld, IN3, IN4. Kimeneti célokra a NEMA csak a hat érintkező négy középpontjához csatlakozik a következő sorrendben: PIROS, SZÜRKE, SÁRGA, ZÖLD. Most csatlakoztassuk az áramot. A NEMA -k a 2–13. Digitális portokon vannak.

Ennek áramellátásához vettem egy 12 V -os váltakozó áramú/egyenáramú adaptert osztóval, hogy képes legyen az Arduino és az összes lépegető áramellátására. FIGYELMEZTETÉS: Ne csatlakoztassa a táp- és földelővezetékeket az Arduino -tól, amely már kap áramot a portról, a kenyérsütő táblára, amely közvetlen áramot kap az AC/DC -től. Sütni fogja a deszkáját. A falra csatlakoztatott 12 V -os adapterről az osztó egyik része egyenesen az Arduino portjához, a másik pedig a kenyértábla pozitív és negatív oldalához vezetett.

Végül itt az ideje, hogy rögzítse a gombot. A gomb egyik oldalának szüksége lesz mind az áramellátásra (az ellenállásunk összeillesztésével), mind a kimeneti tüskére forrasztva (ez a kenyérlapról is elvégezhető). A másik csap a földünk lesz. Ezt a három vezetéket be kell dugni: Tápellátás ellenállással 5V -ra, kimenet A0 -ra, és földelés a földre mind az Arduino Uno táblán.

Innentől kezdve meg kell próbálnunk irányítani a léptetőket az itt található alapvető léptető tesztkód használatával. Ez a magyarázat az Arduino.cc webhelyen alaposabb magyarázatot ad a bi/unipoláris léptetőkre is, ha szüksége van rá. Ezután behatolunk a Pomodoro kódjába!

2. lépés: 2. lépés: A kód feltöltése és beállítása az Ön igényei szerint

2. lépés: Töltse fel a kódot és állítsa be az igényeinek megfelelően
2. lépés: Töltse fel a kódot és állítsa be az igényeinek megfelelően

Az alábbiakban a Pomodoro gombom kódja látható, hogy személyre szabhassa a beállításait, kövesse az alábbi lépéseket:

1. Állítsa be, hány fordulatonkénti lépést tesz meg a személyes léptető típusa (a NEMA 17 -esek 200 -at tartalmaznak, és szerepel a stepsPerRevolution nevű konstans egész számban).

2. Állítsa be, hogy a gomb hová írjon be az állandó egész szám hívó gombjában.

3. Állítsa be, honnan kell az arduino -nak kimennie, hogy parancsot adjon a léptetőknek (ezek a részek leginkább eltérhetnek a H -híd típusok között, mivel sok különböző könyvtárat használnak).

4. Állítsa be a léptető sebességet RPM -ben a.setSpeed -ben (az enyém 1 fordulat / percre van beállítva az óramutató járásával megegyező irányban és 30 ford / perc fordulatszámmal az óramutató járásával ellentétes irányban).

5. Állítsa be, hogy hányszor szeretné megfordítani minden lépcsőfokát, mielőtt továbblép (az én léptetőim tíz percet számolnak, tehát tízszer forognak 1 ford / perc sebességgel).

6 Állítsa be, hogy mennyi ideig kívánja visszafelé forgatni.

#befoglalni

const int stepsPerRevolution = 200; // beállítási állandó, hogy hány lépés van a léptetőmotorjaim minden teljes fordulatában

const int gombPin = A0; // gombbevitel beállítási állandója

Stepper firstStepper (stepsPerRevolution, 2, 3, 4, 5); // inicializálja a léptető könyvtárat bizonyos csapokon

Lépés secondStepper (stepsPerRevolution, 6, 7, 8, 9); Léptető harmadikStepper (stepsPerRevolution, 10, 11, 12, 13); Stepper firstStepperBack (stepsPerRevolution, 2, 3, 4, 5); // inicializálja újra a stepper könyvtárat ezeken a csapokon, hogy vissza tudja állítani a fordulatszámot, amikor figyelmezteti, hogy az idő lejárt Stepper secondStepperBack (stepsPerRevolution, 6, 7, 8, 9); Léptető harmadikStepperBack (stepsPerRevolution, 10, 11, 12, 13);

int minutesCounter = 0; // int a lépegetők teljes fordulatait számolva

int timerState = LOW; // a pomodoro időzítő aktuális állapota (HIGH = be, LOW = ki/vissza) int buttonState; // az aktuális leolvasás a bemeneti tűből int lastButtonState = HIGH; // az előző leolvasás a bemeneti tűből

// a következő változók előjel nélküli hosszúak, mivel az idő ezredmásodpercben mérve, // gyorsan nagyobb szám lesz, mint amennyi egy int -ben tárolható. unsigned long lastDebounceTime = 0; // az utolsó alkalom, amikor a kimeneti tüskét nem aláírt hosszú debounceDelay = 50; // a visszakapcsolási idő; nő, ha a kimenet villog

void setup () {

pinMode (buttonPin, INPUT_PULLUP); // a gomb állandójának beállítása bemenetként

firstStepper.setSpeed (1); // állítsa a fordulatszámot 1 fordulat/ perc értékre a 10 perces lépegetés másodpercenkéntStepper.setSpeed (1); thirdStepper.setSpeed (1); firstStepperBack.setSpeed (30); // állítsa a sebességet 30 fordulat/ perc értékre, hogy figyelmeztesse, hogy az idő lejárt, miután Pomodoro befejezte a secondStepperBack.setSpeed (30); thirdStepperBack.setSpeed (30);

Sorozat.kezdet (9600); // indítsa el a soros monitort 9600 baud sebességgel

}

void loop () {

// a kapcsoló állapotának beolvasása helyi változóba: int reading = digitalRead (buttonPin);

// ellenőrizze, hogy nem nyomta -e meg a gombot

// (azaz a bemenet LOW -ról HIGH -ra változott), és elég sokáig vártál // az utolsó megnyomás óta, hogy figyelmen kívül hagyd a zajokat:

// Ha a kapcsoló zaj vagy nyomás hatására megváltozott:

if (olvasás! = lastButtonState) {// alaphelyzetbe állítja a lekapcsolási időzítőt lastDebounceTime = millis (); } if ((millis () - lastDebounceTime)> debounceDelay) {// bármi legyen is a leolvasás, hosszabb ideig állt ott //, mint a visszakapcsolási késleltetés, ezért vegye azt a jelenlegi állapotnak:

// ha a gomb állapota megváltozott:

if (olvasás! = buttonState) {buttonState = olvasás;

// csak akkor kapcsolja be az időzítő aktiválását, ha az új gombállapot azt jelzi, hogy megnyomták

// a bekapcsoláshoz nyomja meg egyszer, a kikapcsoláshoz nyomja meg újra, ha (buttonState == LOW) {timerState =! timerState; Serial.print ("Az időzítő állapota"); Serial.println (timerState); }}}

if (timerState == HIGH) {

Serial.println ("A Pomodoro időzítő elindult"); if (minutesCounter <11) {// ha az aktuális második érték eltér az előzőtől, akkor firstStepper.step (stepsPerRevolution); // léptető 200 lépés/1 ford.percCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

if (11 <= minutesCounter && minutesCounter <21) {// ha az aktuális második érték eltér az előzőtől, akkor secondStepper.step (stepsPerRevolution); // léptető 200 lépés/1 ford.percCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

if (21 <= minutesCounter && minutesCounter <31) {// ha az aktuális második érték eltér az előzőtől, akkor thirdStepper.step (stepsPerRevolution); // léptető 200 lépés/1 ford.percCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }

if (31 <= minutesCounter && minutesCounter <1031) {// ha az aktuális második érték eltér az előzőtől, akkor firstStepperBack.step (-1); // a léptető hátrafelé fordítása 1 lépésben úgy tűnik, mintha minden egyszerre futna secondStepperBack.step (-1); thirdStepperBack.step (-1); minutesCounter ++; Serial.print ("minutesCounter is"); Serial.println (minutesCounter); }} else {Serial.println ("A Pomodoro időzítő ki van kapcsolva"); } // mentse az értéket. Legközelebb a cikluson keresztül // ez lesz az utolsóButtonState: lastButtonState = olvasás; }

3. lépés: 3. lépés: Tartsa a Steppereket és Arduino -t, ha szeretné

3. lépés: Tartsa a Steppereket és Arduinot, ha szeretné
3. lépés: Tartsa a Steppereket és Arduinot, ha szeretné
3. lépés: Tartsa a Steppereket és Arduinot, ha szeretné
3. lépés: Tartsa a Steppereket és Arduinot, ha szeretné
3. lépés: Tartsa a Steppereket és Arduinot, ha szeretné
3. lépés: Tartsa a Steppereket és Arduinot, ha szeretné

Úgy döntöttem, hogy egy párhuzamos alakot hozok létre az órámhoz. Ezt a formát és a vörös tölgy anyagválasztását a század közepi modern bútorok ihlették. Az egyik rész, amellyel a legnagyobb nehézségeim voltak, az volt, hogy a léptetőket számlapokkal illesztettem a nyílászáróikon keresztül.

Ajánlott: