Die Eingeweide davon basieren auf eine I2C-Adaption von Adafruit WaveShield und MotorShield.
Das Bluetooth-Modul ist ein Bluetooth-Mate Silber von Sparkfun.
Was macht dieses Ding?
Die android-app auf dem Handy (präsentiert von CyanogenMod) läuft verbunden mit der Roboter mit dem Bluetooth serial Port-Profil.
Die Software-Anwendung hat ein dual Joystick Interface (wie ein Gamepad) das das Laufwerk steuert
Räder (linker Stick) und Pan tilt Mechanismus (rechter Stick).
Sie benötigen ein multitouch-fähiges Handy für beide Stöcke gleichzeitig arbeiten.
Wie macht sie es?
An Bord der Roboter hat 3 audio Tochter Bretter mit micro SD Karten. Diese Boards haben ihre eigenen ATMega
Prozessor, so dass die Arbeit der audio-Dateien zu lesen und decodieren sie aus der Hauptprozessor entlastet ist.
Diese Boards können bis zu 16-Bit Stereo-Wav-Dateien spielen, aber der Sound Downsampling auf 12 Bit Mono ist.
Die android-Anwendung kann Befehle an einer dieser Karten zu spielen bis zu 3 Töne gleichzeitig mit Optionen für senden
wie viele Schleifen zu spielen. So entsteht das Motorengeräusch ist, es ist eine Endlosschleife des kurzen Soundclip.
Außerdem gibt es einen dedizierten Board für Motor und Servo-Steuerung. Dies war nicht nötig, da gibt es sehr wenig
CPU-Auslastung in fahren die Motoren und Servos, aber es schafft Stifte auf der Hauptplatine für Expansion und ein I2C steuerbar
Motor-Treiber-Board ist trotzdem cool! :-)
Jede der Tochter Boards benötigt 5 Eingänge-Signale von der Hauptplatine, die wie folgt lauten:
Audio: VCC (5v), VCC/2 (3,3 v), GND, SCL, SDA
Motor: VCC (5v) VCC2 (7.4v), GND, SCL, SDA
Jeweils die Audiokarten sendet rohe Audiosignal zurück an das Motherboard, damit alle Kanäle vor der Ausgabe miteinander vermischt sind.
Ich musste in einem Verstärker-Board im letzten Moment zu hacken. Ich bauen nicht irrtümlich den Verstärker in der Hauptplatine, dachte, es wäre laut genug, nur mit der Spannung-Anhänger-Puffer von Adafruit Waveshield. Auch erfüllen nicht mein Verstärker-Board so gut wie ich möchte. Wenn jemand Verbesserungsvorschläge hat würde ich gerne hören.
Ich habe nicht die Stückliste für jedes Board einzeln aufgeführt, wie das wäre eine große Menge an Arbeit und ich nicht sicher bin, ob jemand es selbst will.
Wenn Sie möchten, dass sie mir bitte eine email über welche Teile Sie haben Fragen zu und ich werde versuchen und erhalten Sie auf dem richtigen Weg.
Die Quelle zur Verfügung gestellt, hier ist auch von Gihub zur Verfügung:
https://github.com/declanshanaghy
Denn aus irgendeinem Grund die ansetzt-Zip-Datei der Quellen auf, ja Sie können es hier vorerstnicht angezeigt wird.
Einige der in der Eagle-Schaltplan verwendeten Teile sind aus meiner eigenen Adler-Bibliothek, die hier zu finden:
https://github.com/declanshanaghy/DEK-Eagle-LBR
Einige andere Teile sind von Sparkfun und Adafruit Eagle-Bibliotheken, die auf ihren jeweiligen Github-Seiten gefunden werden können.
Das angehängte Archiv besteht aus den folgenden Modulen (Git Projekte sind etwas anders angelegt):
AndroidClientApp
Quellcode für die android-Anwendung, die den Roboter steuert. APK ist im Preis inbegriffen. Sie benötigen Android 2.2 oder höher, um diese Anwendung nutzen. Hängt die mobile Anarchie Widgets -Projekt für die dual Joystick-Ansicht.
ArduinoLibraries
Bibliotheken von der Arduino-Skizzen auf jedes Board in der Roboter geladen verwendet.
- DS1802 - digitale potentiometer
- MorpheusAudio - Audio I2C-Client für Motherboard Kontrolle über die Audio-Tochterplatine
- MorpheusMotor - Motor I2C-Client für Motherboard Kontrolle über den motor Tochterplatine
- MorpheusSlave - I2C & seriellen Anschluss Slave Bibliothek für das Lesen von Befehlen aus der Hauptplatine und Android Anwendung
SketchUp
SketchUp-Zeichnungen des Roboters und seiner verschiedenen Module
JabberMaster
Arduino-Skizze für das master-Controller-Board in den Roboter.
Dieses Board empfängt Befehle von der android-app über die serielle Schnittstelle von BT und
delegierte Kontrolle von Audio und Motor zu seiner Tochter Boards mit I2C.
MorpheusAudio
Arduino sketch für die I2C in der Lage, Audio-Tochter von Adafruit Wave Schild angepasst.
MorpheusMotor
Arduino-Skizze für die I2C fähig motor Tochterplatine aus dem Adafruit motor Schild angepasst.
Klingt
WAV-Audiodateien, die ich auf JabberBot geladen.
Besonderen Dank an...
Dieses Projekt war eine Hölle von viel einfacher gemacht, aufbauend auf den Schultern von Riesen.
Die folgenden open-Source / Community-Sites sind verantwortlich für die Komponenten, die an diesem Projekt beteiligt
- Adafruit - motor & Audio-Hardware-designs
- Sparkfun - verschiedene Breakout boards
- Pololu - Motors & Räder
- Ponoko - Lasercut-Acryl-Körper
- Arduino - Hardware-Prototyping-Plattform
- BatchPCB - Leiterplattenfertigung
- Android - Handy-Software-stack
- CyanogenMod - Opensource-Modifikation zu Android software
- Mobile-Anarchie-Widgets - Open-Source android Widgets (Multitouch Dual Joystick-View)