2WD röst kontrollerat Robot med Arduino och BitVoicer Server (1 / 7 steg)
Steg 1: Att lära känna komponenterna
I detta steg ger jag viktig information om robotens komponenter och hur du förbereder dem för montering.
För det första, hjärtat av roboten: en Arduino UNO R3. Även om jag använder en Arduino UNO, kan du använda andra Arduino styrelser för att montera din robot. Jag beslutade att använda en Arduino UNO eftersom det är överlägset mest populära Arduino styrelsen och fler människor skulle kunna återskapa denna robot. Om du har en Arduino FÖRFALLER, kan du också lägga till röst Svaren till din robot som jag gjorde i detta Instructable.
Om du vill flytta likströmsmotorer, använde jag denna Pololu sköld (bild ovan). Det är en dubbel motorn förarens skicklig på att kontrollera 5 till 28V DC motorer och ger upp till 3A kontinuerlig ström per motor. Även om jag tycker detta är en mycket bra sköld, är det som imponerade mig mest i Pololus produkter deras tydliga och detaljerade dokumentation. Dessutom ger Pololu en Arduino bibliotek som gör verkligen enkelt att kontrollera motorerna. Du har bara att passera hastighet och riktning (negativa eller positiva värden) till funktionen setSpeeds . Om du väljer för att använda en annan DC motor förare, uppmärksamma stiften används av föraren eftersom de inte strider mot några andra PIN-kod används av roboten. Pololu skölden använder följande Arduino stiften: digital 4, 7, 8, 9, 10 och 12. analoga 0 och 1. marken. och 5V. Viktigaste här är att endast stift 9 och 10 används som PWM stift och timern används för att generera pulser på dessa stift är inte samma timer (timer 2 på UNO) används av BVSMic klass från BitSophia.
För att upprätta kommunikation med servern och komma åt BitVoicer Server services, använder jag mikrochip WiFi RN171VX modul. Två viktigaste funktioner stå ut i denna modul: all kommunikation kan ske genom den seriella porten på ett enkelt sätt. och modulen har samma formfaktor som de flesta av de populära XBee modulerna. Med andra ord, om du redan har en XBee sköld, behöver du troligen inte köpa Sparkfun sköld jag använder i denna robot.
Använda XBee sköld med mikrochip WiFi modul gjord montering roboten ganska lätt. Jag har dock identifierat ett problem i denna kombination. Det är känt att arbeta med radio är mycket komplexa och anses av vissa som "voodoo magic". Jo, märkte jag att samtidigt som WiFi-kortet är på och överföring av data, en stark interferens förekommer i ljudsignalen mätt med Arduino ADC. Jag har inte kunnat identifiera just denna inblandning, men jag har två möjliga källor: modul peak nuvarande dragningarna (upp till 240mA) är inte ordentligt frikopplas och äventyra den referensspänningen till Arduino ADC; eller den signal som skickas av antennen är att plockas upp av vissa utsatta stift precis nedanför modulen. Vanligtvis, instruera WiFi modul tillverkare designers för att undvika att placera något (även marken plan) nära antennen just för att förhindra denna typ av frågor.
Rätta till problemet som beskrivs ovan, jag lödda en 3.3V spänningsregulator och en 10μF electrolytic kondensator till Sparkfun sköld så de skulle kunna ge referensspänningen för Arduino ADC. Samma makt källa används av Sparkfun Elektret mikrofon. Det löste de topp volym problem jag såg i BitVoicer Server Manager. Även under perioder av tystnad, ljudnivån var att få så hög som 35 (0-100) i Server Monitor. Om du ser samma sak händer i projektet, att undersöka vad som händer med ljudsignalen mätt med Arduino ADC.
Jag bestämde mig också att använda prototyping utrymme i Sparkfun skölden för att löda några lysdioder som visar status för några BitVoicer Server funktioner. På bilderna ovan, kan du se hur jag lödda komponenterna på Sparkfun skölden. Följande information är utsatt av lysdioderna, från vänster till höger:
- Anger om BitVoicer Server körs och/eller om anslutningen fortfarande är aktiv;
- Anger om data tjänst vidarebefordran kör;
- Visar om ett taligenkänningsverktyg har tilldelats till Arduino;
- Anger om vi är i den aktiveringen-word-aktiverad-period. Denna lampan tänds endast när aktiveringen ord identifieras.
När det gäller förförstärkt Elektret mikrofon, finns många alternativ tillgängliga på marknaden: Sparkfun, Adafruit, RoboCore, Hackerstore och förmodligen många andra. För att använda koden jag meddelanden på detta Instructable, se till att mikrofonen du köper är analoga, krävs spänningen är tillgängliga i din Arduino ombord och förstärkning är hög nog (vanligtvis 100 x för Elektret mikrofoner) för Arduino ADC.
2WD chassit används i roboten är en av de billigaste och mest populära på ebay. Komplett kit innehåller en akryl plattform, två plast/gummi hjul, en 360º rullar, två likströmsmotorer med redskap (1:48 ratio), en batterihållare 4xAA, två hastighet encoder diskar och en uppsättning skruvar.