Enkla Arduino Bluetooth Cybot på flytta och Android Appplication (uppdaterad) (6 / 9 steg)
Steg 6: Arduino Firmware
Innan du försöker ladda upp skiss för Arduino se till att du port väljs från verktyg drop down i Arduino IDE, men mre viktigt välja rätt styrelsen du använder.
Koden nedan fungerar på de flesta om inte alla Arduino styrelser, men om du har fel typ. Ange under verktyg då endast får du fel när du klickar på knappen upload.
Jag hade ett antal frågor när jag sprang först detta, inte ansluta, motorer inte körs eller inkonsekvent.
Problem med att skjuta frågor jag föreslår att ta bort den Arduino och Bluetooth från Cybot och ställa upp på en skärbräda och få varje steg arbetar innan vi går vidare.
Arbeta som ovan jag hittade att det kabelnät som jag hade gjort att länka Cybot H bron till Arduino kortsluter vilket resulterade i temperamentsfull drift.
Så medan jag tycker det är bra att använda sele och har lämnat inrättades som en del av den instructable - kommer att du märka att den fullt fungerande videon har direkta förbindelser med bygel ledningar
Firmware för Arduino Nano för Bluetooth kontroll av den Cybot plattformen
den här filen använder inte TX/RX anslutningarna på arduino för seriell kommunikation så gör den följande conncetions
Arduino >> bluetooth / / D03 >>> Rx
D02 >>> Tx
#include / / detta är ett måste eller seriell kommunikation fungerar inte
SoftwareSerial Cybot(10,11); RX, TX setup
int RM_forward = 8; setup refererade pin för på / av aktivitet
int RM_reverse = 9; setup refererade pin för på / av aktivitet
int LM_forward = 12; setup refererade pin för på / av aktivitet
int LM_reverse = 13. setup refererade pin för på / av aktivitet
int BluetoothData; de uppgifter som lämnas från dator
void setup() {/ / ursprungliga inställningar för status
Cybot.BEGIN(9600);
Cybot.println ("Bluetooth på trycker du på 8:forward/2:reverse/4:left/6:right/0:stop");
pinMode(RM_forward,OUTPUT);
pinMode(RM_reverse,OUTPUT); pinMode(LM_forward,OUTPUT);
pinMode(LM_reverse,OUTPUT);
}
void loop() {/ / sätta din huvudsakliga kod här, för att köra flera gånger:
om (Cybot.available()) {BluetoothData=Cybot.read();
Framåt
IF(BluetoothData=='1') {/ / om nummer 1 intryckt... först stoppa all aktivitet och slå sedan på den framåtgående rörelsen
digitalWrite(RM_forward,0);
digitalWrite(LM_forward,0);
digitalWrite(RM_reverse,0);
digitalWrite(LM_reverse,0);
digitalWrite(RM_forward,1);
digitalWrite(LM_forward,1);
Cybot.println("forward");
}
Bakåt
IF(BluetoothData=='2') {/ / om nummer 2 intryckt... först stoppa all aktivitet och slå sedan på bakåt rörelse
digitalWrite(RM_forward,0);
digitalWrite(LM_forward,0);
digitalWrite(RM_reverse,0);
digitalWrite(LM_reverse,0);
digitalWrite(RM_reverse,1);
digitalWrite(LM_reverse,1);
Cybot.println("backwards");
}
Höger
IF(BluetoothData=='4') {/ / om nummer 4 intryckt... först stoppa all aktivitet och slå sedan på rätt motion digitalWrite(RM_forward,0);
digitalWrite(LM_forward,0);
digitalWrite(RM_reverse,0);
digitalWrite(LM_reverse,0);
digitalWrite(RM_reverse,1);
digitalWrite(LM_forward,1);
Cybot.println("Right"); }
vänster
IF(BluetoothData=='6') {/ / om nummer 6 intryckt... först stoppa all aktivitet och slå sedan på den vänstra motion digitalWrite(RM_forward,0);
digitalWrite(LM_forward,0);
digitalWrite(RM_reverse,0);
digitalWrite(LM_reverse,0);
digitalWrite(LM_reverse,1);
digitalWrite(RM_forward,1);
Cybot.println("left");
}
Stanna
IF(BluetoothData=='0') {/ / om antal 0 intryckt... stoppa all verksamhet
digitalWrite(RM_forward,0);
digitalWrite(LM_forward,0);
digitalWrite(RM_reverse,0);
digitalWrite(LM_reverse,0);
Cybot.println("stop");
}
}
Delay(100); / / vänta på ingång
}