Android kontrollerade Robot för nybörjare (A till Z) (7 / 7 steg)
Steg 7: Ladda upp Program
Du gjorde alla anslutning? Bara ladda upp programmet till din Arduino Program
/*
* skapad av Md. Khairul Alam
* Kontroll 2 DC-motorer med Smartphone via bluetooth
* 2015
*/
int motor1Pin1 = 3; stift 2 på L293D IC
int motor1Pin2 = 4; stift 7 på L293D IC
int motor1EnablePin = 6; stift 1 på L293D IC
int motor2Pin1 = 8; stift 10 på L293D IC
int motor2Pin2 = 9; stift 15 på L293D IC
int motor2EnablePin = 11; stift 9 på L293D IC
int staten.
int hastighet = 100;
int flagga = 0; ser till att följetongen skrivs bara en gång staten
int stateStop = 0;
void setup() {
ställer in stiften som resultat:
pinMode (motor1Pin1, produktionen);
pinMode (motor1Pin2, produktionen);
pinMode (motor1EnablePin, produktionen);
pinMode (motor2Pin1, produktionen);
pinMode (motor2Pin2, produktionen);
pinMode (motor2EnablePin, produktionen);
anger enable1Pin och enable2Pin höga så att motorn kan aktivera:
digitalWrite (Motor1EnablePin, hög);
digitalWrite (Motor2EnablePin, hög);
initiera seriell kommunikation på 9600 bitar per sekund:
Serial.BEGIN(9600);
}
void loop() {
om några datum skickas, läser den och sparar i staten
IF(Serial.available() > 0) {
State = Serial.read();
om (stat > 5) {
Hastighet = staten.}
flagga = 0;
}
om staten '1' att DC-motor gå framåt
om (statligt == 1) {
forword();
IF(Flag == 0) {
Serial.println ("gå framåt!");
Flagga = 1;
}
}
om staten '2' att motorn gå vänster
annars om (statligt == 2) {
turnLeft();
IF(Flag == 0) {
Serial.println ("sväng vänster");
Flagga = 1;
}
Delay(1500);
State = 3;
stateStop = 1;
}
om staten är '3' stoppas motorn
annars om (statligt == 3 || stateStop == 1) {
Stop();
IF(Flag == 0) {
Serial.println("stop!");
Flagga = 1;
}
stateStop = 0;
}
om staten "4" att motorn gå rätt
annars om (statligt == 4) {
turnRight();
IF(Flag == 0) {
Serial.println ("sväng höger");
Flagga = 1;
}
Delay(1500);
State = 3;
stateStop = 1;
}
om staten är "5" att motorn omvända
annars om (statligt == 5) {
backword();
IF(Flag == 0) {
Serial.println("reverse!");
Flagga = 1;
}
}
För felsökning syfte
Serial.println(State);
}
void forword() {
digitalWrite (motor1Pin1, hög);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, hög);
analogWrite (motor1EnablePin, hastighet);
analogWrite (motor2EnablePin, hastighet);
Serial.println ("gå framåt!");
}
void backword() {
digitalWrite (motor1Pin1, låg);
digitalWrite (motor1Pin2, hög);
digitalWrite (motor2Pin1, hög);
digitalWrite (motor2Pin2, låg);
analogWrite (motor1EnablePin, hastighet);
analogWrite (motor2EnablePin, hastighet);
Serial.println ("gå bakåt!");
}
void turnRight() {
digitalWrite (motor1Pin1, låg);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, hög);
analogWrite (motor1EnablePin, hastighet);
analogWrite (motor2EnablePin, hastighet);
Serial.println ("sväng höger");
}
void turnLeft() {
digitalWrite (motor1Pin1, hög);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, låg);
analogWrite (motor1EnablePin, hastighet);
analogWrite (motor2EnablePin, hastighet);
Serial.println ("sväng vänster");
}
void Stop() {
digitalWrite (motor1Pin1, låg);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, låg);
analogWrite (motor1EnablePin, hastighet);
analogWrite (motor2EnablePin, hastighet);
Serial.println("stop");
}