Innholdsfortegnelse:
- Rekvisita
- Trinn 1: Trinn 1: Opprette kretsen
- Trinn 2: Trinn 2: Programmering for Boe-bot
- Trinn 3: Trinn 3: Bruke aluminiumsfolie og stikkpinner for trådstøtfangere
- Trinn 4: Trinn 4: Montering av resten av støtfangerne
Video: Lag robotstøtfangere (med kode): 4 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:23
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
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
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
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:
Lag din egen tilkoblede oppvarmingstermostat og spar med oppvarming: 53 trinn (med bilder)
Lag din egen tilkoblede oppvarmingstermostat og spar med varme: Hva er formålet? Øk komforten ved å varme opp huset ditt akkurat som du vil Spar penger og reduser klimagassutslippene ved å varme opp huset ditt bare når du trenger Hold kontroll på oppvarmingen uansett hvor du er Vær stolt over at du gjorde det
Lag din egen Retro Nixie -klokke med en RTC !: 7 trinn (med bilder)
Lag din egen Retro Nixie -klokke med en RTC !: I dette prosjektet vil jeg vise deg hvordan du lager en retro nixie -klokke. Det betyr at jeg vil vise deg hvordan du kan kontrollere nixie -rør med en høyspent likestrøm, og så vil jeg kombinere 4 nixie -rør med en Arduino, en sanntidsklokke (RTC) og en kopp
Lag din egen omgivelsesbelysning med Raspberry Pi Zero: 5 trinn (med bilder)
Lag din egen omgivende belysning med Raspberry Pi Zero: I dette prosjektet vil jeg vise deg hvordan du kombinerer en Raspberry Pi Zero med et par komplementære deler for å legge til en omgivende lyseffekt på TV -en som forbedrer seeropplevelsen. La oss komme i gang
Lag Nixie -klokke med Arduino i MDF -treveske: 11 trinn (med bilder)
Lag Nixie -klokke med Arduino i MDF -treveske: I denne instruksjonen vil jeg vise hvordan du lager Nixie -klokke med Arduino etter en krets som er så enkelt som mulig. Alle er satt i MDF -treveske. Etter ferdigstillelse ser klokken ut som et produkt: godt og kompakt fast. La oss
Lag din egen kjørekommando med enkle trinn: 4 trinn
Lag din egen run -kommando med enkle trinn: Her viser jeg hvordan du kan lage din egen run -kommando i Windows OS. Egentlig er denne funksjonen i Windows flott, noe som er nyttig for å åpne applikasjonsvinduet umiddelbart. Så nå kan du også opprette kommandoen din for å åpne et hvilket som helst program ved å skrive inn