Tartalomjegyzék:

ROADRUNNER: 5 lépés
ROADRUNNER: 5 lépés

Videó: ROADRUNNER: 5 lépés

Videó: ROADRUNNER: 5 lépés
Videó: ROADRUNNER: A Film About Anthony Bourdain - Official Trailer [HD] - In Theaters July 16 2024, November
Anonim
ÚTFUTÓ
ÚTFUTÓ

A Roadrunner egy kisméretű automatizált jármű, amelynek feladata, hogy italdobozokat szállítson a szomjas felhasználóknak.

Hogyan működik? Egy doboz kerül a jármű felső alapjára, és a doboz súlya elindít egy kis gombot, amely közli a szállítóval, hogy készen áll a munkára. Útmutatójaként a Roadrunner egy fekete vonal formájában követi a földön lévő utat, amely jelzi, hová kell mennie, és a fényérzékelők használatának köszönhetően képes észlelni, amikor elhagyja az utat, és kijavítja az irányt, hogy így maradjon, mindig a pályán belül. Amint a jármű megérkezik a felhasználóhoz, felveszi az italosdobozt, és ugyanitt megáll a kis szállítóeszköz. Mindaddig nem folytatja menetelését, amíg a felhasználó vissza nem teszi a kannát, hogy visszatérjen a kiindulóponthoz és befejezze munkáját.

1. lépés: Eszközök és anyagok

Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok
Eszközök és anyagok

2. lépés: A hardver összeszerelése

Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés
Hardver összeszerelés

1. TEST

A testhez alumíniumlemezt használtunk, amelyet a kívánt formával vágtunk és hajlítottunk. Ezenkívül elkészítettük az összes lyukat, amelyre szükség lesz a csavarokhoz.

2. KEREKEK

A Mecano játék 2 kerekét használtuk, amelyek tökéletesen illeszkednek a robotunkhoz. A szervók a csavarok segítségével összeillesztett lemez alá mennek. Az első kerékhez "szabad" kereket használtunk, így könnyen bármilyen irányba el tud menni.

3. FOTÓSZENZOROK

Az RDL fényérzékelőkhöz áramköri lapot használtunk, és hozzá hegesztettük az áramkört, tartalmaz egy ellenállást, az LDR -t, egy pozitív, negatív és jelet.

4. ARDUINO BOARD

Csavarokkal rögzítettük az Arduino táblát a lemezhez. Aztán csak összekapcsoltuk az összes áramkört. Az alaplap ellátásához 2 db 9V -os elemet használtunk, amelyeket egyesítettünk és csatlakoztattuk az Arduino -hoz.

5. FELSŐ TÁBLÁZAT

A felső lemezhez lézervágó gépet használtunk a PMMA vágásához. Ezt a formát az AutoCad segítségével terveztük. Nagy lemezből, 3 körgyűrűből és egy kör alakú darabból áll, amely illeszkedik a gyűrűkbe. Teret adtunk a tányérnak, hogy elférjen egy gomb.

3. lépés: Elektromos csatlakozások

Elektromos kapcsolatok
Elektromos kapcsolatok

1. Szervomotorok csatlakoztatása:

A szervomotorok három kábelből állnak; egy sárga vagy narancssárga jelzésre, piros a teljesítményre (Vcc) és fekete vagy barna a földre (GND). A piros és a barna az Arduino megfelelő csapjaihoz van rögzítve (5V és GND). Az egyik szervó a 10 -es PWM -hez, a másik pedig a 11 -es PWM -csatlakozóhoz van kötve.

2. Csatlakoztató gomb:

Az elektronikus gombok kissé sajátos módon működnek; engedje át a feszültséget átlósan a csapokon, vagyis ha négy érintkezőnk van, akkor a bemenetet és a kimenetet csak két, 1-4 vagy 2-3 érintkezőben kell összekötni a működéshez. Például, ha az 1-4-es csapokat választjuk, akkor a földet (GND) a 4-es érintkezőhöz kötjük, a kimenet pedig a PWM 9-es csatlakozóhoz, és viszont 1 kOhm-os ellenállással együtt 5V-ra (Vcc).

3. Fotoszenzorok csatlakoztatása:

A fényérzékelők csatlakoztatásához az egyik lábat közvetlenül a Vcc tápegységre kell helyeznünk, a másikat pedig egyidejűleg, egy analóg csaphoz (ebben az esetben az A0 és A1 csapokhoz) és a földi GND -hez 1 kOhm ellenállás.

Jegyzet:

Kis huzalokat forraszthat a vezetékekhez, ha a vezetékek nem illeszkednek közvetlenül az Arduino -ba, vagy használjon protoboardot a különböző csatlakozások megkönnyítésére. Ebben a projektben összekötő csíkokat használtunk különböző kötésekhez.

4. lépés: Az Arduino programozása

Arduino programozása
Arduino programozása
Arduino programozása
Arduino programozása

KÓD

#include Servo myservoL;

Szervo myservoR;

int inPin = 7;

int gombVal = 1;

void setup () {

// SZERVOMOTOROK

myservoL.attach (10);

myservoR.attach (11);

Sorozat.kezdet (9600); }

void loop () {

int LDR_L = analóg olvasat (A2);

int LDR_R = analóg olvasat (A1);

buttonVal = digitalRead (inPin);

// CSOMAG BAL

ha (LDR_L> 590 && buttonVal == 0) {

myservoL.write (180);

// Sorozat.println (LDR_L); }

más {

myservoL.write (92);

// Sorozat.println (LDR_L);

}

// CSOMAGOLJ JOBB

if (LDR_R> 750 && buttonVal == 0) {

myservoR.write (-270);

// Sorozat.println (LDR_R); }

más {

myservoR.write (92);

// Sorozat.println (LDR_R); }

}

Ajánlott: