Stap 9: Ze samen te lijmen en programmeren van de arduino
Sluit de draden aan motor Shield, zoals in de afbeelding. Nu is er slechts één kabel gratis, dat is voor het aansluiten van met de LED's. Lijm vervolgens de de motorcontroller en arduino Shield samen met hete lijm pistool. In de laatste afbeelding die ik laten zien heb dat de verspringer draden met de bluetooth verbonden is module adem op het bord van de module blutooth om ruimte te besparen.
In de volgende stap gaan we wilt invoegen de elektronische onderdelen in de PVC-pijp, er we nodig om hem te programmeren.
Ik ' ben met behulp van de FTDI parallelle naar seriële converter voor programma de arduino pro, hebt u geen van deze converter. Doorloop dit instructable te programmeren met behulp van de arduino uno.
Hier is het programma downloaden en uploaden naar arduino pro mini. Voel je vrij om het te bewerken ;)
Pijp Bot
Constanten en variabele
int motor1Pin1 = 5; pin 2 op L293D IC
int motor1Pin2 = 6; pin 7 op L293D IC
int motor2Pin1 = 8; pin 10 op L293D IC
int motor2Pin2 = 7; pin 15 op L293D IC
char van dataIn = de ';
char determinant;
char det;
int vel = 0; Bluetooth Stuff
int whitelight = 13;
int redlight = 10;
VOID Setup {}
Serial.begin(9600); instellen van seriële bibliotheek 9600 bps
Hiermee stelt u de pinnen als uitgang:
pinMode (motor1Pin1, OUTPUT);
pinMode (motor1Pin2, OUTPUT);
pinMode (motor2Pin1, OUTPUT);
pinMode (motor2Pin2, OUTPUT);
pinMode (whitelight, OUTPUT);
pinMode (redlight, OUTPUT);
Initialisatie berichten
Serial.println ("Arduin pijp bot");
digitalWrite (whitelight, laag);
digitalWrite (redlight, LOW);
}
void loop {}
Det = check(); Bel check() subrotine om de seriële code
seriële code analyse
schakelaar (det) {}
kast 'F': / / F, vooruit
digitalWrite (motor1Pin1, hoge);
digitalWrite (motor1Pin2, laag);
digitalWrite (motor2Pin1, laag);
digitalWrite (motor2Pin2, hoge);
Det = check();
breken;
Case "B": / / B, teruggaan
digitalWrite (motor1Pin1, laag);
digitalWrite (motor1Pin2, hoge);
digitalWrite (motor2Pin1, hoge);
digitalWrite (motor2Pin2, laag);
Det = check();
breken;
geval 'L': / / L, zet wielen links
digitalWrite (motor1Pin1, hoge);
digitalWrite (motor1Pin2, laag);
digitalWrite (motor2Pin1, laag);
digitalWrite (motor2Pin2, laag);
Det = check();
breken;
kast 'R': / / R, zet wielen recht
digitalWrite (motor1Pin1, laag);
digitalWrite (motor1Pin2, laag);
digitalWrite (motor2Pin1, laag);
digitalWrite (motor2Pin2, hoge);
Det = check();
breken;
geval van ': / / S, stop
digitalWrite (motor1Pin1, laag);
digitalWrite (motor1Pin2, laag);
digitalWrite (motor2Pin1, laag);
digitalWrite (motor2Pin2, laag);
Det = check();
breken;
kast 'U': / / V, rood licht op
Serial.println ("Red LIght op");
digitalWrite (redlight, hoge);
breken;
geval 'u': / / v, rood licht uit
Serial.println ("Red Light Off");
digitalWrite (redlight, LOW);
breken;
geval 'W': / / W, Front Lights On
Serial.println ("wit licht op");
digitalWrite (whitelight, hoge);
breken;
geval 'w': / / w, Front Lights Off
Serial.println ("wit licht uit');
digitalWrite (whitelight, laag);
breken;
}
}
bluetooth code ontvangen van de seriële poort krijgen
int check() {}
Als (Serial.available() > 0) {/ / als er geldige gegevens in de seriële poort
dataIn = Serial.read(); / / slaat gegevens op in een varialbe
Controleer de code
Als (dataIn == 'F') {//Forward
determinant = 'F';
}
anders als (dataIn == 'B') {//Backward
determinant = "B";
}
anders als (dataIn == 'L') {//Left
determinant = 'L';
}
anders als (dataIn == 'R') {//Right
determinant = 'R';
}
anders als (dataIn == de ') {//Stop
determinant = de ';
}
anders als (dataIn == 'U') {//Red Lights On
determinant = 'U';
}
anders als (dataIn == 'u') {//Red Lights Off
determinant = 'u';
}
anders als (dataIn == 'W') {//White Lights On
determinant = 'W';
}
anders als (dataIn == 'w') {//White Lights Off
determinant = 'w';
}
terug factor;
}
}