Innehållsförteckning:

Gör robotstötfångare (med kod): 4 steg
Gör robotstötfångare (med kod): 4 steg

Video: Gör robotstötfångare (med kod): 4 steg

Video: Gör robotstötfångare (med kod): 4 steg
Video: Ata Alabaş & Alaaddin Ergün - Gör Bak 2024, Juli
Anonim
Gör robotstötfångare (med kod)
Gör robotstötfångare (med kod)

Denna instruerbara kommer att gå igenom läsare genom hur man skapar och kodar stötfångare på en Boe-bot som kommer att kunna navigera genom en labyrint och upptäcka hinder. Kodningen för projektet gjordes med BASIC Stamp-programmeringsprogramvara och Boe-Bot-roboten, och grundläggande förståelse för kretsar och programmering krävs för att lyckas skapa dessa stötfångare.

Tillbehör

För att skapa dessa stötfångare behöver du:

- Boe-Bot robot

- BASIC programvara för stämpelprogrammering

- Isglasspinnar

- En svamp

- Aluminiumfolie

- gem

- 8 hyfsat långa trådar (minst 6 tum)

- 2 LED -lampor

-2 brun-svart-gula motstånd

-2 röd-röd-bruna motstånd

- Tejp och varmt lim (eller liknande lim)

- Batterier till din Boe-Bot

Steg 1: Steg 1: Skapa kretsen

Steg 1: Skapa kretsen
Steg 1: Skapa kretsen
Steg 1: Skapa kretsen
Steg 1: Skapa kretsen

Följ panelen ovanför för att skapa en krets för orientering och användning av din brödbräda. I slutet ska din brödbräda likna bilden till vänster.

Saker att komma ihåg:

- Se till att lysdioden är i rätt läge. Det betyder att LED -plattans platta ben ska vara på den negativa sidan och det andra benet på den positiva sidan.

- Vss fungerar som marken på denna brödbräda, vilket betyder att den har ett värde på noll och Vdd har ett värde på 1.

- En driftskrets har ett värde på 0. En krets som är avstängd har ett värde på 1.

Steg 2: Steg 2: Programmering för Boe-bot

Följande kod programmerar roboten att svänga åt vänster och höger 90 grader baserat på vilken av stötfångarna som trycks ned (ytterligare detaljer om skapande av stötfångare i nästa steg). Den här koden säkerställer att roboten kommer att svänga till vänster när de högra stötfångartrådarna trycks ned, och kommer att svänga åt höger när de vänstra stötfångartrådarna trycks ned.

Några grundläggande språköversättningar:

- GOSUB = subrutin (måste följas av ett krav i koden)

- Om.. Else = anger en kodgrupp som ska köras, om villkoren är sanna, och utför instruktioner om villkoren är falska

Koden:

'{$ STAMP BS2}

'{$ PBASIC 2.5}' ******************************************* ******************************* 'Återställ omstartskod' Använd återställningsknappen för att stoppa och starta roboten '** ************************************************** *********************** temp VAR Byte 'temporär lagring RunStatus DATA $ 00' variabel lagrad i ROM READ RunStatus, temp 'Läs variabeln från ROM temp = ~ temp 'invertera värdet 0 till 1 eller 1 till 0 WRITE RunStatus, temp' Skriv variabeln tillbaka till ROM IF (temp> 0) Därefter END 'Kontrollera om värdet är 1' i så fall SLUTA programmet PAUSE 3000 'Paus för att tillåta du ska flytta 'din hand när du trycker på reset' **************************************** ********************************** '************** ************************************************** ***********”Pins AND Constants” Används för att förenkla programmeringen”******************************* ******************************************** 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' Används för att förenkla programmering '****************************** ******************************************** MLoopC VAR Word 'For.. Nästa Variabel upp till 65000ish sida Räkna VAR Byte turnAngle VAR Word '************************************ ************************************* '----------- ---------------------------------------------------------- ------------- 'Huvudkod' --------------------------------- ----------------------------------------- GÖR OM IN10 = 0 DÅ 'Om tråd i stift 10 är på och sväng vänster GOSUB VänsterTurn90 GOSUB LFastRev GOSUB RFastRev ELSEIF IN11 = 0 DÅ 'Om vajern i stift 11 är på svänger du höger GOSUB HögerTurn90 GOSUB LFastRev GOSUB RFastRev ENDIF GOSUB Framåt' Flytta fram en puls LOOP '- --------------------------------- ------------------------------------- '** SLUT PÅ HUVUDKODEN ****** *********************************************** '- ---------------------------------------------------------- --------------------- '***************************** ******************************************* '** Underrutiner / Delprocedur / Metoder ******************************** *********** ************************************************** ************************************************* ********************************* '**************** ************************************************** ******* RightTurn90: 'Underprocdure to Turn 90deg Right' ************************************ ************************************ HÖG 1 LÅG 0 FÖR MLoopC = 1 till 22 PULSOUT LMOTOR, Lfast 'gå fram en puls fram PULSOUT RMOTOR, RfastRev' med hjälp av stift och konstanter PAUS 20 '20mS gör att roboten kan röra sig NÄSTA' innan nästa puls RETURN '******************** ************************************************** * LeftTurn90: 'Delprocedur för att svänga 90deg höger' ** ************************************************** ******************* HÖG 0 LÅG 1 FÖR MLoopC = 1 till 22 PULSOUT LMOTOR, LfastRev 'flytta fram en puls PULSOUT RMOTOR, Rfast' med hjälp av stift och konstanter PAUSE 20 ' 20 ms gör att roboten kan röra sig NÄSTA "NÄSTA puls RETURN" *************************************** *** ************************************************** ****************** FÖR MLoopC = 1 TILL 55 PULSOUT LMOTOR, LFast PULSOUT RMOTOR, RFast PAUSE 20 NÄSTA RETUR '*************** ************************************************** ****** ReverseTurnLeft: "Delprocedur för att backa och vrida roboten till vänster när höger stötfångare träffas" **************************** ****************************************** FÖR MLoopC = 1 TILL 55 PULSOUT LMOTOR, LSlowRev PULSOUT RMOTOR, RFastRev PAUSE 20 NEXT RETURN '************************************** ******************************** ReverseTurnRight: 'Delprocess tör att backa och vrida roboten åt höger när vänster stötfångare träffas '*********************************** *** 20 NÄSTA RETURN '********************************************** ***** ***** ************************************************** *

Steg 3: Steg 3: Använda aluminiumfolie och Popsicle -pinnar för trådstötfångare

Steg 3: Använda aluminiumfolie och Popsicle -pinnar för trådstötfångare
Steg 3: Använda aluminiumfolie och Popsicle -pinnar för trådstötfångare
Steg 3: Använda aluminiumfolie och Popsicle -pinnar för trådstötfångare
Steg 3: Använda aluminiumfolie och Popsicle -pinnar för trådstötfångare
Steg 3: Använda aluminiumfolie och popsicle -pinnar för trådstötfångare
Steg 3: Använda aluminiumfolie och popsicle -pinnar för trådstötfångare
Steg 3: Använda aluminiumfolie och Popsicle -pinnar för trådstötfångare
Steg 3: Använda aluminiumfolie och Popsicle -pinnar för trådstötfångare

Innan du börjar detta steg, se till att de fyra trådarna från brödbrädan (se steg 1) är uppdelade i par, där varje par styr en höger eller vänster stötfångare. Lysdioder fungerar i denna situation för att kontrollera att koden var effektiv på höger och vänster stötfångare. På Popsicle -pinnarna delar en tråd från varje par ena änden av Popsicle -pinnen (det betyder att ledningar av samma par INTE kan vara på samma stötfångare).

Skär 4 små rektanglar av folie och linda tråden runt varje ände av två Popsicle -pinnar med en. Detta ökar ytan på konduktiviteten hos Popsicle -pinnen samt ger en större ytarea för pinnarna att röra vid.

För att hålla folien och trådarna fast vid Popsicle-pinnarna, använd 1-2 gem för att hålla ihop materialen. Gemet ger också mer tillgänglighet för Popsicle -pinnarna att röra utan mycket yttre störningar. Skjut gemet över Popsicle -pinnen precis som med en vanlig pappersbunt. Upprepa detta för alla fyra foliestycken och varje ände av de två Popsicle -pinnarna.

Steg 4: Steg 4: Montering av resten av stötfångarna

Steg 4: Montera resten av stötfångarna
Steg 4: Montera resten av stötfångarna
Steg 4: Montera resten av stötfångarna
Steg 4: Montera resten av stötfångarna
Steg 4: Montera resten av stötfångarna
Steg 4: Montera resten av stötfångarna
Steg 4: Montera resten av stötfångarna
Steg 4: Montera resten av stötfångarna

När aluminiumfolien och gemen kan hålla trådarna fästa vid varje Popsicle -stick, skär du två små kuber svamp och limar varje kub mellan pinnarna (i ändarna av varje stick så att det heta limet inte stör den metallens ledningsförmåga Svamparna säkerställer att stötfångarna vidrör varje gång roboten träffar en vägg.

Valfritt: Skär en extra Popsicle -pinne på mitten och lim den i en vinkel vid spetsen av den yttre Popsicle stick -stötfångaren. Detta förstärker effekten av att stötfångaren träffar en vägg och vänder.

Kom ihåg att böja ledningarna så att stötfångarna böjer ut precis framför Bot-botten.

Rekommenderad: