Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Trin 1: Oprettelse af kredsløbet
- Trin 2: Trin 2: Programmering til Boe-bot
- Trin 3: Trin 3: Brug af aluminiumsfolie og popsicle -pinde til trådkofangere
- Trin 4: Trin 4: Samling af resten af kofangere
Video: Lav robotkofangere (med kode): 4 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
Denne instruktive vil lede læserne igennem, hvordan man opretter og koder kofangere på en Boe-bot, der vil være i stand til at navigere gennem en labyrint, mens det opdager forhindringer. Kodningen til projektet blev udført ved hjælp af BASIC Stamp programmeringssoftware og Boe-Bot robotten, og grundlæggende forståelse af kredsløb og programmering er påkrævet for at lykkes med at skabe disse kofangere.
Forbrugsvarer
For at oprette disse kofangere skal du bruge:
- Boe-Bot robot
- BASIC stempelprogrammeringssoftware
- Popsicle sticks
- En svamp
- Sølvpapir
- Papirclips
- 8 anstændigt lange ledninger (mindst 6 tommer)
- 2 LED lys
-2 brun-sort-gule modstande
-2 rød-rød-brune modstande
- Tape og varm lim (eller lignende lim)
- Batterier til din Boe-Bot
Trin 1: Trin 1: Oprettelse af kredsløbet
Følg breadboard -diagrammet ovenfor for at oprette et kredsløb til orientering og betjening af dit breadboard. I slutningen skal dit brødbræt ligne billedet til venstre.
Ting at huske:
- Sørg for, at lysdioden er i den korrekte position. Det betyder, at LED's flade ben skal være på den negative side og det andet ben på den positive side.
- Vss fungerer som jorden på dette brødbræt, hvilket betyder, at den har en værdi på nul, og Vdd har en værdi på 1.
- Et løbende kredsløb har en værdi på 0. Et kredsløb, der er slukket, har en værdi på 1.
Trin 2: Trin 2: Programmering til Boe-bot
Den følgende kode programmerer robotten til at dreje til venstre og højre 90 grader baseret på hvilken af kofangerne der trykkes på (yderligere detaljer om oprettelse af kofangere i næste trin). Denne kode sikrer, at robotten vil dreje til venstre, når der trykkes på de højre kofangerwirer, og vil dreje til højre, når der trykkes på den venstre kofanger.
Nogle grundlæggende sprogoversættelser:
- GOSUB = underprogram (skal efterfølges af et krav i koden)
- Hvis.. Else = angiver en kodegruppe, der skal udføres, hvis betingelserne er sande, og udfører instruktioner, hvis betingelserne er falske
Koden:
'{$ STAMP BS2}
'{$ PBASIC 2.5}' ******************************************* ******************************* 'Nulstil genstartskode' Brug nulstillingsknappen til at stoppe og starte robotten '** ************************************************* *********************** temp VAR Byte 'midlertidig butik RunStatus DATA $ 00' variabel gemt i ROM LÆS RunStatus, temp 'Læs variablen fra ROM temp = ~ temp 'inverter værdien 0 til 1 eller 1 til 0 WRITE RunStatus, temp' Skriv variablen tilbage til ROM IF (temp> 0) Slut derefter 'Check if the value is 1' if so END the program PAUSE 3000 'Pause to allow dig til at flytte 'din hånd, når du trykker på 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' bruges til at forenkle programmeringen '****************************** ******************************************** MLoopC VAR Word 'For.. Næste Variabel op til 65000ish sideTælling VAR Byte turnAngle VAR Word '************************************ ************************************* '----------- ---------------------------------------------------------- ------------- 'Hovedkode' --------------------------------- ----------------------------------------- GØR HVIS IN10 = 0 SÅ 'Hvis ledning i pin 10 er tændt derefter til venstre GOSUB VenstreTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 SÅ 'Hvis ledningen i pin 11 er tændt, drej til højre GOSUB HøjreTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast' Flyt en puls LOOP frem '-- --------------------------------- ------------------------------------- '** SLUT PÅ HOVEDKODEN ****** ********************************************** ' -------------------------------------------------- --------------------- '***************************** ******************************************* '** Underrutiner / Delprocedure / Metoder *******************************’*********** ************************************************* *********** '************************************** ******************************** '**************** ************************************************* ******* RightTurn90: 'Subprocdure to Turn 90deg Right' ************************************ *********************************** HØJ 1 LAV 0 FOR MLoopC = 1 TIL 22 PULSOUT LMOTOR, Lfast 'bevæge sig en puls fremad PULSOUT RMOTOR, RfastRev' ved hjælp af stifter og konstanter PAUSE 20 '20mS giver robotten mulighed for at bevæge NÆSTE' før NÆSTE puls RETURN '******************** ************************************************* * LeftTurn90: 'Delprocedure for at dreje 90deg til højre' ** ************************************************* ******************* HIGH 0 LOW 1 FOR MLoopC = 1 til 22 PULSOUT LMOTOR, LfastRev 'gå en puls frem PULSOUT RMOTOR, Rfast' ved hjælp af stifter og konstanter PAUSE 20 ' 20mS giver robotten mulighed for at bevæge NÆSTE 'inden NÆSTE puls RETURN' *************************************** *** ************************************************* ****************** TIL MLoopC = 1 TIL 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NÆSTE RETUR '*************** ************************************************* ****** ReverseTurnLeft: 'Delprocedure for at bakke og dreje robotten til venstre, når højre kofanger bliver ramt' **************************** ***************************************** TIL MLoopC = 1 TIL 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 NÆSTE RETURN '************************************** ******************************** ReverseTurnRight: 'Delproces dure at bakke og dreje robotten til højre, når venstre kofanger bliver ramt '*********************************** ********************************* TIL MLoopC = 1 TIL 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUSE 20 NÆSTE RETURN '********************************************** ***** **** ************************************************* *
Trin 3: Trin 3: Brug af aluminiumsfolie og popsicle -pinde til trådkofangere
Inden du begynder dette trin, skal du sikre dig, at de 4 ledninger fra brødbrættet (se trin 1) er opdelt i par, hvor hvert par styrer en højre eller venstre kofanger. Lysdioder fungerer i denne situation for at kontrollere, at koden var effektiv på højre og venstre kofangere. På Popsicle sticks deler en ledning fra hvert par den ene ende af Popsicle stick (det betyder, at ledninger af samme par IKKE kan være på den samme kofanger).
Skær 4 små rektangler af folie og brug en til at vikle tråden rundt om hver ende af to Popsicle sticks. Dette øger overfladearealet for ledningsevnen på Popsicle -pinden samt giver et større overfladeareal for pindene at røre ved.
For at holde folien og ledningerne fast på Popsicle-pindene skal du bruge 1-2 papirclips til at holde materialerne sammen. Papirklippene giver også mere tilgængelighed for Popsicle -pinde at røre ved uden meget ekstern interferens. Skub papirclipsen over Popsicle -pinden, ligesom du ville med en normal stak papir. Gentag dette for alle fire stykker folie og hver ende af de to Popsicle sticks.
Trin 4: Trin 4: Samling af resten af kofangere
Når aluminiumsfolie og papirclips er i stand til at holde ledningerne fastgjort til hver Popsicle stick, skæres to små terninger af svamp og lim hver terning mellem stængerne (i enderne af hver stick, så det varme limklæb ikke forstyrrer metallets ledningsevne. Svampene sikrer, at kofangerne ved berøring hver gang robotten rammer en væg.
Valgfrit: Skær en ekstra Popsicle stick i halve og lim den i en vinkel på spidsen af den ydre Popsicle stick kofanger. Dette forstærker virkningen af kofangeren, der rammer en væg og drejer.
Husk at bøje ledningerne, så kofangerne krummer ud lige foran Bot-botten.
Anbefalede:
Lav en Pi Trash Classifier med ML !: 8 trin (med billeder)
Lav en Pi Trash Classifier Med ML !: Trash Classifier -projektet, kærligt kendt som "Hvor går det hen?!" Er designet til at smide ting hurtigere og mere pålideligt. Dette projekt bruger en Machine Learning (ML) -model uddannet i Lobe, en nybegyndervenlig (ingen kode!)
Lav din egen tilsluttede varmetermostat og spar med varme: 53 trin (med billeder)
Lav din egen tilsluttede varmetermostat og spar med varme: Hvad er formålet? Forøg komforten ved at opvarme dit hus præcis, som du vil Spar og reducer drivhusgasemissioner ved kun at opvarme dit hus, når du har brug. Hold styr på din opvarmning, uanset hvor du er. Vær stolt over, at du gjorde det
Lav dit eget Retro Nixie -ur med en RTC !: 7 trin (med billeder)
Lav dit eget Retro Nixie -ur med en RTC !: I dette projekt vil jeg vise dig, hvordan du opretter et retro nixie -ur. Det betyder, at jeg vil vise dig, hvordan du kan styre nixie -rør med en højspændings jævnstrømforsyning, og derefter vil jeg kombinere 4 nixie -rør med en Arduino, et Real Time Clock (RTC) og en cu
Lav din egen omgivende belysning med Raspberry Pi Zero: 5 trin (med billeder)
Lav din egen omgivende belysning med Raspberry Pi Zero: I dette projekt vil jeg vise dig, hvordan du kombinerer en Raspberry Pi Zero med et par komplementære dele for at tilføje en omgivende lyseffekt til dit tv, hvilket forbedrer seeroplevelsen. Lad os komme igang
Lav en lommeregner ved hjælp af C -kode: 14 trin
Oprettelse af en lommeregner ved hjælp af C -kode: Velkommen til hvad der sandsynligvis vil være din første kode nogensinde, du skriver et let program, der opretter en simpel lommeregner ved hjælp af programmeringssproget " C ". Bemærk: Hvis billederne er for langt eller for at lukke, skal du klikke på dem for at se det fulde billede