Arduino + auto + Android RC = (2 / 5 stap)

Stap 2: Programmeren van de Arduino UNO


Nu je klaar om te gaan, maar u moet het inrichten van je arduino voor het uitvoeren van trucs

In dit geval gebruikte ik een app geroepen Bluetooth commandant beschikbaar in google play. De demo-schets is beschikbaar in de beschrijvingskolom.

Een andere app geroepen Android Bluetooth google play is zeer makkelijk te gebruiken, zoals kunt u rechtstreeks het enige verschil is dat de voormalige snelheid van auto kunt controleren. Dus liever ik naar de eerste,

Download de app en de demo-schets

het ziet er als volgt

 #define VERSION "\n\nAndroTest V2.0 - for V5.X App (6 button version)"// V2.0 changed to pure ASCII Communication Protocol ** not backward compatible ** // V1.4 improved communication errors handling // V1.3 renamed for publishing, posted on 09/05/2014 // V1.2 Text display ** not backward compatible ** // V1.1 Integer display // V1.0 6 buttons + 4 data char implemented// Demo setup: // Button #1 controls pin #13 LED // Button #4 toggle datafield display rate // Button #5 configured as "push" button (momentary) // Other buttons display demo message// Arduino pin#2 to TX BlueTooth module // Arduino pin#3 to RX BlueTooth module // make sure your BT board is set bps // better remove SoftSerial for PWM based projects// For Mega 2560: // remove #include "SoftwareSerial.h", SoftwareSerial mySerial(2,3); // search/replace mySerial >> Serial1 // pin#18 to RX bluetooth module, pin#19 to TX bluetooth module#include "SoftwareSerial.h"#define STX 0x02 #define ETX 0x03 #define ledPin 13 #define SLOW 750 // Datafields refresh rate (ms) #define FAST 250 // Datafields refresh rate (ms)SoftwareSerial mySerial(2,3); // BlueTooth module: pin#2=TX pin#3=RX byte cmd[8] = {0, 0, 0, 0, 0, 0, 0, 0}; // bytes received byte buttonStatus = 0; // first Byte sent to Android device long previousMillis = 0; // will store last time Buttons status was updated long sendInterval = SLOW; // interval between Buttons status transmission (milliseconds) String displayStatus = "xxxx"; // message to Android devicevoid setup() { Serial.begin(57600); mySerial.begin(57600); // 57600 = max value for softserial pinMode(ledPin, OUTPUT); Serial.println(VERSION); while(mySerial.available()) mySerial.read(); // empty RX buffer }void loop() { if(mySerial.available()) { // data received from smartphone delay(2); cmd[0] = mySerial.read(); if(cmd[0] == STX) { int i=1; while(mySerial.available()) { delay(1); cmd[i] = mySerial.read(); if(cmd[i]>127 || i>7) break; // Communication error if((cmd[i]==ETX) && (i==2 || i==7)) break; // Button or Joystick data i++; } if (i==2) getButtonState(cmd[1]); // 3 Bytes ex: < STX "C" ETX > else if(i==7) getJoystickState(cmd); // 6 Bytes ex: < STX "200" "180" ETX > } } sendBlueToothData(); }void sendBlueToothData() { static long previousMillis = 0; long currentMillis = millis(); if(currentMillis - previousMillis > sendInterval) { // send data back to smartphone previousMillis = currentMillis; // Data frame transmitted back from Arduino to Android device: // < 0X02 Buttons state 0X01 DataField#1 0x04 DataField#2 0x05 DataField#3 0x03 > // < 0X02 "01011" 0X01 "120.00" 0x04 "-4500" 0x05 "Motor enabled" 0x03 > // example mySerial.print((char)STX); // Start of Transmission mySerial.print(getButtonStatusString()); mySerial.print((char)0x1); // buttons status feedback mySerial.print(GetdataInt1()); mySerial.print((char)0x4); // datafield #1 mySerial.print(GetdataFloat2()); mySerial.print((char)0x5); // datafield #2 mySerial.print(displayStatus); // datafield #3 mySerial.print((char)ETX); // End of Transmission } }String getButtonStatusString() { String bStatus = ""; for(int i=0; i<6; i++) { if(buttonStatus & (B100000 >>i)) bStatus += "1"; else bStatus += "0"; } return bStatus; }int GetdataInt1() { // Data dummy values sent to Android device for demo purpose static int i= -30; // Replace with your own code i ++; if(i >0) i = -30; return i; }float GetdataFloat2() { // Data dummy values sent to Android device for demo purpose static float i=50; // Replace with your own code i-=.5; if(i <-50) i = 50; return i; }void getJoystickState(byte data[8]) { int joyX = (data[1]-48)*100 + (data[2]-48)*10 + (data[3]-48); // obtain the Int from the ASCII representation int joyY = (data[4]-48)*100 + (data[5]-48)*10 + (data[6]-48); joyX = joyX - 200; // Offset to avoid joyY = joyY - 200; // transmitting negative numbers if(joyX<-100 || joyX>100 || joyY<-100 || joyY>100) return; // commmunication error // Your code here ... Serial.print("Joystick position: "); Serial.print(joyX); Serial.print(", "); Serial.println(joyY); }void getButtonState(int bStatus) { switch (bStatus) { // ----------------- BUTTON #1 ----------------------- case 'A': buttonStatus |= B000001; // ON Serial.println("\n** Button_1: ON **"); // your code... displayStatus = "LED "; Serial.println(displayStatus); digitalWrite(ledPin, HIGH); break; case 'B': buttonStatus &= B111110; // OFF Serial.println("\n** Button_1: OFF **"); // your code... displayStatus = "LED "; Serial.println(displayStatus); digitalWrite(ledPin, LOW); break;// ----------------- BUTTON #2 ----------------------- case 'C': buttonStatus |= B000010; // ON Serial.println("\n** Button_2: ON **"); // your code... displayStatus = "Button2 "; Serial.println(displayStatus); break; case 'D': buttonStatus &= B111101; // OFF Serial.println("\n** Button_2: OFF **"); // your code... displayStatus = "Button2 "; Serial.println(displayStatus); break;// ----------------- BUTTON #3 ----------------------- case 'E': buttonStatus |= B000100; // ON Serial.println("\n** Button_3: ON **"); // your code... displayStatus = "Motor #1 enabled"; // Demo text message Serial.println(displayStatus); break; case 'F': buttonStatus &= B111011; // OFF Serial.println("\n** Button_3: OFF **"); // your code... displayStatus = "Motor #1 stopped"; Serial.println(displayStatus); break;// ----------------- BUTTON #4 ----------------------- case 'G': buttonStatus |= B001000; // ON Serial.println("\n** Button_4: ON **"); // your code... displayStatus = "Datafield update "; Serial.println(displayStatus); sendInterval = FAST; break; case 'H': buttonStatus &= B110111; // OFF Serial.println("\n** Button_4: OFF **"); // your code... displayStatus = "Datafield update "; Serial.println(displayStatus); sendInterval = SLOW; break;// ----------------- BUTTON #5 ----------------------- case 'I': // configured as momentary button // buttonStatus |= B010000; // ON Serial.println("\n** Button_5: ++ pushed ++ **"); // your code... displayStatus = "Button5: "; break; // case 'J': // buttonStatus &= B101111; // OFF // // your code... // break;// ----------------- BUTTON #6 ----------------------- case 'K': buttonStatus |= B100000; // ON Serial.println("\n** Button_6: ON **"); // your code... displayStatus = "Button6 "; // Demo text message break; case 'L': buttonStatus &= B011111; // OFF Serial.println("\n** Button_6: OFF **"); // your code... displayStatus = "Button6 "; break; } // --------------------------------------------------------------- } 

Gerelateerde Artikelen

Eenvoudige arduino auto met behulp van HC-06 Bluetooth-Module

Eenvoudige arduino auto met behulp van HC-06 Bluetooth-Module

De gemakkelijkste manier om te bouwen van een Arduino-auto en controle met uw Androïde apparaat.Stap 1: Dingen nodig: Laptop met de Arduino software.Elke Arduino. (Im ' using Leonardo).Twee gelijkstroommotoren met banden stevig vastgemaakt.Een acryl
Controle van de Arduino met Android telefoon via Bluetooth

Controle van de Arduino met Android telefoon via Bluetooth

Hallo mensen, hier kunt u leren hoe u kunt besturen Arduino met Android telefoon via Bluetooth. U kunt uw smartphone als een afstandsbediening voor u verlichting van het huis systeem of u kunt gebruiken als een drone externe enz.Om de verbinding tuss
Voice Activated Arduino (Bluetooth + Android)

Voice Activated Arduino (Bluetooth + Android)

Je Arduino besturen met spraakopdrachten met behulp van een Android-smartphone! Voordat we een stem geactiveerd domoticasysteem maken, moeten we eerst leren de basisprincipes van het experiment. Deze gids laat je de Arduino met behulp van uw Android-
Arduino bot Android afstandsbediening

Arduino bot Android afstandsbediening

Hallo daar,In dit instructable wil de verbinding tussen de Arduino en Android verkennen. Beide zijn open, gemakkelijk-aan-programma omgeving (Nou ja, Android niet zo eenvoudig, maar heel), en de interactie tussen hen interessante human-to-device inte
Obstakel te vermijden Arduino auto

Obstakel te vermijden Arduino auto

Hallo iedereen ik ben hier delen wat ik maak een obstakels vermijden van arduino auto. Ik gebruikte hier gemakkelijk beschikbaar materiaal, deze robo blijven uitvoeren naar voren totdat en tenzij elk obstakel kwam voor auto laten zien en maak...Stap
Arduino auto gecontroleerd via Bluetooth

Arduino auto gecontroleerd via Bluetooth

Alles wat die we weten dat Arduino een uitstekende prototyping platform, is voornamelijk omdat het een vriendelijke programmeertaal gebruikt en er zijn een heleboel extra ongelooflijke onderdelen die ons grote ervaringen bieden.We kunnen de Arduino t
Stem geactiveerd verlichting / Led (ARDUINO en ANDROID)

Stem geactiveerd verlichting / Led (ARDUINO en ANDROID)

Controlerende You'r Home verlichting met behulp van een arduino en you'r android telefoon!Dit is mijn allereerste instructable, ik wilde om te controleren mijn huis met behulp van een arduino en android telefoon.Er waren vele andere opties beschikbaa
Interactief ontwerp en codegeneratie van aangepaste Android menu's voor Arduino--geen Android programmeren vereist

Interactief ontwerp en codegeneratie van aangepaste Android menu's voor Arduino--geen Android programmeren vereist

UpDate: Check out de nieuwere InstructableAndriod/Arduino voor Beginners - ontwerp Custom Andriod menu's aan de Arduino uitgangen wissel voort en vandoor. Absoluut geen programmeerkennis vereistdat alle code van de Arduino voor u met behulp van de ni
ITEAD intelligente schakelaar werken met Arduino en Android

ITEAD intelligente schakelaar werken met Arduino en Android

ITEAD bieden nu de intelligente switches die ondersteuning bieden voor aanraking en afstandsbediening, en het zal zeer gemakkelijk zijn om hack en maken het werk met de Arduino en Andriod telefoon. Hier laten we u die een kleine demo, en meer aangena
Beheersing van Arduino auto via sprong Motion

Beheersing van Arduino auto via sprong Motion

Laatste tijd, heb ik een Arduino-auto, die wordt beheerd via het Web. Dit keer, ik heb dezelfde auto gebruikt maar het wordt bestuurd via Motion sprong.Stap 1: Wat is sprong beweging.U kunt controleren wat "Leap Motion" is door de officiële webs
Controlelampjes op kerstboom via Bluetooth Arduino en Android!

Controlelampjes op kerstboom via Bluetooth Arduino en Android!

Oke, dit is mijn eerste Instructable en ik ben zeer enthousiast over het. Ik kreeg het idee voor dit project uit een combinatie van deze 2 Instructables...Het basisconcept is dat een manier om de verlichting op mijn kerstboom dit jaar, maar na het se
Hacken van een RC auto met Arduino en Android

Hacken van een RC auto met Arduino en Android

(Als je dit Instructable, vergeet dan niet te stemmen (boven: rechts hoek vlag). het is concurreren op ROBOTICA en sensoren wedstrijden. Heel hartelijk bedankt! ;-)Telkens wanneer ik wandelen in een speelgoedwinkel en afstandsbediening auto's in het
Arduino Bluetooth RC auto (Android gecontroleerd)

Arduino Bluetooth RC auto (Android gecontroleerd)

Hallo, in dit project zal ik u tonen hoe te transformeren van een RC speelgoedauto aan Bluetooth gecontroleerd door middel van uw Android-smartphone!Voordat u begint, zorg ervoor dat u hebt:Arduino uno bestuurL293D motor stuurprogrammaHC-06 Bluetooth
Bijhouden en beheren van uw auto op afstand met behulp van Arduino en Android

Bijhouden en beheren van uw auto op afstand met behulp van Arduino en Android

Eigenlijk, velen van ons kunnen lijden of bang van zijn auto gestolen wordt. In dit project, zal ik proberen u te helpen bij het beschermen van uw auto's en zelfs hen op afstand te bedienen.Kortom, je moet vertrekken van een mobiele telefoon in uw au