Sisällysluettelo:

Tee robottipuskurit (koodilla): 4 vaihetta
Tee robottipuskurit (koodilla): 4 vaihetta

Video: Tee robottipuskurit (koodilla): 4 vaihetta

Video: Tee robottipuskurit (koodilla): 4 vaihetta
Video: Näin käytät tulorekisteriä - Tee palkkatietoilmoitus 2024, Heinäkuu
Anonim
Tee robottipuskurit (koodilla)
Tee robottipuskurit (koodilla)

Tämä opas opastaa lukijoita kuinka luoda ja koodata puskureita Boe-botille, joka pystyy navigoimaan sokkelossa ja havaitsemaan esteitä. Projektin koodaus tehtiin käyttäen BASIC Stamp -ohjelmointiohjelmistoa ja Boe-Bot-robottia, ja näiden puskureiden luominen edellyttää perustietoa piiristä ja ohjelmoinnista.

Tarvikkeet

Näiden puskureiden luomiseksi tarvitset:

- Boe-Bot-robotti

- BASIC Stamp -ohjelmointiohjelmisto

- Popsicle tikkuja

- sieni

- Alumiinifolio

- Paperiliittimet

- 8 kohtuullisen pitkää johtoa (vähintään 6 tuumaa)

- 2 LED -valoa

-2 ruskean-mustan keltaista vastusta

-2 puna-puna-ruskeaa vastusta

- Teippi ja kuuma liima (tai vastaava liima)

- Paristot Boe-Botille

Vaihe 1: Vaihe 1: Piirin luominen

Vaihe 1: Piirin luominen
Vaihe 1: Piirin luominen
Vaihe 1: Piirin luominen
Vaihe 1: Piirin luominen

Seuraa yllä olevaa leipälautakaaviota luodaksesi piirin leipälevyn suuntaamiseksi ja käyttämiseksi. Lopuksi leipälaudasi pitäisi näyttää samalta kuin vasemmalla oleva kuva.

Muistettavia asioita:

- Varmista, että LED on oikeassa asennossa. Tämä tarkoittaa, että LED -valon litteän jalan tulisi olla negatiivisella puolella ja toisen jalan positiivisella puolella.

- Vss toimii tämän leipälevyn pohjana, mikä tarkoittaa, että sen arvo on nolla ja Vdd on 1.

- Juoksupiirin arvo on 0. Sammutetun piirin arvo on 1.

Vaihe 2: Vaihe 2: Ohjelmointi Boe-botille

Seuraava koodi ohjelmoi robotin kääntymään vasemmalle ja oikealle 90 astetta sen mukaan, mitä puskureista painetaan (lisätietoja puskurin luomisesta seuraavassa vaiheessa). Tämä koodi varmistaa, että robotti kääntyy vasemmalle, kun puskurin oikeaa johtoa painetaan, ja oikealle, kun vasenta puskurin johtoa painetaan.

Muutamia kielen peruskäännöksiä:

- GOSUB = aliohjelma (koodissa on oltava vaatimus)

- Jos.. Else = määrittää koodiryhmän, joka on suoritettava, jos ehdot ovat totta, ja suorittaa ohjeet, jos ehdot ovat vääriä

Koodi:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' ******************************************* ******************************** 'Nollaa uudelleenkäynnistyskoodi' Pysäytä ja käynnistä robotti nollauspainikkeella ** ************************************************** *********************** temp VAR -tavu 'väliaikainen tallennus RunStatus DATA $ 00' muuttuja tallennettu ROM READ RunStatus, temp 'Lue muuttuja ROM temp = ~ temp 'käännä arvo 0-1 tai 1-0 WRITE RunStatus, temp' Kirjoita muuttuja takaisin ROMiin IF (temp> 0) THEN END 'Tarkista, onko arvo 1' jos näin, LOPETA ohjelma PAUSE 3000 'Keskeytä salliaksesi voit liikuttaa "kättäsi, kun painat reset" *************************************** ************************************ '' ************* ************************************************** *********** 'Pins AND Constants' Käytetään ohjelmoinnin yksinkertaistamiseen '***************************** ******************************************** 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 '******************************** *************************************** '' ********* ************************************************** ************** 'Muuttujat' Käytetään ohjelmoinnin yksinkertaistamiseen '**************************** ******************************************** MLoopC VAR Sana.. Seuraava muuttuja jopa 65000 sivua ************************************* '' ----------- -------------------------------------------------- ------------- 'Pääkoodi' --------------------------------- ----------------------------------------- TEE JOS IN10 = 0 THEN 'Jos lanka nastassa 10 on päällä ja käänny sitten vasemmalle GOSUB LeftTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Jos lanka nastassa 11 on päällä, käänny oikealle GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Siirry eteenpäin yksi pulssi LOOP '- --------------------------------- ------------------------------------ '' ** PÄÄKOODIN LOPPU ****** *********************************************** ''- -------------------------------------------------- --------------------- '**************************** ******************************************* '' ** Alirutiinit / Alamenettely / Menetelmät ******************************* '' *********** ************************************************** *********** '' ************************************** ********************************* '' *************** ************************************************** ******* RightTurn90: 'Alitoimenpide 90 asteen kääntymiseksi oikealle' ********************************* ************************************** HIGH 1 LOW 0 MLoopC = 1 - 22 PULSOUT LMOTOR, Lfast 'siirtyä eteenpäin yksi pulssi PULSOUT RMOTOR, RfastRev' käyttäen tappeja ja vakioita PAUSE 20 '20mS mahdollistaa robotin liikkua SEURAAVA' ennen SEURAAVAA pulssia PALAUTA '********************* ************************************************** * LeftTurn90: 'Aliprosessi 90 asteen kääntymiseen oikealle' ** ************************************************** ******************* KORKEA 0 MATALA 1 MLoopC: lle = 1-22 PULSOUT LMOTOR, LfastRev 'siirtyy eteenpäin yhden pulssin verran PULSOUT RMOTOR, Rfast' käyttämällä nastoja ja vakioita PAUSE 20 ' 20mS sallii robotin liikkua SEURAAVA 'ennen SEURAAVAA pulssin paluuta' ************************************** ********************************* ForwardFast: 'Alimenettely robotin siirtämiseksi yksi neliö nopeasti eteenpäin' **** ************************************************** ***************** MILoopC = 1-55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 SEURAAVA PALUU '************** ************************************************** ****** ReverseTurnLeft: 'Aliprosessi peruuttaa ja kääntää robotti vasemmalle, kun oikea puskuri osuu' *************************** ******************************************* MLoopC: lle = 1-55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 SEURAAVA PALUU '************************************** ********************************* ReverseTurnRight: 'Aliprosessi dure peruuttaa ja kääntää robotti oikealle, kun vasen puskuri osuu '************************************ ********************************** MILoopC = 1-55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 SEURAAVA PALAUTUS '' ********************************************* ************************* 'ALAOHJELMIEN LOPPU' ******************** ************************************************** *

Vaihe 3: Vaihe 3: Alumiinifolion ja popsicle -tikkujen käyttäminen lankapuskureissa

Vaihe 3: Alumiinifolion ja popsicle -tikkujen käyttäminen lankapuskureissa
Vaihe 3: Alumiinifolion ja popsicle -tikkujen käyttäminen lankapuskureissa
Vaihe 3: Alumiinifolion ja popsicle -tikkujen käyttäminen lankapuskureissa
Vaihe 3: Alumiinifolion ja popsicle -tikkujen käyttäminen lankapuskureissa
Vaihe 3: Alumiinifolion ja popsicle -tikkujen käyttäminen lankapuskureissa
Vaihe 3: Alumiinifolion ja popsicle -tikkujen käyttäminen lankapuskureissa
Vaihe 3: Alumiinifolion ja popsicle -tikkujen käyttäminen lankapuskureissa
Vaihe 3: Alumiinifolion ja popsicle -tikkujen käyttäminen lankapuskureissa

Ennen kuin aloitat tämän vaiheen, varmista, että leipälevyn 4 johtoa (katso vaihe 1) on jaettu pareiksi, ja jokainen pari ohjaa oikeaa tai vasenta puskuria. LEDit toimivat tässä tilanteessa tarkistaakseen, että koodi oli tehokas oikealla ja vasemmalla puskurilla. Popsicle -tikkuissa yksi lanka kustakin parista jakaa Popsicle -tikun toisen pään (tämä tarkoittaa, että saman parin langat EIVÄT voi olla samassa puskurissa).

Leikkaa 4 pientä suorakulmiota kalvosta ja kierrä yksi lanka kahden Popsicle -tikun kummankin pään ympärille. Tämä lisää Popsicle -tikun johtavuuden pinta -alaa ja lisää sauvojen kosketuspintaa.

Pidä kalvo ja johdot kiinni Popsicle-tikkuissa pitämällä materiaalit 1-2 paperiliittimellä. Paperiliittimet tarjoavat myös enemmän pääsyä Popsicle -tikkuihin koskettamaan ilman suuria ulkoisia häiriöitä. Liu'uta paperiliitin Popsicle -tikun päälle aivan kuten normaalilla paperipinolla. Toista tämä kaikille neljälle foliokappaleelle ja kahden Popsicle -tikun molemmille päille.

Vaihe 4: Vaihe 4: Muiden puskureiden kokoaminen

Vaihe 4: Kokoa loput puskurit
Vaihe 4: Kokoa loput puskurit
Vaihe 4: Kokoa loput puskurit
Vaihe 4: Kokoa loput puskurit
Vaihe 4: Kokoa loput puskurit
Vaihe 4: Kokoa loput puskurit
Vaihe 4: Muiden puskureiden kokoaminen
Vaihe 4: Muiden puskureiden kokoaminen

Kun alumiinifolio ja paperiliittimet voivat pitää johdot kiinni jokaisessa Popsicle -tikussa, leikkaa kaksi pientä sienikuutiota ja liimaa jokainen kuutio tikkujen väliin (jokaisen tikun päissä, jotta kuuma liima ei häiritse Sienet varmistavat, että puskurit koskettavat aina, kun robotti osuu seinään.

Valinnainen: Leikkaa ylimääräinen Popsicle -sauva puoliksi ja liimaa se kulmassa Popsicle -tikun puskurin kärkeen. Tämä vahvistaa puskurin iskua seinään ja kääntymistä.

Muista taivuttaa johdot niin, että puskurit kaartuvat suoraan Bot-botin eteen.

Suositeltava: