Arduino Bluetooth Tank med anpassade applikationer (V1.0) (4 / 6 steg)
Steg 4: Arduino kod
Den kod som laddades upp till Arduino kan ses nedan. Det kräver att du installerar AFMotor.h bibliotek, detta gör att du kan använda den motoriska sköld ordentligt.
I fall vet du inte hur att installera Arduino bibliotek Klicka här för en snabb tutorial.
Den vägen det programmet för närvarande fungerar är genom att ställa in den seriell kommunikationen via Bluetooth-modulen. Arduinoen övervakar Rx stift till att söka efter förändringar i tillstånd. När Bluetooth-modulen har skickats data från en ansluten bluetoothenhet. Om Arduino erkänns den mottagna datan som en anvisning för motorisk kontroll det kommer in motsvarande del av if uttalande dvs om Rx får "0" tanken kommer in framåt motor staten tills berättade annars. Systemets flöde diagram ovan ungefär visar hur denna kod funktioner.
När du har lagt upp här koden till Arduino, du kan låta USB-B anslutningen fäst och öppna följetong-Monitor, kan du skriva 0 - avsett 9 i kommandoraden för att testa varje motor till göra säker allting fungerar som.
#include < AFMotor.h >
AF_DCMotor motor2 (2, MOTOR12_64KHZ). skapa motor #2, 64KHz pwm
AF_DCMotor motor1 (1, MOTOR12_64KHZ);
int state = 0;
void setup() < br > {
Serial.BEGIN(9600); Ställ in följetong bibliotek på 9600 bps
Serial.println ("Välkommen: framåt = 1 vänster = 2 rätt = 3 bakåt = 4 stopp = 0");
motor2.setSpeed(200); ställa in hastigheten till 200
motor1.setSpeed(200); ställa in hastigheten till 200
}
void loop() {//if några data skickas, läsa den och spara den i variabeln staten
IF(Serial.available() > 0)
{
State = Serial.read();
Serial.Print ("jag fick:");
Serial.println(State);
Delay(10); < /p >
om (statligt == '0')
{
motor2.setSpeed(200); som hastigheten till 200/255
motor1.setSpeed(200); som hastigheten till 200/255
motor2.Run(release); slå på framöver
motor1.Run(release); slå på framöver
Serial.println("stopped");
Delay(100);
State = 0;
}
annars om (statligt == '1') / / om 1 framlänges
{
motor2.Run(release); slå på framöver
motor1.Run(release); slå på framöver
motor2.setSpeed(200); ställa in hastigheten till 200
motor1.setSpeed(200); ställa in hastigheten till 200
motor2.Run(forward); slå på framöver
motor1.Run(forward); slå på framöver
Serial.println("forward");
Delay(100);
State = 0;
}
annars om (statligt == "2") / / om 2 sväng vänster
{
motor2.Run(release); slå på framöver
motor1.Run(release); slå på framöver
motor1.setSpeed(255); som hastigheten till 200/255
motor1.Run(forward);
motor2.Run(Backward);
Serial.println("left");
Delay(100);
State = 0;
}
annars om (statligt == '3') {/ / om 3 sväng höger
motor2.Run(release); slå på framöver
motor1.Run(release); slå på framöver
motor2.setSpeed(255); ställa in hastigheten till 255
motor2.Run(forward);
motor1.Run(Backward);
Serial.println("Right");
Delay(100);
State = 0;
}
annars om (statligt == "4") / / om 4 bakåt
{
motor2.Run(release); slå på framöver
motor1.Run(release); slå på framöver
motor2.setSpeed(200); ställa in hastigheten till 200
motor1.setSpeed(200); ställa in hastigheten till 200
motor2.Run(Backward); Motor 2 bakåt
motor1.Run(Backward); Motor 1 bakåt
Serial.println("Backward");
Delay(100);
State = 0;
}
annars om (statligt == "5")
{
motor2.Run(release); slå på den pågående release
motor1.Run(release); slå på den pågående release
motor2.setSpeed(255); ställa in hastigheten till 255
motor1.setSpeed(140); som hastigheten till 140
motor2.Run(forward); Motor 2 framåt
motor1.Run(forward); Motor 1 framåt
Serial.println ("framåt rätt").
Delay(100);
State = 0;
}
annars om (statligt == '6')
{
motor2.Run(release); slå på den pågående release
motor1.Run(release); slå på den pågående release
motor1.setSpeed(255); ställa in hastigheten till 255
motor2.setSpeed(140); som hastigheten till 140
motor2.Run(forward); Motor 2 framåt
motor1.Run(forward); Motor 1 framåt
Serial.println ("framåt vänster");
Delay(100);
State = 0;
}
annars om (statligt == "7") / / om 4 bakåt
{
motor2.Run(release); slå på framöver
motor1.Run(release); slå på framöver
motor1.setSpeed(255); ställa in hastigheten till 255
motor2.setSpeed(140); som hastigheten till 140
motor2.Run(Backward); Motor 2 bakåt
motor1.Run(Backward); Motor 1 bakåt
Serial.println ("bakåt rätt").
Delay(100);
State = 0;
}
annars om (statligt == '8') / / om 4 bakåt
{
motor2.Run(release); slå på framöver
motor1.Run(release); slå på framöver
motor2.setSpeed(255); ställa in hastigheten till 255
motor1.setSpeed(140); som hastigheten till 140
motor2.Run(Backward); Motor 2 bakåt
motor1.Run(Backward); Motor 1 bakåt
Serial.println ("bakåt vänster");
Delay(100);
State = 0;
}
annars om (stat > = '9')
{
Serial.println("Invalid");
Delay(100);
State = 0;
}
}
}
< br >