Arduino + bil + Android = RC (2 / 5 steg)

Steg 2: Programmera din Arduino UNO



Nu du är redo att gå men du behöver konfigurera din arduino för att utföra trick

I detta fall använt jag en app som kallas Bluetooth commander tillgänglig i google play. Demo skiss finns i kolumnen beskrivning.

En annan app som kallas Android Bluetooth google play är mycket lätt att använda som du kan använda den direkt enda skillnaden är att den förra kan styra hastigheten på bil. Så föredrar jag till den första,

Ladda ner appen och demo skissen

Det ser ut så här

#define VERSION "\n\nAndroTest V2.0 - för V5. X-App (6 knapp version)"
V2.0 ändras till ren ASCII-kommunikationsprotokoll ** inte bakåtkompatibel **
V1.4 förbättrad kommunikation fel hantering
V1.3 nya namn för publicering, postat den 09/05/2014
V1.2 textvisning ** inte bakåtkompatibel **
V1.1 heltal display
V1.0 6 knappar + 4 data char genomfört
Demo-inställning:
Knappen #1 kontroller pin #13 LED
Knapp #4 växla datafield display kurs
Knappen #5 konfigurerad som "push"-knappen (tillfällig)
Andra knapparna Visa demo meddelande
Arduino pin #2 till TX BlueTooth-modul
Arduino pin #3 till RX BlueTooth-modul
Kontrollera din BT styrelse är bps
bättre ta bort SoftSerial för PWM baserat projekt
För Mega 2560:
ta bort #include "SoftwareSerial.h", SoftwareSerial mySerial(2,3);
Sök/Ersätt mySerial >> Serial1
#18 RX bluetooth modul-stifts, pin #19 till TX bluetooth-modul
#include "SoftwareSerial.h"
#define STX 0x02
#define ETX 0x03
#define ledPin 13
#define SLOW 750 / / Datafields uppdateringsfrekvens (ms)
#define snabb 250 / / Datafields uppdateringsfrekvens (ms)
SoftwareSerial mySerial(2,3); BlueTooth-modul: pin #2 = TX pin #3 = RX
byte cmd [8] = {0, 0, 0, 0, 0, 0, 0, 0}; -byte
byte buttonStatus = 0; första Byte skickas till Android-enhet
lång previousMillis = 0; kommer att lagra förra gången knappar status uppdaterades
lång sendInterval = långsam; intervallet mellan knappar status överföring (millisekunder)
String displayStatus = "xxxx"; meddelande till Android-enhet
void setup() {
Serial.BEGIN(57600);
mySerial.begin(57600); 57600 = max värde för softserial
pinMode (ledPin, produktionen);
Serial.println(version);
While(mySerial.available()) mySerial.read(); Tom RX buffert
}
void loop() {
IF(mySerial.available()) {/ / data tas emot från smartphone
Delay(2);
CMD [0] = mySerial.read();
om (cmd [0] == STX) {
int jag = 1;
While(mySerial.available()) {
Delay(1);
CMD [i] = mySerial.read();
om (cmd [i] > 127 || jag > 7) bryta; Kommunikationsfel
IF((CMD[i]==ETX) & & (jag == 2 || jag == 7)) bryta; Knappen eller Joystick data
i ++;
}
om (jag == 2) getButtonState(cmd[1]); 3 bytes ex: < STX "C" ETX >
annat if(i==7) getJoystickState(cmd); 6 byte ex: < STX "200" "180" ETX >
}
}
sendBlueToothData();
}
void sendBlueToothData() {
statiska lång previousMillis = 0;
lång currentMillis = millis();
om (currentMillis - previousMillis > sendInterval) {/ / skicka data tillbaka till smartphone
previousMillis = currentMillis;
Dataramen överförs tillbaka från Arduino till Android-enhet:
< 0X02 knappar ange 0X01 DataField #1 0x04 DataField #2 0x05 DataField #3 0x03 >
< 0X02 "01011" 0X01 "120.00" 0x04 "-4500" 0x05 "motor aktiverat" 0x03 > / / exempel
mySerial.print((char)STX); Start av överföring
mySerial.print(getButtonStatusString()); mySerial.print((char)0x1); knappar 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); Avsluta av överföring
}
}
Sträng getButtonStatusString() {
String bStatus = "";
för (int jag = 0; jag < 6; i ++) {
om (buttonStatus & (B100000 >> jag)) bStatus += "1";
annat bStatus += "0";
}
återvända bStatus;
}
int GetdataInt1() {/ / Data dummy värden skickas till Android-enhet för demo ändamål
statisk int jag = -30; Ersätta med egen kod
i ++;
IF(i >0) jag = -30;
tillbaka i;
}
flyta GetdataFloat2() {/ / Data dummy värden skickas till Android-enhet för demo ändamål
statisk float jag = 50; Ersätta med egen kod
i-=.5;
om (jag < -50) jag = 50;
tillbaka i;
}
void getJoystickState (byte data[8]) {
int joyX = (data [1]-48) * 100 + (data [2]-48) * 10 + (data[3]-48); få Int från ASCII-representation
int joyY = (data [4]-48) * 100 + (data [5]-48) * 10 + (data[6]-48);
joyX = joyX - 200. Offset till undvika
joyY = joyY - 200; överföring av negativa tal
om (joyX < -100 || joyX > 100 || joyY < -100 || joyY > 100) återvända; meddelande fel

Din kod här...
Serial.Print ("Joystick ståndpunkt:");
Serial.Print(joyX);
Serial.Print (",");
Serial.println(joyY);
}
void getButtonState (int bStatus) {
växel (bStatus) {
// ----------------- BUTTON #1 -----------------------
fallet "A":
buttonStatus | = B000001; VIDARE
Serial.println ("\n** Button_1: ON **");
din kod...
displayStatus = "LED";
Serial.println(displayStatus);
digitalWrite (ledPin, hög);
bryta;
fallet "B":
buttonStatus & = B111110; UTANFÖR
Serial.println ("\n** Button_1: OFF **");
din kod...
displayStatus = "LED";
Serial.println(displayStatus);
digitalWrite (ledPin, låg);
bryta;
// ----------------- BUTTON #2 -----------------------
fallet "C":
buttonStatus | = B000010; VIDARE
Serial.println ("\n** Button_2: ON **");
din kod...
displayStatus = "Button2";
Serial.println(displayStatus);
bryta;
fall skulle ":
buttonStatus & = B111101; UTANFÖR
Serial.println ("\n** Button_2: OFF **");
din kod...
displayStatus = "Button2";
Serial.println(displayStatus);
bryta;
// ----------------- BUTTON #3 -----------------------
fallet "E":
buttonStatus | = B000100; VIDARE
Serial.println ("\n** Button_3: ON **");
din kod...
displayStatus = "Motor #1 aktiverad"; Demo textmeddelande
Serial.println(displayStatus);
bryta;
fallet "F":
buttonStatus & = B111011; UTANFÖR
Serial.println ("\n** Button_3: OFF **");
din kod...
displayStatus = "Motor #1 slutade";
Serial.println(displayStatus);
bryta;
// ----------------- BUTTON #4 -----------------------
fallet "G":
buttonStatus | = B001000; VIDARE
Serial.println ("\n** Button_4: ON **");
din kod...
displayStatus = "Datafield uppdatera";
Serial.println(displayStatus);
sendInterval = snabb;
bryta;
fallet "H":
buttonStatus & = B110111; UTANFÖR
Serial.println ("\n** Button_4: OFF **");
din kod...
displayStatus = "Datafield uppdatera";
Serial.println(displayStatus);
sendInterval = långsam;
bryta;
// ----------------- BUTTON #5 -----------------------
fallet "I": / / konfigurerad som momentan knapp
buttonStatus | = B010000; VIDARE
Serial.println ("\n** Button_5: ++ sköt ++ **");
din kod...
displayStatus = "Button5:
";
bryta;
fallet "J":
buttonStatus & = B101111; UTANFÖR
/ / din kod...
bryta;
// ----------------- BUTTON #6 -----------------------
fallet "K":
buttonStatus | = B100000; VIDARE
Serial.println ("\n** Button_6: ON **");
din kod...
displayStatus = "Button6"; Demo textmeddelande
bryta;
fallet "L":
buttonStatus & = B011111; UTANFÖR
Serial.println ("\n** Button_6: OFF **");
din kod...
displayStatus = "Button6";
bryta;
}
// ---------------------------------------------------------------
}

Se Steg
Relaterade Ämnen

Arduino bot Android fjärrkontroll

Hallå där,I detta instructable jag vill undersöka sambandet mellan Arduino och Android. Båda är öppna, lätt-till-program miljö (Ja, Android inte så lätt, men ganska), och samspelet mellan dem låter intressant mänskliga-till-anordning interaktion.Måle...

Styra Arduino med Android-telefon via Bluetooth

Hej gott folk, här kan du lära dig hur man styr Arduino med Android-telefon via Bluetooth. Du kan använda din smartphone som en fjärrkontroll för dig hem belysningssystem eller du kan använda som en drone remote etc.För att göra anslutningen mellan A...

Röst aktiverat Arduino (Bluetooth + Android)

Styra din Arduino med röstkommandon med hjälp av en Android smartphone! Innan vi gör en röststyrda hemautomation system, måste vi först lära sig de grundläggande principerna för experimentet. Denna guide kan du kommandot Arduino med din Android smart...

Styra Arduino bil via hoppa rörelse

Förra gången, skapade jag en Arduino-bil som kontrolleras via webben. Den här gången, jag har använt samma bil men det styrs via hoppa rörelse.Steg 1: Vad är hoppa rörelse.Du kan kontrollera vad "Leap Motion" är genom att besöka den officiella h...

Röst aktiverat lampor / Led (ARDUINO och ANDROID)

Styra You'r hem lampor med en arduino och you'r android-telefon!Detta är min allra första instructable, jag ville styra mitt hem med en arduino och android telefonen.Det fanns många andra alternativ tillgängliga för mig att göra så. men det billiga a...

Hinder att undvika Arduino bil

Hej alla jag delar här vad jag göra ett hinder att undvika arduino bil. Jag använde här lätt tillgängliga material, dessa robo fortsätta springa fram tills och om inte hinder kom bilen så låt oss se och göra...Steg 1: material som krävs för 1-Arduino...

ITEAD intelligenta Switch fungerar med Arduino och Android

ITEAD nu erbjuda den intelligenta switchs som stöder touch och fjärrkontroll, och det kommer att vara mycket lätt att hacka och få det att fungera med din Arduino och Android telefon. Här visar vi dig en liten demo och mer positivt överraskad att bli...

Hacka en RC bil med Arduino och Android

(Om du gillar detta Instructable, glöm inte att rösta på det (ovan: högra hörnet flaggan). det konkurrerar på ROBOTICS och sensorer tävlingar. Tack så mycket! ;-)Varje gång jag går in i en leksaksaffär och se fjärrkontroll bilar i fönstret, jag längt...

Spåra och kontrollera din bil via Arduino och Android

Faktiskt, många av oss kan drabbas av eller rädd att hans bil stulits. I detta projekt, kommer jag försöka hjälpa dig att skydda dina bilar och även fjärrstyra dem.I grund och botten måste du lämna en mobiltelefon i bilen och när bilen börjar att fly...

Arduino Bluetooth RC bil (Android kontrolleras)

Hej, i detta projekt kommer att jag visa dig hur man förvandlar en RC leksaksbil till Bluetooth kontrolleras genom din Android smartphone!Innan du börjar, se till att du har:Arduino uno ombordL293D motorn förarensHC-06 Bluetooth-modulRadiostyrd bil s...

LEGO bil/tank, arduino uppfyller android

Vad är det?En lego-bil kontrolleras av acceleremoter sensorn på en android-enhet via bluetooth.Vad behövs?1. en lego-bil med två motorer, en kör de två hjul eller spåra på vänster sida och andra motor driver de två hjul eller spår till höger. Det bli...

Dataintrång min RC bil använder Arduino och Android Smart Phone

Har en gammal leksaksbil? Jag hackade min använder Arduino och en H bro krets för att kontrollera motorerna, brukade min Sony Z1 Android telefon styra med de senaste 1Sheeld jag fick från kicken.Jag tänkte att använda gyroskop sensorn i att driva det...

Szabo RC bil (Android hastighet-PWM control)

Om du vill styra din RC bil från Android-enhet med detta projekt kan du göra det!Detta projekt görs för separat motorstyrning att vidarebefordra en RC bil och drivhjulen till vänster och höger med speed(PWM) kontroll.Detta är ett projekt av två bröde...

Spåras Robot Bluetooth kontrolleras av Arduino Via Android ansökan

Efter försökande till avlägsen spåras robot av IR-fjärrkontroll. Fortsätter jag att kontrollera samma robot plattform via BluetoothArduino controller via Android ansökan. Denna metod är mer tillförlitliga, längre avstånd, ganska Android ansökan förbä...

Gest kontroll car(robot) med Arduino och Android(bluetooth)

Hej folk,Här är ett intressant projekt för alla er kreativa hjärnor ute. Vi ska bygga en android-telefon kontrollerade RC bil.Inget kunde vara mer fascinerande än avlägsen kontrollerade bilar. Denna använder en Bluetooth för kommunikation och acceler...

Arduino bot Android fjärrkontroll II

När jag köpte min Complubot för ett år sedan tänkte jag inte hur kul jag kunde vara, jag har praxis med Följ linje fordon, borste bil, men när jag läste jag läste artikeln på instructables relaterade till bluethooth rc, jag började tänka att det skul...

Billiga propeller powered Arduino bil

Hej! :)I detta instructable jag ska visa dig hur jag gjorde propeller powered bluetooth kontrollerad bil. Det är cool leksak kan du från bara några delar.Var försiktig med detta, propellern snurrar ca 2000-3000 rpm, tro mig, du vill inte röra den.Ste...

Hur man bygger en RC Bluetooth Arduino bil

Detta instructable skapades enlighet projektet kravet på Makecourse vid University of South Florida (www.makecourse.com)Detta är en översikt över hur man bygger en remote bil som fungerar via telefonens bluetooth. Detta projekt skapades under våren 2...

Autonoma Arduino bil med infraröd närhets-Sensor

Detta Instructable visar hur du ändrar en preloved RC bil så det kan styras med en Arduino. Sedan visar Instructable dig hur man gör RC kör en enkel figur 8 kod därifrån Instructable visar dig hur du lägger till en infraröd rörelsesensor så det kan i...