Innholdsfortegnelse:

Lag robotstøtfangere (med kode): 4 trinn
Lag robotstøtfangere (med kode): 4 trinn

Video: Lag robotstøtfangere (med kode): 4 trinn

Video: Lag robotstøtfangere (med kode): 4 trinn
Video: Lag 2024, November
Anonim
Lag robotstøtfangere (med kode)
Lag robotstøtfangere (med kode)

Denne instruksen vil lede leserne gjennom hvordan du lager og koder støtfangere på en Boe-bot som vil kunne navigere gjennom en labyrint mens du oppdager hindringer. Kodingen for prosjektet ble utført ved hjelp av BASIC Stamp programmeringsprogramvare og Boe-Bot roboten, og grunnleggende forståelse av kretser og programmering er nødvendig for å lykkes med å lage disse støtfangerne.

Rekvisita

For å lage disse støtfangerne trenger du:

- Boe-Bot robot

- BASIC Stempelprogrammeringsprogramvare

- Ispinner

- En svamp

- Aluminiumsfolie

- Binders

- 8 anstendig lange ledninger (minst 6 tommer)

- 2 LED -lys

-2 brun-svart-gule motstander

-2 rød-rød-brune motstander

- Tape og varmt lim (eller lignende lim)

- Batterier til din Boe-Bot

Trinn 1: Trinn 1: Opprette kretsen

Trinn 1: Opprette kretsen
Trinn 1: Opprette kretsen
Trinn 1: Opprette kretsen
Trinn 1: Opprette kretsen

Følg brødborddiagrammet ovenfor for å lage en krets for å orientere og betjene brødbrettet. På slutten skal brødbrettet ditt se ut som bildet til venstre.

Ting å huske:

- Kontroller at LED -en er i riktig posisjon. Dette betyr at det flate benet til LED -en skal være på den negative siden og det andre benet på den positive siden.

- Vss fungerer som bakken på dette brødbrettet, noe som betyr at den har en verdi på null, og Vdd har en verdi på 1.

- En løpskrets har verdien 0. En krets som er slått av har verdien 1.

Trinn 2: Trinn 2: Programmering for Boe-bot

Følgende kode programmerer roboten til å svinge 90 grader til venstre og høyre basert på hvilken av støtfangerne som trykkes (ytterligere detaljer om opprettelse av støtfangere i neste trinn). Denne koden sørger for at roboten svinger til venstre når de høyre støtfangertrådene trykkes ned, og svinger til høyre når de venstre støtfangertrådene trykkes.

Noen grunnleggende språkoversettelser:

- GOSUB = subrutine (må følges av et krav i koden)

- Hvis.. Else = angir en kodegruppe som skal kjøres, hvis betingelsene er sanne, og utfører instruksjoner hvis betingelsene er falske

Koden:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' ******************************************* ****************************** 'Reset Restart Code' Bruk tilbakestillingsknappen for å stoppe og starte roboten '** ************************************************* *********************** temp VAR Byte 'midlertidig lagre RunStatus DATA $ 00' variabel lagret i ROM LES RunStatus, temp 'Les variabelen fra ROM temp = ~ temp 'inverter verdien 0 til 1 eller 1 til 0 WRITE RunStatus, temp' Skriv variabelen tilbake til ROM IF (temp> 0) DERE SLUT 'Sjekk om verdien er 1' i så fall SLUTT programmet PAUSE 3000 'Pause for å tillate du beveger 'hånden din når du trykker reset' *************************************** ********************************** '************* ************************************************* *********** 'Pins AND Constants' Used to simplify programming '******************************* ******************************************* 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 '********************************* ************************************** ********* ************************************************* ************** 'Variabler' Brukes til å forenkle programmeringen '****************************** ******************************************* MLoopC VAR Word 'For.. Neste Variabel opptil 65000ish sideTelling VAR Byte turnAngle VAR Word '*********************************** ************************************* '----------- -------------------------------------------------- ------------- 'Hovedkode' --------------------------------- ----------------------------------------- GJØR HVIS IN10 = 0 DA 'Hvis ledning i pinne 10 er på og deretter til venstre GOSUB VenstreTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 DA 'Hvis ledningen i pinne 11 er på, sving til høyre GOSUB HøyreTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Flytt forover en puls LOOP '-- --------------------------------- ------------------------------------- '** SLUTT PÅ HOVEDKODEN ****** ********************************* ***** -------------------------------------------------- --------------------- '**************************** ****************************************** '** Underrutiner / Delprosedyre / Metoder *******************************’*********** ************************************************* ***********”************************************** ******************************** '**************** ************************************************* ******* RightTurn90: 'Subprodusure to Turn 90deg Right' *********************************** ****** ***** Lfast 'gå en puls fremover PULSOUT RMOTOR, RfastRev' ved hjelp av pinner og konstanter PAUSE 20 '20mS gjør at roboten kan bevege NESTE' før NESTE puls RETURN '******************** ************************************************* * LeftTurn90: 'Delprosedyre for å svinge 90 grader til høyre' ** ************************************************* ******************* HIGH 0 LOW 1 FOR MLoopC = 1 til 22 PULSOUT LMOTOR, LfastRev 'gå frem en puls PULSOUT RMOTOR, Rfast' ved hjelp av pinner og konstanter PAUSE 20 ' 20mS lar roboten bevege seg NESTE 'før NESTE puls RETURN' *************************************** *** ************************************************* ****************** FOR MLoopC = 1 TIL 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NESTE RETURNE *************** ************************************************* ****** ReverseTurnLeft: 'Delprosedyre for å reversere og dreie roboten til venstre når høyre støtfanger treffes' *************************** ***************************************** FOR MLoopC = 1 TIL 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 NESTE RETURN '************************************** ******************************* ReverseTurnRight: 'Delprosess tør å snu og snu roboten til høyre når venstre støtfanger treffer '*********************************** ******************************** FOR MLoopC = 1 TIL 55 PULSOUT MOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 NESTE RETURN '********************************************* ****** ***** ************************************************* *

Trinn 3: Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådstøtfangere

Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådfangere
Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådfangere
Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådfangere
Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådfangere
Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådfangere
Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådfangere
Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådfangere
Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådfangere

Før du begynner dette trinnet, må du kontrollere at de fire ledningene fra brødbrettet (se trinn 1) er delt i par, og hvert par kontrollerer en høyre eller venstre støtfanger. Lysdioder fungerer i denne situasjonen for å kontrollere at koden var effektiv på høyre og venstre støtfangere. På Popsicle -pinnene deler en ledning fra hvert par den ene enden av Popsicle -pinnen (dette betyr at ledninger av samme par IKKE kan være på samme støtfanger).

Skjær 4 små rektangler av folie og bruk en til å vikle tråden rundt hver ende av to Popsicle -pinner. Dette øker overflatearealet for ledningsevnen til Popsicle -pinnen, samt gir et større overflateareal for pinnene å berøre.

For å holde folien og ledningene fast på Popsicle-pinnene, bruk 1-2 binders for å holde materialene sammen. Papirklippene gir også mer tilgjengelighet for Popsicle -pinnene å berøre uten mye ekstern forstyrrelse. Skyv binderset over Popsicle -pinnen akkurat som du ville gjort med en vanlig papirbunke. Gjenta dette for alle fire foliestykkene og hver ende av de to Popsicle -pinnene.

Trinn 4: Trinn 4: Montering av resten av støtfangerne

Trinn 4: Montering av resten av støtfangerne
Trinn 4: Montering av resten av støtfangerne
Trinn 4: Montering av resten av støtfangerne
Trinn 4: Montering av resten av støtfangerne
Trinn 4: Montering av resten av støtfangerne
Trinn 4: Montering av resten av støtfangerne
Trinn 4: Montering av resten av støtfangerne
Trinn 4: Montering av resten av støtfangerne

Når aluminiumsfolie og binders kan holde ledningene festet til hver Popsicle -pinne, kutter du to små terninger av svamp og limer hver terning mellom pinnene (helt i enden av hver pinne, slik at det varme limet ikke forstyrrer ledningsevne til metallet. Svampene sørger for at støtfangerne berører hver gang roboten treffer en vegg.

Valgfritt: Skjær en ekstra Popsicle -pinne i to og lim den i en vinkel på spissen av den ytre Popsicle stick -støtfangeren. Dette forsterker virkningen av støtfangeren som treffer en vegg og snur.

Husk bøy ledningene slik at støtfangerne krummer ut rett foran Bot-boten.

Anbefalt: