Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <SoftwareSerial.h>
- SoftwareSerial mySerial(7, 6); // RX, TX
- //////////////////////////////////////////////////////////////////////////
- //Left Motors Pin Connections To Arduino Uno
- //////////////////////////////////////////////////////////////////////////
- const int L_Motor_PIN_DIR = 2; // Motor direction signal
- const int L_Motor_PIN_BRK = 3; // Motor Break signal
- const int L_Motor_PIN_PWM = 9; // 490Hz pins 3, 9, 10, 11
- const int L_Motor_PIN_S = 12; // Motor Speed Input signal
- //////////////////////////////////////////////////////////////////////////
- //------------------------------------------------------------------------
- //////////////////////////////////////////////////////////////////////////
- //Right Motors Pin Connections To Arduino Uno
- //////////////////////////////////////////////////////////////////////////
- const int R_Motor_PIN_DIR = 4; // Motor direction signal
- const int R_Motor_PIN_BRK = 5; // Motor Break signal
- const int R_Motor_PIN_PWM = 10; // 490Hz pins 3, 9, 10, 11
- const int R_Motor_PIN_S = 11; // Motor Speed Input signal
- //////////////////////////////////////////////////////////////////////////
- int set_Speed = 25;
- int tSafeTime = 100;
- int timeForEachMotion = 500;
- unsigned char Bluetooth_val;
- void hornON() {
- digitalWrite(13, 1);
- }
- void hornOFF() {
- digitalWrite(13, 0);
- }
- void setup() {
- pinMode(13, OUTPUT);
- Serial.begin(9600);
- mySerial.begin(9600);
- setupMotorDriversPins();
- Break_All_Motors();
- }
- void loop() {
- readingBT();
- }//end of Loop
- void readingBT() {
- if (mySerial.available()) {
- Bluetooth_val = mySerial.read();
- Serial.println(char(Bluetooth_val));
- switch (Bluetooth_val)
- {
- case '1':
- Front (set_Speed, timeForEachMotion);
- //safeGuardMotors();
- //Break_All_Motors();
- break;
- case '2':
- Back (set_Speed, timeForEachMotion);
- //safeGuardMotors();
- // Break_All_Motors();
- break;
- case '3':
- Left (set_Speed, timeForEachMotion);
- //safeGuardMotors();
- // Break_All_Motors();
- break;
- case '4':
- Right (set_Speed, timeForEachMotion);
- //safeGuardMotors();
- //Break_All_Motors();
- break;
- case '5': Break_All_Motors();
- break;
- case 'G': Break_All_Motors();
- break;
- case 'I': Break_All_Motors();
- break;
- case 'H': Break_All_Motors();
- break;
- case 'J': Break_All_Motors();
- break;
- case 'W': Break_All_Motors();
- break;
- case 'w': Break_All_Motors();
- break;
- case 'U': Break_All_Motors();
- break;
- case 'u': Break_All_Motors();
- break;
- case 'V': hornON();
- break;
- case 'v': hornOFF();
- break;
- case 'X': Break_All_Motors();
- break;
- case 'x': Break_All_Motors();
- break;
- case 'D': Break_All_Motors();
- break;
- }
- }
- }
- void setupMotorDriversPins() {
- pinMode(L_Motor_PIN_DIR, OUTPUT);
- pinMode(L_Motor_PIN_BRK, OUTPUT);
- pinMode(L_Motor_PIN_PWM, OUTPUT);
- pinMode(L_Motor_PIN_S, INPUT);
- pinMode(R_Motor_PIN_DIR, OUTPUT);
- pinMode(R_Motor_PIN_BRK, OUTPUT);
- pinMode(R_Motor_PIN_PWM, OUTPUT);
- pinMode(R_Motor_PIN_S, INPUT);
- }
- void Break_All_Motors() {
- digitalWrite(L_Motor_PIN_BRK, 1);
- digitalWrite(R_Motor_PIN_BRK, 1);
- }
- void Front(int setTheSpeed, int timeToDelay) {
- safeGuardMotors();
- analogWrite(L_Motor_PIN_PWM, setTheSpeed);//15
- analogWrite(R_Motor_PIN_PWM, setTheSpeed);//15
- digitalWrite(L_Motor_PIN_DIR, 1);
- digitalWrite(R_Motor_PIN_DIR, 0);
- delay(timeToDelay);
- }
- void Back(int setTheSpeed, int timeToDelay) {
- safeGuardMotors();
- analogWrite(L_Motor_PIN_PWM, setTheSpeed);//15
- analogWrite(R_Motor_PIN_PWM, setTheSpeed);//15
- digitalWrite(L_Motor_PIN_DIR, 0);
- digitalWrite(R_Motor_PIN_DIR, 1);
- delay(timeToDelay);
- }
- void Right(int setTheSpeed, int timeToDelay) {
- safeGuardMotors();
- analogWrite(L_Motor_PIN_PWM, setTheSpeed);//15
- analogWrite(R_Motor_PIN_PWM, setTheSpeed);//15
- digitalWrite(L_Motor_PIN_DIR, 1);
- digitalWrite(R_Motor_PIN_DIR, 1);
- delay(timeToDelay);
- }
- void Left(int setTheSpeed, int timeToDelay) {
- safeGuardMotors();
- analogWrite(L_Motor_PIN_PWM, setTheSpeed);//15
- analogWrite(R_Motor_PIN_PWM, setTheSpeed);//15
- digitalWrite(L_Motor_PIN_DIR, 0);
- digitalWrite(R_Motor_PIN_DIR, 0);
- delay(timeToDelay);
- }
- void safeGuardMotors() {
- delay(tSafeTime);
- digitalWrite(L_Motor_PIN_BRK, 0);
- digitalWrite(R_Motor_PIN_BRK, 0);
- delay(tSafeTime);
- }
Advertisement
Add Comment
Please, Sign In to add comment