Sisukord:

Tehke robotkaitserauad (koodiga): 4 sammu
Tehke robotkaitserauad (koodiga): 4 sammu

Video: Tehke robotkaitserauad (koodiga): 4 sammu

Video: Tehke robotkaitserauad (koodiga): 4 sammu
Video: 🤯 Удивительно, сколько слабых мест в Opel Astra H. Как и когда они проявляются? 2024, Juuli
Anonim
Tehke roboti kaitserauad (koodiga)
Tehke roboti kaitserauad (koodiga)

See juhend juhendab lugejaid, kuidas luua ja kodeerida Boe-botil kaitserauad, mis suudavad takistusi tuvastades labürindis navigeerida. Projekti kodeerimiseks kasutati programmeerimistarkvara BASIC Stamp ja robotit Boe-Bot ning nende kaitseraudade loomiseks on vaja elementaarset arusaamist vooluringidest ja programmeerimisest.

Tarvikud

Nende kaitseraudade loomiseks vajate:

- Boe-Boti robot

- BASIC Stamp programmeerimise tarkvara

- Popsicle pulgad

- käsn

- alumiiniumfoolium

- Kirjaklambrid

- 8 korralikku traati (vähemalt 6 tolli)

- 2 LED -valgustit

-2 pruuni-must-kollast takistit

-2 punase-punakaspruuni takistit

- lint ja kuumliim (või sarnane liim)

- Teie Boe-Boti akud

1. samm: 1. samm: vooluringi loomine

Samm: vooluringi loomine
Samm: vooluringi loomine
Samm: vooluringi loomine
Samm: vooluringi loomine

Järgige ülaltoodud leivaplaadi skeemi, et luua skeem leivaplaadi orienteerimiseks ja kasutamiseks. Lõpuks peaks teie leivaplaat välja nägema sarnane vasakpoolse pildiga.

Mida meeles pidada:

- Veenduge, et LED on õiges asendis. See tähendab, et valgusdioodi lame jalg peaks olema negatiivsel küljel ja teine jalg positiivsel küljel.

- Vss on sellel leivaplaadil maapind, mis tähendab, et selle väärtus on null ja Vdd väärtus 1.

- Jooksva vooluahela väärtus on 0. Väljalülitatud vooluahela väärtus on 1.

2. samm: 2. samm: programmeerimine Boe-botile

Järgmine kood programmeerib roboti pöörduma 90 kraadi vasakule ja paremale sõltuvalt sellest, millist kaitserauad on vajutatud (lisateavet kaitseraua loomise kohta järgmises etapis). See kood tagab, et parempoolse kaitseraua juhtmete vajutamisel pöörab robot vasakule ja vasakpoolse kaitseraua vajutamisel paremale.

Mõned põhilised keele tõlked:

- GOSUB = alamprogramm (koodile peab järgnema nõue)

- Kui.. Else = määrab koodirühma, mis tuleks täita, kui tingimused on tõesed, ja täidab juhiseid, kui tingimused on valed

Kood:

„{$ STAMP BS2}

„{$ PBASIC 2.5}” ******************************************* ******************************** 'Taaskäivita kood' Kasuta roboti peatamiseks ja käivitamiseks lähtestusnuppu '** ************************************************* *********************** temp VAR bait 'ajutine salvestus RunStatus DATA $ 00' muutuja salvestatud ROM READ RunStatus, temp 'Muutuja lugemine ROM temp = ~ temp 'pöörake väärtus 0 kuni 1 või 1 kuni 0 WRITE RunStatus, temp' Kirjutage muutuja tagasi ROM -ile IF (temp> 0) THEN END 'Kontrollige, kas väärtus on 1', kui see on LÕPP programm PAUSE 3000 'Paus lubamiseks sa liigutad "kätt, kui vajutad lähtestamist" *************************************** *********************************** '' ************* ************************************************* *********** 'Pins AND Constants' Kasutatakse programmeerimise lihtsustamiseks '***************************** ******************************************** 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 '******************************** ************************************** '' ********* ************************************************* ************** 'Muutujad' Kasutatakse programmeerimise lihtsustamiseks '**************************** ******************************************* MLoopC VAR Word '.. Järgmine muutuja kuni 65000 külgKoht VAR baidipööre Angle VAR Word '*********************************** ************************************ '' ----------- -------------------------------------------------- ------------- 'Põhikood' --------------------------------- ----------------------------------------- TEE, KUI IN10 = 0 THEN 'Kui traat nööpnõelas 10 on sisse lülitatud ja seejärel pöörake vasakule GOSUB vasakule Pöörake 90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Kui juhtme tihvtis 11 on sisse lülitatud, siis pöörake paremale GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Liiguta edasi ühe impulsiga LOOP- --------------------------------- ------------------------------------ '** PÕHIKOODI LÕPP ****** ********************************************** ''- -------------------------------------------------- --------------------- '**************************** ****************************************** '' ** Alamrutiinid / Alamprotseduur / Meetodid ******************************* '' *********** ************************************************* *********** '************************************* ********************************* '*************** ************************************************* ******* RightTurn90: "Alamprotseduur 90 kraadi paremale keeramiseks" ********************************* ************************************* KÕRGE 1 MADAL 0 MLoopC jaoks = 1 kuni 22 PULSOUT LMOTOR, Lfast 'liigub ühe impulsi võrra edasi PULSOUT RMOTOR, RfastRev' kasutades tihvte ja konstandeid PAUS 20 '20mS võimaldab robotil liikuda JÄRGMINE' enne JÄRGMISE impulsi tagasitulekut ******************** ************************************************* * LeftTurn90: "alamprotseduur 90 kraadi paremale pööramiseks" ** ************************************************* ******************* KÕRGE 0 MADAL 1 MLoopC jaoks = 1 kuni 22 PULSOUT LMOTOR, LfastRev 'liigub edasi ühe impulsi võrra PULSOUT RMOTOR, Rfast', kasutades tihvte ja konstandeid PAUS 20 ' 20mS võimaldab robotil liikuda JÄRGMINE "enne järgmise käigu tagasitulekut" ************************************* ********************************* ForwardFast: 'Alamprotseduur roboti ühe ruudu kiireks edasi viimiseks' **** ************************************************* ***************** FOR MLoopC = 1 kuni 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 JÄRGMINE TAGASI '************** ************************************************* ****** ReverseTurnLeft: 'Alamprotseduur roboti tagurdamiseks ja vasakule pööramiseks, kui parempoolne kaitseraud tabatakse' ************************** ****************************************** MLoopC jaoks = 1 kuni 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUS 20 Järgmine tagasitulek '************************************* ********************************* ReverseTurnRight: 'Alamprotsess dure tagurdamiseks ja pöörake robot paremale, kui vasakpoolne kaitseraud on tabanud '*********************************** ********************************** MLoopC = 1 kuni 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUS 20 JÄRGMINE TAGASI '******************************************* ************************ 'ALARUUTIDE LÕPP' ******************** ************************************************* *

3. samm: 3. samm: alumiiniumfooliumi ja popsicle pulgade kasutamine traatkaitseraudade jaoks

Samm 3: alumiiniumfooliumi ja popsicle pulgade kasutamine traatkaitseraudade jaoks
Samm 3: alumiiniumfooliumi ja popsicle pulgade kasutamine traatkaitseraudade jaoks
Samm 3: alumiiniumfooliumi ja popsicle pulgade kasutamine traatkaitseraudade jaoks
Samm 3: alumiiniumfooliumi ja popsicle pulgade kasutamine traatkaitseraudade jaoks
Samm 3: alumiiniumfooliumi ja popsicle pulgade kasutamine traatkaitseraudade jaoks
Samm 3: alumiiniumfooliumi ja popsicle pulgade kasutamine traatkaitseraudade jaoks
Samm 3: alumiiniumfooliumi ja popsicle pulgade kasutamine traatkaitseraudade jaoks
Samm 3: alumiiniumfooliumi ja popsicle pulgade kasutamine traatkaitseraudade jaoks

Enne selle sammu alustamist veenduge, et leivaplaadi 4 juhtmest (vt 1. samm) on jagatud paarideks, kusjuures iga paar kontrollib paremat või vasakut kaitseraua. Selles olukorras töötavad valgusdioodid, et kontrollida, kas kood oli paremal ja vasakul kaitseraual efektiivne. Popsicle pulgadel jagab üks paar mõlemast paarist Popsicle pulga ühte otsa (see tähendab, et sama paari juhtmed EI SAA olla samal kaitseraual).

Lõigake 4 väikest ristkülikut fooliumist ja mähkige ühega traat ümber kahe Popsicle pulga otsa. See suurendab Popsicle pulga juhtivuse pinda ja annab pulgadele suurema pinna.

Selleks, et foolium ja juhtmed jääksid Popsicle pulgade külge kinni, kasutage 1-2 kirjaklambrit, et materjalid koos hoida. Kirjaklambrid pakuvad ka Popsicle pulgadele rohkem ligipääsetavust ilma väliste sekkumiseta. Libistage kirjaklamber üle Popsicle pulga, nagu tavalise paberipaki puhul. Korrake seda kõigi nelja fooliumitüki ja kahe Popsicle pulga kummaski otsas.

4. samm: 4. samm: ülejäänud kaitseraudade kokkupanek

4. samm: ülejäänud kaitseraudade kokkupanek
4. samm: ülejäänud kaitseraudade kokkupanek
4. samm: ülejäänud kaitseraudade kokkupanek
4. samm: ülejäänud kaitseraudade kokkupanek
4. samm: ülejäänud kaitseraudade kokkupanek
4. samm: ülejäänud kaitseraudade kokkupanek
4. samm: ülejäänud kaitseraudade kokkupanek
4. samm: ülejäänud kaitseraudade kokkupanek

Kui alumiiniumfoolium ja kirjaklambrid suudavad hoida iga Popsicle pulga külge kinnitatud juhtmeid, lõigake kaks väikest kuubikut käsna ja liimige iga kuubik pulgade vahele (iga pulga otstesse nii, et kuum liim ei segaks käsnad tagavad, et kaitserauad puudutavad iga kord, kui robot vastu seina lööb.

Valikuline: lõigake täiendav Popsicle -pulgad pooleks ja liimige see Popsicle -pulga välimise kaitseraua otsas nurga all. See tugevdab põrkeraua vastu seina löömise ja pööramise mõju.

Ärge unustage juhtmeid painutada nii, et kaitserauad kõverduvad otse Bot-boti ees.

Soovitan: