JabberBot! Arduino roboten med en ATMega hjärnan och bluetooth braun! :-)
Modet i det baseras på en I2C anpassning av Adafruit WaveShield och MotorShield.
Bluetooth-modulen är en Bluetooth Mate Silver från Sparkfun.
Vad är det här?
Android app körs på telefonen (drivs av CyanogenMod) ansluter till roboten med hjälp av profilen bluetooth seriell port.
Programmet har en dual joystick gränssnitt (som en gamepad) som kontrollerar enheten
hjul (vänster spak) och pan tilt mekanism (rätt pinne).
Du behöver en multitouch kapabel telefon för både pinnar att arbeta samtidigt.
Hur gör den det?
Ombord på roboten har 3 audio dotter styrelser med micro SD-kort. Dessa styrelser har sina egna ATMega
Processorn så läser ljudfiler och avkodning dem arbete lastas av från huvudprocessorn.
Dessa styrelser kan spela upp till 16-bitars stereo wav-filer men ljudet är nedsamplas till 12 bitars mono.
Android ansökan kan skicka kommandon till någon av dessa kort att spela upp till 3 ljud samtidigt med alternativ för
Hur många slingor att spela. Detta är hur motorn ljudet skapas, det är en ögla av ett kort soundclip.
Det finns också en särskild styrelse för motor och servo control. Detta var inte nödvändigt eftersom det finns väldigt lite
CPU arbetsbörda i bilkörning motorerna och servon, men det frigör stift på moderkortet för expansion och en kontrollerbar I2C
motor förare ombord är cool ändå! :-)
Varje dotter styrelser behöver 5 ingångar signaler från moderkortet, som är följande:
Ljud: VCC (5v), VCC/2 (3.3V), GND, SCL, SDA
Motor: VCC (5v), VCC2 (7.4v), GND, SCL, SDA
Varje ljud styrelser skickar rå ljudsignalen tillbaka till moderkortet så alla kanaler blandas samman före utgång.
Jag var tvungen att hacka i en förstärkare ombord i sista stund. Jag bygga misstag inte in förstärkaren i moderkortet, tänkte det skulle vara högt nog bara använda spänning efterföljare bufferten från adafruit waveshield. Även utföra min förstärkare ombord inte lika väl som jag. Om någon har förslag till förbättringar som jag skulle älska att höra dem.
Jag har inte listat Strukturlistan för varje bräda individuellt som det skulle vara en stor mängd arbete och jag är inte säker på om någon ens vill det.
Om du vill ha det behaga email jag när det gäller vilka delar du har frågor om och jag ska försöka och få dig på rätt spår.
Alla källa som avses här är tillgänglig från gihub också:
https://github.com/declanshanaghy
För av någon anledning attched zip-filen källor inte visar upp, så du kan ladda ner det från här för tillfället.
Några av de delar som användes i Eagle scheman är från min egen eagle bibliotek som kan hittas här:
https://github.com/declanshanaghy/DEK-Eagle-lbr
Andra delar är från sparkfun och adafruit örn bibliotek som finns på deras respektive github sidor.
Det bifogade arkivet består av följande moduler (git projekt läggs ut lite annorlunda):
AndroidClientApp
Källkod för android ansökan som styr roboten. APK ingår. Behöver du Android 2.2 eller högre att använda detta program. Beror på projektets mobil anarki widgets för vyn dual joystick.
ArduinoLibraries
Bibliotek som används av arduino skisser lastas på varje bräda i roboten.
- DS1802 - digital potentiometer
- MorpheusAudio - ljud I2C klient för moderkort kontroll av ljud dotterkort
- MorpheusMotor - Motor I2C klient för moderkort kontroll av den motoriska dotterkort
- MorpheusSlave - I2C & serieport slav biblioteket för att läsa kommandon från moderkort och android ansökan
SketchUp
SketchUp ritningar av roboten och dess olika moduler
JabberMaster
Arduino skiss för ledarstyrning styrelsen i roboten.
Denna styrelse tar emot kommandon från android app över BT serieporten och
delegaterna kontroll av ljud och motor till sin dotter styrelser med I2C.
MorpheusAudio
Arduino skiss för I2C kan ljud dotter anpassad från Adafruit wave sköld.
MorpheusMotor
Arduino skiss till I2C kan motor dotter styrelsen anpassad från Adafruit motor sköld.
Ljud
WAV-ljudfiler jag laddad på JabberBot.
Speciellt tack till...
Projektet gjordes en fan så mycket enklare genom att bygga på en jättes axlar.
Följande öppna källkod / gemenskapen platser är ansvariga för komponenter i detta projekt
- Adafruit - motor & audio hårdvara mönster
- Sparkfun - olika breakout styrelser
- Pololu - motorer & hjul
- Ponoko - laserskuret akryl kropp
- Arduino - hårdvaruplattform prototyping
- BatchPCB - PCB tillverkning
- Android - mobiltelefon programvara stack
- CyanogenMod - Opensource ändring till Android programvara
- Mobil anarki Widgets - öppen källkod android widgets (Multitouch Dual Joystick vy)