Robot lökhárítók készítése (kóddal): 4 lépés
Robot lökhárítók készítése (kóddal): 4 lépés
Anonim
Robot lökhárítók készítése (kóddal)
Robot lökhárítók készítése (kóddal)

Ez az oktatóanyag végigvezeti az olvasókat azon, hogyan lehet lökhárítót létrehozni és kódolni egy Boe-boton, amely képes lesz navigálni a labirintusban, miközben észleli az akadályokat. A projekt kódolása a BASIC Stamp programozó szoftver és a Boe-Bot robot segítségével történt, és az áramkörök és a programozás alapvető ismerete szükséges a lökhárítók létrehozásához.

Kellékek

Ezen lökhárítók létrehozásához szüksége lesz:

- Boe-Bot robot

- BASIC Stamp programozó szoftver

- Popsicle botok

- Egy szivacs

- Alufólia

- Gémkapocs

- 8 tisztességesen hosszú vezeték (legalább 6 hüvelyk)

- 2 LED lámpa

-2 barna-fekete-sárga ellenállás

-2 piros-vörös-barna ellenállás

- Szalag és forró ragasztó (vagy hasonló ragasztó)

- Akkumulátorok a Boe-Bot számára

1. lépés: 1. lépés: Az áramkör létrehozása

1. lépés: Az áramkör létrehozása
1. lépés: Az áramkör létrehozása
1. lépés: Az áramkör létrehozása
1. lépés: Az áramkör létrehozása

Kövesse a fenti kenyértábla -diagramot, és hozzon létre egy áramkört a kenyértábla orientálásához és működtetéséhez. A végén a kenyértáblának hasonlónak kell lennie a bal oldali képhez.

Dolgok, amikre emlékezni kell:

- Győződjön meg arról, hogy a LED a megfelelő helyzetben van. Ez azt jelenti, hogy a LED lapos lábának a negatív oldalon, a másik lábának pedig a pozitív oldalon kell lennie.

- A Vss ezen a kenyértáblán szolgál talajként, ami azt jelenti, hogy értéke nulla, a Vdd pedig 1.

- Egy futó áramkör értéke 0. A kikapcsolt áramkör értéke 1.

2. lépés: 2. lépés: Programozás a Boe-bot számára

A következő kód programozza a robotot, hogy 90 fokkal balra és jobbra forduljon, attól függően, hogy melyik ütközőt nyomja meg (további részletek a lökhárító létrehozásáról a következő lépésben). Ez a kód gondoskodik arról, hogy a robot balra forduljon, amikor megnyomja a jobb oldali lökhárító huzalokat, és jobbra, ha megnyomja a bal oldali lökhárító vezetékét.

Néhány alapvető nyelvfordítás:

- GOSUB = szubrutin (követni kell a kódot)

- Ha.. Else = megadja a végrehajtandó kódcsoportot, ha a feltételek igazak, és utasításokat hajt végre, ha a feltételek hamisak

A kód:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' ******************************************* ******************************** 'Újraindítási kód visszaállítása' A robot leállításához és elindításához használja a visszaállító gombot '** ************************************************** *********************** temp VAR bájt 'ideiglenes tároló RunStatus DATA $ 00' változó a ROM -ban olvasva READ RunStatus, temp 'Olvassa el a változót a ROM temp = ~ temp 'fordítsa az értéket 0 -ról 1 -re vagy 1 -ről 0 -ra WRITE RunStatus, temp' Írja vissza a változót a ROM -ra IF (temp> 0) THEN END 'Ellenőrizze, hogy az érték 1', ha igen VÉGE a PAUSE 3000 programnak mozgassa a „kezét, amikor megnyomja a reset gombot” *************************************** ************************************ '************* ************************************************** *********** 'Pins AND Constants' A programozás egyszerűsítésére szolgál ***************************** ******************************************** LMOTOR PIN 15 RMOTOR PIN 14 RFast CON 650 LFast CON 850 RSlow CON 700 LSlow CON 780 MStop CON 750 RFastRev CON 8 50 LFastRev CON 650 RSlowRev CON 800 LSlowRev CON 700 TurnLeft90 CON 90 TurnRight90 CON 90 '******************************** *************************************** '********* ************************************************** ************** 'Változók' A programozás egyszerűsítésére szolgál '**************************** ******************************************** MLoopC VAR Word '.. Következő változó 65000 oldalig ************************************* '' ----------- -------------------------------------------------- ------------- 'Fő kód' --------------------------------- ----------------------------------------- TEGY, HA IN10 = 0 AKKOR 'Ha a a 10-es érintkező be van kapcsolva, majd balra kell fordulni GOSUB Balra Forgatás 90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Ha a 11-es érintkezőben lévő vezeték be van kapcsolva, akkor forduljon jobbra GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Lépjen előre egy impulzussal LOOP ' --------------------------------- ------------------------------------ '' ** A FŐ KÓD VÉGE ****** *********************************************** '- -------------------------------------------------- --------------------- '**************************** ******************************************* '** Alrutinok / Al-eljárás / Módszerek ******************************* '' *********** ************************************************** *********** '************************************** ********************************* '*************** ************************************************** ******* RightTurn90: 'Alfolyamat 90 fokos jobbra fordulásra' ********************************* ************************************** HIGH 1 LOW 0 MLoopC = 1 - 22 PULSOUT LMOTOR, Lfast 'lépjen előre egy impulzussal PULSOUT RMOTOR, RfastRev' a PUSE 20 '20mS gombokkal és állandókkal 20 "20mS lehetővé teszi, hogy a robot NEXT" mozogjon a következő impulzus RETURN "előtt ******************** ************************************************** * LeftTurn90: „Alfolyamat 90 fokos jobbra forduláshoz” ** ************************************************** ******************* HIGH 0 LOW 1 FOR MLoopC = 1 to 22 PULSOUT LMOTOR, LfastRev 'előre mozog egy impulzust PULSOUT RMOTOR, Rfast' csapok és konstansok használatával PAUSE 20 ' A 20mS lehetővé teszi, hogy a robot NEXT mozogjon a következő impulzus RETURN előtt ************************************ ********************************* ForwardFast: 'Alfolyamat a robot egy négyzetes gyors előremozgatására' **** ************************************************** ***************** MLoopC = 1-55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 MEXET RETURN '************** ************************************************** ****** ReverseTurnLeft: 'Alfolyamat a robot megfordítására és balra fordítására, amikor a jobb lökhárítót eltalálják' *************************** ******************************************* MLoopC = 1-55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 MEXET RETURN '************************************** ********************************* ReverseTurnRight: 'Alfolyamat dure to -back és fordítsa jobbra a robotot, amikor a bal lökhárítót eltalálják '************************************ *********************************** MLoopC = 1-55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 KÖVETKEZŐ VISSZATÉRÉS '' ************************ "ALVÉLYEK VÉGE" ******************** ************************************************** *

3. lépés: 3. lépés: Alumínium fólia és popsicle botok használata huzal lökhárítókhoz

3. lépés: Alumínium fólia és popsicle botok használata huzal lökhárítókhoz
3. lépés: Alumínium fólia és popsicle botok használata huzal lökhárítókhoz
3. lépés: Alumínium fólia és popsicle botok használata huzal lökhárítókhoz
3. lépés: Alumínium fólia és popsicle botok használata huzal lökhárítókhoz
3. lépés: Alumínium fólia és popsicle botok használata huzal lökhárítókhoz
3. lépés: Alumínium fólia és popsicle botok használata huzal lökhárítókhoz
3. lépés: Alumínium fólia és popsicle botok használata huzal lökhárítókhoz
3. lépés: Alumínium fólia és popsicle botok használata huzal lökhárítókhoz

Mielőtt elkezdené ezt a lépést, győződjön meg arról, hogy a kenyérsütő tábláról származó 4 vezeték (lásd az 1. lépést) párra van osztva, és mindegyik pár jobb vagy bal oldali lökhárítót irányít. A LED -ek ebben a helyzetben működnek, és ellenőrzik, hogy a kód érvényes volt -e a jobb és bal lökhárítón. A Popsicle botokon minden párból egy vezeték osztja meg a Popsicle bot egyik végét (ez azt jelenti, hogy az azonos párhuzal vezetékei NEM lehetnek ugyanazon a lökhárítón).

Vágjon le 4 kis téglalap alakú fóliát, és az egyik segítségével tekerje át a drótot két Popsicle bot mindkét végén. Ez növeli a Popsicle bot vezetőképességének felületét, valamint nagyobb felületet biztosít a botok érintéséhez.

Annak érdekében, hogy a fólia és a huzalok a Popsicle botokhoz tapadjanak, használjon 1-2 gemkapcsot az anyagok összetartásához. A gemkapcsok emellett nagyobb hozzáférhetőséget biztosítanak a Popsicle botok érintéséhez, sok külső beavatkozás nélkül. Csúsztassa a gemkapocsot a Popsicle botra, ugyanúgy, mint egy normál papírköteg esetén. Ismételje meg ezt mind a négy darab fólia és a két Popsicle bot mindkét végén.

4. lépés: 4. lépés: A többi lökhárító összeszerelése

4. lépés: A többi lökhárító összeszerelése
4. lépés: A többi lökhárító összeszerelése
4. lépés: A többi lökhárító összeszerelése
4. lépés: A többi lökhárító összeszerelése
4. lépés: A többi lökhárító összeszerelése
4. lépés: A többi lökhárító összeszerelése
4. lépés: A többi lökhárító összeszerelése
4. lépés: A többi lökhárító összeszerelése

Amint az alumínium fólia és a gemkapocs megtartja a huzalokat az egyes Popsicle botokhoz, vágjon két kis kockát szivacsból, és ragasztjon minden kockát a rudak közé (minden bot végére, hogy a forró ragasztó ne zavarja a A szivacsok gondoskodnak arról, hogy a lökhárítók érintéssel érintkezzenek minden alkalommal, amikor a robot falnak ütközik.

Választható: Vágjon félbe egy extra Popsicle botot, és ragassza be ferdén a Popsicle bot ütközőjének csúcsához. Ez erősíti a lökhárító falba ütközésének és elfordulásának hatását.

Ne feledje, hogy hajlítsa meg a vezetékeket úgy, hogy a lökhárítók a Bot-bot előtt kanyarodjanak ki.

Ajánlott: