Hindra-undvika robot med en personlighet !: 7 steg (med bilder)
Hindra-undvika robot med en personlighet !: 7 steg (med bilder)
Anonim
Hinder-Undvik robot med en personlighet!
Hinder-Undvik robot med en personlighet!
Hinder-Undvik robot med en personlighet!
Hinder-Undvik robot med en personlighet!
Hinder-Undvik robot med en personlighet!
Hinder-Undvik robot med en personlighet!
Hinder-Undvik robot med en personlighet!
Hinder-Undvik robot med en personlighet!

Till skillnad från de flesta roaming -robotar, strövar den här faktiskt på ett sådant sätt att det faktiskt verkar vara "tänkande"! Med en BASIC Stamp -mikrokontroller (Basic Atom, Parallax Basic Stamps, Coridium Stamp, etc.), ett chassi av något slag, några sensorer och lite sofistikerad kod från denna instruerbara, kan du skapa en robot som kommer att utföra rörelser du aldrig ens programmerat in det! Här är en video (den är av låg kvalitet, men jag jobbar på det. (Jag försöker fortfarande räkna ut den delen att det är för långsamt.)

Steg 1: Sensorerna

(Namnet?)… Tja, låt oss bara kalla det Bob. Bob har fem sensorer

  • Ultrasonic Rangefinder (aka "sonar")
  • 2 Sharp GP2D12 IR -sensorer
  • 1 standard IR -enhet (mer om detta senare)
  • 1 CdS (kadmiumsulfid) fotocell

Ultraljudsmätaren hjälper Bob att se hinder som ligger precis framför honom; de berättar också för honom vilket avstånd objektet är från honom. Detta kan erhållas från många källor. Du kan hitta dem från (Parallax; de kallar det "Ping)))"), Acroname, HVW Technologies och så många fler webbplatser. Oavsett var du går för att hitta dem kostar de alla ungefär samma (~ $ 30). De två IR -sensorerna från Sharp är mycket enkla att använda när de används för enkel objektdetektering som i detta fall. Du kan få dem i majs onlinebutiker, till exempel de som anges ovan. De hjälper Bob att se hinder som ultraljudsmätaren inte kan; hinder som kommer för nära sidorna av jakten. De kostar cirka $ 12 till $ 15 beroende på var du får dem. "IR -monteringen" gjorde jag själv; se steg 2 för montering. CdS fotocell (eller ljusvariabelt motstånd, oavsett vad du föredrar) är för att upptäcka förändringar i omgivande belysning. Bob använder dem för att veta när han är i ett mörkt eller ljust rum. Om någon som har tidigare erfarenhet av någon av Sharp IR -rangers, FYI, används de inte för faktisk avståndsmätning i denna robot. Jag har inte en ADC (Analog-to-Digital Converter), inte heller vet jag hur jag ska använda dem på det sättet. De ger helt enkelt en HÖG eller LÅG signal till BS2 -mikrokontrollern. Datablad för Sharp IR: s och Ping))) -sensorn finns på nätet, men om du är lat som jag kan du rulla ner lite längre och där är de!

Steg 2: Hårdvaran, hjärnan och andra komponenter

Hårdvaran, hjärnan och andra komponenter
Hårdvaran, hjärnan och andra komponenter
Hårdvaran, hjärnan och andra komponenter
Hårdvaran, hjärnan och andra komponenter

Ok. Till att börja med var hårdvaran som användes för denna robot en del av ett kit jag fick. Det är "Boe-Bot" -satsen från Parallax (https://www. Parallax.com), men denna design är mycket flexibel; du kan använda vilket chassi du vill, var noga med att 1) ultraljudsavståndsmätaren är på den högsta höjden på roboten så att den inte träffar botten av räcken osv. och 2) IR -sensorerna är vinklade på ett sådant sätt att de kan till och med upptäcka föremål som är cirka 1 "från roboten. Detta hindrar den från att träffa kanter på saker som kan träffa hjulen. På chassit monteras Parallax Boe-Board som följde med mitt Boe-Bot-kit, som helt enkelt är en utvecklingskort som kan användas med alla Stamp -mikrokontroller med samma spänningskrav och stiftlayout. Det finns många olika Stamp -utvecklingskort på internet. Det är $ 65 från Parallax. På utvecklingsbrädan, som Bobs hjärna, är BS2e (BASIC Stamp 2 e), som i princip är densamma som BS2, förutom med mer minne (RAM och EEPROM). EEPROM är för programlagring och RAM är för lagring av variablerna (tillfälligt, förstås). Bob kanske inte vara den snabbaste tänkaren i världen (~ 4 000 instruktioner/sek), men hej, det är bra nog. Bob rör sig via två kontinuerliga rotationsservos från Parallax som, som många servon gör, har MYCKET vridmoment. För saften har han ett 4-cells AA-batteri (för totalt 6V) anslutet till 5V-regulatorn på utvecklingsbrädet, vilket ger en stabil effekt på, du gissade det, 5V för att inte steka komponenterna. Många enheter för robotik körs antingen på en 5V eller 6V matning; av någon anledning är det en standard. Och du vill inte steka dessa komponenter; de är dyra. BS2e har en intern regulator, men ge den inte mer än 9V om du inte använder ett utvecklingsbord! Om du inte använder en utvecklingskort (som alltid har regulatorer), var noga med att använda en 5V regulator. OBS: När det gäller strömförbrukning är Bob väldigt girig. Använd LADDBARA batterier för detta; de håller MYCKET längre. Jag använde 4 Energizer uppladdningsbara @ 2500ma vardera, vilket definitivt förlänger livet.

Steg 3: Montering av ljussensorkretsen

Montering av ljussensorkretsen
Montering av ljussensorkretsen

Ljussensorn kräver en krets för att BS2e ska kunna använda den korrekt. Jag fick den här kretsen direkt ur en av Parallax böcker (faktiskt den som följde med mitt kit). OBS: PIN 6 ÄR FAKTISKT PIN 1; DETTA MÅSTE MATCHA KODEN ELLER DU KAN SKADA ANDRA KOMPONENTER. Var försiktig så att du inte gör det.

Steg 4: Montering av avlämningsdetektorn

Montering av avlämningsdetektorn
Montering av avlämningsdetektorn
Montering av avlämningsdetektorn
Montering av avlämningsdetektorn

Detta kan sättas ihop på enbart PCB. Jag sprang bara över till RadioShack och fick en och klippte brädan så att den passade i kretsen. Denna del är CRUCIAL. Om du förstör detta kan stackars Bob dö. IR -detektorn är en Panasonic PNA4601, men du kan få dem från RatShack, liksom motstånden och IR -lysdioden. Det spelar ingen roll vilken storlek IR LED du får, juts se till att det inte är en IR FOTOTRANSISTOR. Det är en helt annan enhet. Du måste också använda värmekrympslang eller någon form av halm (du kan spruta smärta det svart) för att begränsa strålen på IR-lysdioden, men den måste vara helt suverän (förutom slutet av lysdioden) eller sensorn kommer inte att fungera. Jag använde ett plasthölje från Parallax. Du kan beställa lysdioden och höljet på deras webbplats.

Tyvärr var frekvensområdet på IR -detektorn jag använde mycket brett, vilket betyder att det är mycket mer benäget för störningar. Lyckligtvis erbjuder RadioShack sådana som bara är inställda på 38Khz, vilket betyder att Bob är mindre benägna att agera konstigt kring fjärrkontroller och andra enheter som använder IR. DP2D12 är bra eftersom de är praktiskt taget störningsfria på grund av avancerad optik (linserna) och kretsar. I framtida projekt kommer jag inte att använda vanliga IR -detektorer. Sharp IR är att föredra framför enkla IR -mottagare. OBS: PIN 8 ÄR FAKTISKT PIN 10. PIN 9 ÄR KORREKT

Steg 5: Bob behöver ljud

Bob behöver ljud!
Bob behöver ljud!

Anslut en piezohögtalare till PIN 5 och - till jord. Bob måste uttrycka sig! Den bästa typen av piezoshögtalare att använda skulle vara en utanpåliggande. De är nästan alltid 5 volt. Annars kommer du att behöva ett motstånd om du använder en som är lägre än 5V.

Steg 6: Lägga till 'Strålkastare'

För att få Bob att se svalare ut i mörkret tänder han en strålkastare när han kommer in i ett mörkt rum. Alla vita lysdioder fungerar för detta. Eftersom kretsen är så jävla enkel, ska jag bara berätta för dig: använd bara ett 220ohm motstånd för att begränsa strömmen. Och eller kurs, - går till marken.

Steg 7: Fyll på Bobs hjärna

Här är koden för Bob. Den är uppdelad i sektioner: deklarationer (konstanter och variabler), initialisering, huvudslingan och subrutiner. Den typ av programmering som jag använde är Subsumption-Based FSM (Finite State Machine) Architecture. I grund och botten får det roboten att köra snabbare och organiserar koden bättre. Om du vill ge dig in i det relativt komplexa området, läs PDF -filen på denna sida. Jag har lagt till kommentarer (texten i grönt) för att identifiera olika delar av koden. Alla anslutningar till BS2e listas igen nedan

  • PIN 0 - 220ohm motstånd till CdS fotocell
  • PIN 5 - positiv ledning av piezohögtalare
  • PIN 6 - SIG (signal) linje på vänster GP2D12 (vänster när du tittar på roboten ovanifrån)
  • PIN 8 - SIG -rad till höger GP2D12
  • PIN 9 - OUT (utgång) linje för IR -detektorn (avlämningssensor)
  • PIN 10 - 1Kohm motstånd till IR -lysdiodens positiva ledning
  • PIN 15 - SIG -ledning för ultraljudsavståndsmätare

Bobs kod skrivs på ett sådant sätt att 1) Han, eller kurs, undviker föremål och dropoffs2) räknar antalet gånger var och en av sensorerna utlöstes och avgör om han befinner sig på en plats som inte kan manövreras i3) genererar pseudo- slumpmässiga siffror för att slumpmässigt förflytta sig4) tänder "strålkastare" efter att ha fastställt att han är i ett mörkt rum med hjälp av tidtagare och OM … DÅ uttalandenJag håller fortfarande på med "eftersläpning" -delen. Det har att göra med urladdningstiden för kondensatorn för ljussensorn, liksom en överbelastad BS2e.