Inhoudsopgave:

Robotbumpers maken (met code): 4 stappen
Robotbumpers maken (met code): 4 stappen

Video: Robotbumpers maken (met code): 4 stappen

Video: Robotbumpers maken (met code): 4 stappen
Video: ELBERT HELPT BIJ EEN BEVALLING - TOPDOKS EXTRA 2024, November
Anonim
Robotbumpers maken (met code)
Robotbumpers maken (met code)

Deze instructable leidt lezers door het maken en coderen van bumpers op een Boe-bot die door een doolhof kan navigeren en obstakels kan detecteren. De codering voor het project is gedaan met behulp van BASIC Stamp-programmeersoftware en de Boe-Bot-robot, en basiskennis van circuits en programmeren is vereist om deze bumpers te maken.

Benodigdheden

Om deze bumpers te maken, hebt u het volgende nodig:

- Boe-Bot-robot

- BASIC Stamp programmeersoftware

- Ijslollystokjes

- Een spons

- Aluminiumfolie

- Paperclips

- 8 behoorlijk lange draden (minstens 6 inch)

- 2 LED-lampjes

- 2 bruin-zwart-gele weerstanden

- 2 rood-rood-bruine weerstanden

- Tape en hete lijm (of een soortgelijke lijm)

- Batterijen voor je Boe-Bot

Stap 1: Stap 1: Het circuit maken

Stap 1: Het circuit maken
Stap 1: Het circuit maken
Stap 1: Het circuit maken
Stap 1: Het circuit maken

Volg het bovenstaande breadboard-diagram om een circuit te maken om uw breadboard te oriënteren en te bedienen. Aan het einde zou je breadboard er ongeveer zo uit moeten zien als de afbeelding aan de linkerkant.

Dingen om te onthouden:

- Zorg ervoor dat de LED in de juiste positie staat. Dit betekent dat het platte been van de LED aan de negatieve kant moet zitten en het andere been aan de positieve kant.

- De Vss dient als grond op dit breadboard, wat betekent dat deze de waarde nul heeft en de Vdd een waarde van 1.

- Een lopend circuit heeft een waarde van 0. Een circuit dat is uitgeschakeld heeft een waarde van 1.

Stap 2: Stap 2: Programmeren voor de Boe-bot

De volgende code programmeert de robot om 90 graden naar links en rechts te draaien op basis van op welke van de bumpers wordt gedrukt (meer details over het maken van bumpers in de volgende stap). Deze code zorgt ervoor dat de robot naar links draait wanneer de rechter bumperdraden worden ingedrukt, en naar rechts wanneer de linker bumperdraden worden ingedrukt.

Enkele basistaalvertalingen:

- GOSUB = subroutine (moet gevolgd worden door een vraag in de code)

- If.. Else = specificeert een groep code die moet worden uitgevoerd, als de voorwaarden waar zijn, en voert instructies uit als de voorwaarden onwaar zijn

De code:

' {$STAMP BS2}

' {$PBASIC 2.5} '***************************************** ******************************* 'Reset Herstart Code ' Gebruik de resetknop om de robot te stoppen en te starten '** ************************************************** ********************* temp VAR Byte 'tijdelijke opslag RunStatus DATA $00' variabele opgeslagen in ROM READ RunStatus, temp 'Lees de variabele uit ROM temp = ~ temp 'inverteer de waarde 0 naar 1 of 1 naar 0 SCHRIJF RunStatus, temp 'Schrijf de variabele terug naar ROM IF (temp>0) THEN END 'Controleer of de waarde 1 is' zo ja END het programma PAUSE 3000 'Pauzeer om toe te staan u om ' uw hand te bewegen wanneer u op reset drukt '**************************************** *********************************** '*************** ************************************************** *********** 'Pins AND Constants ' Gebruikt om het programmeren te vereenvoudigen '****************************** ***************************************** 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 '*********************************** ************************************ '********** ************************************************** *********** 'Variabelen ' Gebruikt om het programmeren te vereenvoudigen '**************************** ********************************************* MLoopC VAR Woord 'Voor'.. Volgende variabele tot 65000ish sideCount VAR Byte turnAngle VAR Word '**************************************** ************************************ '----------- -------------------------------------------------- ------------- 'Hoofd code '--------------------------------- ----------------------------------------- DO IF IN10 = 0 DAN 'Als de draad in pin 10 is aan, draai dan links GOSUB LeftTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 THEN 'Als de draad in pin 11 is aan, draai dan rechts GOSUB RightTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB ForwardFast 'Move- one pulse LOOP'- --------------------------------- ------------------------------------ '**EINDE HOOFDCODE****** ********************************************** '- -------------------------------------------------- --------------------- '**************************** ***************************************** '**Subroutines / Subprocedure / Methoden ******************************* '*********** ************************************************** ********** '**************************************** ******************************* '*************** ************************************************** ****** RightTurn90: ' Subprocedure om 90 graden naar rechts te draaien '*********************************** ************************************ HOOG 1 LAAG 0 VOOR MLoopC = 1 TOT 22 PULSOUT LMOTOR, Lfast 'beweeg één puls vooruit PULSOUT RMOTOR, RfastRev' met behulp van pinnen en constanten PAUZE 20 ' 20mS laat robot VOLGENDE ' bewegen voor VOLGENDE puls RETURN '******************** ************************************************** * LeftTurn90: ' Subprocedure om 90 graden naar rechts te draaien '** ************************************************** ******************** HOOG 0 LAAG 1 VOOR MLoopC = 1 TOT 22 PULSOUT LMOTOR, LfastRev 'ga één puls vooruit PULSOUT RMOTOR, Rfast' met behulp van pinnen en constanten PAUSE 20 ' Met 20 mS kan de robot VOLGENDE ' bewegen voor VOLGENDE puls TERUG '**************************************** ******************************* ForwardFast: ' Subprocedure om de robot een vierkant snel vooruit te bewegen '**** ************************************************** **************** VOOR MLoopC = 1 TOT 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUZE 20 VOLGENDE TERUGKEER '*************** ************************************************** ****** ReverseTurnLeft: 'Subprocedure om de robot om te keren en naar links te draaien wanneer de rechterbumper wordt geraakt '****************************** ***************************************** VOOR MLoopC = 1 TOT 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUZE 20 VOLGENDE TERUG '**************************************** ******************************* ReverseTurnRight: 'Vervolgen' dwang om achteruit te rijden en de robot naar rechts te draaien wanneer de linkerbumper wordt geraakt '**************************************** *********************************** VOOR MLoopC = 1 TOT 55 PULSOUT LMOTOR, LFastRev PULSOUT RMOTOR, RSlowRev PAUZE 20 VOLGENDE RETURN '************************************************** ************************* 'EINDE SUBROUTINES' ******************** ************************************************** *

Stap 3: Stap 3: Aluminiumfolie en ijslollystokjes gebruiken voor draadbumpers

Stap 3: Aluminiumfolie en ijslollystokjes gebruiken voor draadbumpers
Stap 3: Aluminiumfolie en ijslollystokjes gebruiken voor draadbumpers
Stap 3: Aluminiumfolie en ijslollystokjes gebruiken voor draadbumpers
Stap 3: Aluminiumfolie en ijslollystokjes gebruiken voor draadbumpers
Stap 3: Aluminiumfolie en ijslollystokjes gebruiken voor draadbumpers
Stap 3: Aluminiumfolie en ijslollystokjes gebruiken voor draadbumpers
Stap 3: Aluminiumfolie en ijslollystokjes gebruiken voor draadbumpers
Stap 3: Aluminiumfolie en ijslollystokjes gebruiken voor draadbumpers

Voordat u met deze stap begint, moet u ervoor zorgen dat de 4 draden van het breadboard (zie stap 1) in paren zijn verdeeld, waarbij elk paar een rechter- of linkerbumper bedient. LED's functioneren in deze situatie om te controleren of de code van kracht was op de rechter- en linkerbumpers. Op de ijslollystokjes deelt één draad van elk paar een uiteinde van de ijslollystok (dit betekent dat draden van hetzelfde paar NIET op dezelfde bumper kunnen zitten).

Knip 4 kleine rechthoeken van folie en gebruik een om de draad om elk uiteinde van twee ijslollystokjes te wikkelen. Dit vergroot het geleidende oppervlak van de ijslollystok en zorgt voor een groter oppervlak voor de stokjes om aan te raken.

Om de folie en draden aan de ijslollystokjes te houden, gebruikt u 1-2 paperclips om de materialen bij elkaar te houden. De paperclips bieden ook meer toegankelijkheid voor de ijslollystokjes om aan te raken zonder veel externe interferentie. Schuif de paperclip over het ijslollystokje zoals je zou doen met een normale stapel papier. Herhaal dit voor alle vier de stukken folie en elk uiteinde van de twee ijslollystokjes.

Stap 4: Stap 4: De rest van de bumpers monteren

Stap 4: Montage van de rest van de bumpers
Stap 4: Montage van de rest van de bumpers
Stap 4: Montage van de rest van de bumpers
Stap 4: Montage van de rest van de bumpers
Stap 4: Montage van de rest van de bumpers
Stap 4: Montage van de rest van de bumpers
Stap 4: Montage van de rest van de bumpers
Stap 4: Montage van de rest van de bumpers

Zodra de aluminiumfolie en paperclips in staat zijn om de draden aan elk ijslollystokje vast te houden, snijdt u twee kleine blokjes spons en lijmt u elk blokje tussen de stokjes (aan de uiteinden van elk stokje zodat de hete lijm niet interfereert met de geleidbaarheid van het metaal De sponzen zorgen ervoor dat de bumpers elkaar raken telkens wanneer de robot een muur raakt.

Optioneel: Knip een extra ijsstokje doormidden en lijm deze schuin op de punt van de buitenste ijsstokje bumper. Dit versterkt de impact van de bumper die een muur raakt en draait.

Denk aan het buigen van de draden zodat de bumpers recht voor de Bot-bot naar buiten buigen.

Aanbevolen: