Arduino "Pick N plats" Android Robot (4 / 6 steg)
Steg 4: Ladda upp Arduino skiss
/*
* Projekt: Pick N plats Robot
* Datum: Januari 2015
* Författare: Sameer Gupta (administratör på www.sgprojects.co.in)
*/
int motor1Pin1 = 8; stift 2 på L293D IC
int motor1Pin2 = 7. stift 7 på L293D IC
int enable1Pin = 9; stift 1 på L293D IC
int motor2Pin1 = 5; stift 10 på L293D IC
int motor2Pin2 = 4; stift 15 på L293D IC
int enable2Pin = 6; stift 9 på L293D IC
int motor3Pin1 = 14. stift 2 på L293D IC
int motor3Pin2 = 13. stift 7 på L293D IC
int enable3Pin = 15. stift 1 på L293D IC
int motor4Pin1 = 11; stift 10 på L293D IC
int motor4Pin2 = 10; stift 15 på L293D IC
int enable4Pin = 12; stift 9 på L293D IC
int staten.
int flagga = 0; ser till att följetongen skrivs bara en gång staten
void setup() {
pinMode (motor1Pin1, produktionen), pinMode (motor1Pin2, produktionen), pinMode (enable1Pin, produktionen);
pinMode (motor2Pin1, produktionen), pinMode (motor2Pin2, produktionen), pinMode (enable2Pin, produktionen);
pinMode (motor3Pin1, produktionen), pinMode (motor3Pin2, produktionen), pinMode (enable3Pin, produktionen);
pinMode (motor4Pin1, produktionen), pinMode (motor4Pin2, produktionen), pinMode (enable4Pin, produktionen);
Stop();
Serial.BEGIN(9600);
}
void loop() {
IF(Serial.available() > 0) {
State = Serial.read();
flagga = 0;
}
om (statligt == "F") {
Forward();
om (flagga == 0)Serial.println ("gå fram"), flagga = 1;
}
annars om (statligt == 'B') {
Reverse();
om (flagga == 0)Serial.println ("gå bakåt"), flagga = 1;
}
annars om (statligt == "L") {
Left();
om (flagga == 0)Serial.println ("gå vänster"), flagga = 1;
}
annars om (statligt == "R") {
Right();
om (flagga == 0)Serial.println ("gå rätt"), flagga = 1;
}
annars om (statligt == s ') {
Stop();
om (flagga == 0)Serial.println ("STOP!"), flagga = 1;
}
annars om (statligt == "P") {
Pick();
om (flagga == 0)Serial.println ("plocka"), flagga = 1;
}
annars om (statligt == "Q") {
Place();
om (flagga == 0)Serial.println ("förlägger"), flagga = 1;
}
annars om (statligt == "H") {
Hold();
om (flagga == 0)Serial.println ("Hold"), flagga = 1;
}
annars om (statligt == "I") {
Free();
om (flagga == 0)Serial.println ("återta"), flagga = 1;
}
}
void Forward() {
digitalWrite (motor1Pin1, låg);
digitalWrite (motor1Pin2, hög);
digitalWrite (motor2Pin1, hög);
digitalWrite (motor2Pin2, låg);
digitalWrite (enable1Pin, hög);
digitalWrite (enable2Pin, hög);
}
void Reverse() {
digitalWrite (motor1Pin1, hög);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, hög);
digitalWrite (enable1Pin, hög);
digitalWrite (enable2Pin, hög);
}
void Left() {
digitalWrite (motor1Pin1, hög);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, hög);
digitalWrite (motor2Pin2, låg);
digitalWrite (enable1Pin, hög);
digitalWrite (enable2Pin, hög);
}
void Right() {
digitalWrite (motor1Pin1, låg);
digitalWrite (motor1Pin2, hög);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, hög);
digitalWrite (enable1Pin, hög);
digitalWrite (enable2Pin, hög);
}
void Pick() {
digitalWrite (motor3Pin1, låg);
digitalWrite (motor3Pin2, hög);
digitalWrite (enable3Pin, hög);
}
void Place() {
digitalWrite (motor3Pin1, hög);
digitalWrite (motor3Pin2, låg);
digitalWrite (enable3Pin, hög);
}
void Hold() {
digitalWrite (motor4Pin1, låg);
digitalWrite (motor4Pin2, hög);
digitalWrite (enable4Pin, hög);
}
void Free() {
digitalWrite (motor4Pin1, hög);
digitalWrite (motor4Pin2, låg);
digitalWrite (enable4Pin, hög);
}
Annullera stop () {/ / stoppa motorer
digitalWrite (enable1Pin, låg);
digitalWrite (enable2Pin, låg);
digitalWrite (enable3Pin, låg);
digitalWrite (enable4Pin, låg);
digitalWrite (motor1Pin1, låg);
digitalWrite (motor1Pin2, låg);
digitalWrite (motor2Pin1, låg);
digitalWrite (motor2Pin2, låg);
digitalWrite (motor3Pin1, låg);
digitalWrite (motor3Pin2, låg);
digitalWrite (motor4Pin1, låg);
digitalWrite (motor4Pin2, låg);
}