Indholdsfortegnelse:

Lav robotkofangere (med kode): 4 trin
Lav robotkofangere (med kode): 4 trin

Video: Lav robotkofangere (med kode): 4 trin

Video: Lav robotkofangere (med kode): 4 trin
Video: Rauf & Faik — LUV (Official video) 2024, Juli
Anonim
Lav robotkofangere (med kode)
Lav robotkofangere (med kode)

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

Trin 1: Oprettelse af kredsløbet
Trin 1: Oprettelse af kredsløbet
Trin 1: Oprettelse af kredsløbet
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

Trin 3: Brug af aluminiumsfolie og popsicle pinde til trådkofangere
Trin 3: Brug af aluminiumsfolie og popsicle pinde til trådkofangere
Trin 3: Brug af aluminiumsfolie og popsicle pinde til trådkofangere
Trin 3: Brug af aluminiumsfolie og popsicle pinde til trådkofangere
Trin 3: Brug af aluminiumsfolie og popsicle pinde til trådkofangere
Trin 3: Brug af aluminiumsfolie og popsicle pinde til trådkofangere
Trin 3: Brug af aluminiumsfolie og popsicle pinde til trådkofangere
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

Trin 4: Samling af resten af kofangere
Trin 4: Samling af resten af kofangere
Trin 4: Samling af resten af kofangere
Trin 4: Samling af resten af kofangere
Trin 4: Samling af resten af kofangere
Trin 4: Samling af resten af kofangere
Trin 4: Samling af resten af kofangere
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: