Hoe maak je een intelligente robot met computer vision, voice control, spraaksynthese en meer maken, met behulp van je Android-telefoon!
Stap 1: Parts
Hardware
1. Een Android-telefoon die OTG ondersteunt met Android KitKat of hoger geïnstalleerd. De meeste moderne telefoons ondersteunen OTG. (Ik gebruikte een UMI Emax hier cos het is krachtig en goedkoop!)
2. Een Arduino Uno gebaseerd robot platform. Ik adviseer de MakeBlock Starter Robot Kit (u kunt zowel infrarood of Bluetooth-versie te gebruiken).
3. Het bovenste deel van een dashboard telefoonhouder mobiele (ik gebruikte een BlackFox Digidock CR-3104 )
4. Een OTG-kabel (gemakkelijk te vinden op eBay of Amazon)
5. Een standaard micro-USB-kabel (bij voorkeur een zeer korte één, of adapter module als je er een kunt vinden)
6. Een magnetische periscoop lens (gemakkelijk te vinden op Amazon of eBay)
Software
1. Arduino IDE
Stap 2: Maak de Robot base
1. Eerst bouwen de standaard gevolgd robot model volgens de MakeBlock instructies.
2. Controleer of u de robot kunt rijden met de meegeleverde infrarood controller.
Stap 3: Configureer de hardware
1. Verwijder de accubak en de riem deze onder de robot met behulp van twee van de kabelbinders.
2. Verwijder de ultrasone sensor en het is metalen plaat, vervolgens opnieuw bevestig ze in de onderste stand getoond.
3. Bevestig de ultra-sonische range sensor op poort 4 op de controller board.
Stap 4: Bevestig de telefoonhouder
- Bevestig de telefoonhouder naar de top van je robot met kabelbinders, dubbelzijdig tape of Velcro pads.
- Plaats uw telefoon in de houder en bevestig de periscoop lens van de camera van de telefoon.
- Sluit de OTG kabel en micro-USB-kabel met elkaar en sluit ze tussen de telefoon en de besturingskaart van de robot. Zorg ervoor dat de OTG kabel gaat in uw telefoon en niet andersom of het zal niet werken.
Stap 5: het programma van de MakeBlock Orion (Arduino Uno) board
- Installeer de Arduino IDE
- Installeer de MakeBlock Arduino libraries :
- Sluit de robot controller board op uw computer met behulp van een standaard micro-USB-kabel.
- Selecteer "Arduino Uno" als het bestuur van het menu 'Extra'.
- De volgende nieuwe sketch (ie-programma): -
// ------------------------------------------------ ------- // Smart Rover - Arduino Sketch voor het besturen van een // Makeblock robots DroidScript via OTG-kabel. // // Dit programma kan worden getest met behulp van de Aurduino seriële // monitor. // // Voorbeelden: // het type 'lft100x' om linksaf te slaan op snelheid 100. // het type 'buzy om buzzer op,' buzn 'turn uit te schakelen. // // Copyright: droidscript.org // Licentie: Creative Commons Attribution Share Alike 3.0 // ------------------------------ -------------------------- #include <MeOrion.h> #include <Arduino.h> #include <SoftwareSerial.h> #include < Wire.h> // Global variabelen. char g_version [] = "0,10 \ n"; MeDCMotor g_motorL (M1); MeDCMotor g_motorR (M2); MeUltrasonicSensor UltraSensor (PORT_4); unsigned long timer = 0; // Stel de hardware. void setup () {// Setup USB seriële comms. Serial.begin (115200); Serial.setTimeout (100); } // Deze functie wordt altijd genoemd. leegte lus () {// Lees seriële commando's. while (Serial.peek ()! = -1) {// Lees 3 karakter commando. char cmd [4] = "---"; Serial.readBytes (cmd, 3); // Uitvoeren commando. if (strcmp (cmd "buz") == 0) Buzzer (); else if (strcmp (cmd "STP") == 0) Stop (); else if (strcmp (cmd "FWD") == 0) Vooruit (); else if (strcmp (cmd "rev") == 0) Reverse (); else if (strcmp (cmd "lft") == 0) Links (); else if (strcmp (cmd "RGT") == 0) Rechts (); else if (strcmp (cmd "ver") == 0) GetVersion (); } // Report status van elke seconde. if ((millis () - timer)> 1000) {timer + = 1000; Rapport(); }} // Haal softwareversie. leegte GetVersion () {Serial.print (g_version); } // Terug naar DroidScript App Stuur-status. leegte Report () {int dist = ultraSensor.distanceCm (); Serial.println (String ( "dist:") + dist + String ( ";")); } // Controle zoemer. leegte Buzzer () {// Lees aan / uit parameter. char OnOff; Serial.readBytes (& OnOff, 1); // Start van de stop zoemer. if (OnOff == 'y') buzzerOn (); anders buzzerOff (); } // Sla linksaf voertuig. leegte () {// Lees snelheid parameter. int speed = Serial.parseInt (); // Zet motoren. g_motorL.run (speed); g_motorR.run (snelheid); } // Sla rechtsaf voertuig. ongeldig Right () {// Leessnelheid parameter. int speed = Serial.parseInt (); // Zet motoren. g_motorL.run (snelheid); g_motorR.run (speed); } // Drive voertuig vooruit. leegte Forward () {// Lees snelheid parameter. int speed = Serial.parseInt (); // Zet motoren. g_motorL.run (snelheid); g_motorR.run (snelheid); } // Reverse voertuig. leegte Reverse () {// Lees snelheid parameter. int speed = Serial.parseInt (); // Zet motoren. g_motorL.run (speed); g_motorR.run (speed); } // Stop voertuig. leegte Stop () {// Schakel de motoren. g_motorL.run (0); g_motorR.run (0); }
Stap 6: Maak de telefoon App
- Installeer de gratis DroidScript IDE App van Google Play.
- Ga naar de volgende link via de browser van uw telefoon en download de DroidScript project (.spk) file van hier: - http://androidscript.org/demos/rover
- Gebruik een file browser zoals Explorer + of ES File Explorer en het gedownloade .spk bestand te openen. De .project bestand wordt vervolgens automatisch worden geïnstalleerd in DroidScript (Kies 'Ja' wanneer het u vraagt of u de bron vertrouwt).
Stap 7: Neem het voor een spin!
- Plaats de batterijen in de controller-kaart en zet de glijdende schakelaar.
- Insert (of re-insert) de OTG kabel aan op uw telefoon (selecteer DroidScript als de standaard USB-programma als daarom wordt gevraagd)
- Start de 'Rover' App door deze aan te raken's icoon in DroidScript.
- Druk op de "fwd" en vervolgens op de "3" toets en vervolgens op de knop "Run" (moet je rover foward rijden gedurende 3 seconden).
- Druk op de toets "Voice" en probeer te spreken om het (Let op: het vaak het beste om offline spraakherkenning in de Android-instellingen te downloaden als u niet beschikt over een snelle internet verbinding hebt).
- Probeer je hand in de voorkant van de ultrasone sensoren terwijl het foward in beweging is.
- Probeer die gekleurde objecten in de voorkant van de camera.
Stap 8: Verdere experimenten
Er zijn nog veel meer leuke dingen die aan deze robot kunnen worden toegevoegd via DroidScript, zoals GPS-navigatie, kompas oriëntatie, face tracking, bewegingsdetectie, remote camera streaming enz. Kijk maar eens door de DroidScript samples en zien wat je kunt vinden.
De beste manier om je robot te programmeren is om DroidScript WiFi-IDE gebruiken. Hiermee kunt u verbinding maken met uw telefoon via WiFi en op afstand uw programma's met behulp van een webbrowser op uw pc of Mac te bewerken (gewoon op het kleine pijltje op de knop linksboven op de DroidScript App aan te sluiten).
Veel plezier!