// Information header
// Developer : Victor Hugo Ramírez Pantle
// ID number : A01736775
// Date : Aug / 27 / 2024
// Project name : "Lectura de sensores digitales y toma de decisiones"
// Add all required constant definitions
#define M1_ACC 11
#define M1_FWD 33
#define M2_ACC 12
#define M2_FWD 35
#define M3_ACC 7
#define M3_FWD 41
#define M4_ACC 8
#define M4_FWD 37
#define SImpL A11
#define SImpR A12
// Add all required variable definitions
boolean SImpLstate = true;
boolean SImpRstate = true;
void setup() {
pinMode(M1_ACC,OUTPUT);
pinMode(M2_ACC,OUTPUT);
pinMode(M1_FWD,OUTPUT);
pinMode(M2_FWD,OUTPUT);
pinMode(M3_ACC,OUTPUT);
pinMode(M4_ACC,OUTPUT);
pinMode(M3_FWD,OUTPUT);
pinMode(M4_FWD,OUTPUT);
pinMode(SImpL, INPUT);
pinMode(SImpR, INPUT);
digitalWrite (M1_ACC,LOW);
digitalWrite (M2_ACC,LOW);
digitalWrite (M3_ACC,LOW);
digitalWrite (M4_ACC,LOW);
digitalWrite (M1_FWD,LOW);
digitalWrite (M2_FWD,LOW);
digitalWrite (M3_FWD,LOW);
digitalWrite (M4_FWD,LOW);
Serial.begin(9600);
}
void loop() {
SImpLstate = digitalRead(SImpL);
SImpRstate = digitalRead(SImpR);
Serial.print("Left Sensor: ");
Serial.print(SImpLstate);
Serial.print(" // ");
Serial.print("Right Sensor: ");
Serial.println(SImpRstate);
if (!SImpLstate){ // si izq esta presionado
analogWrite (M3_ACC,64);
analogWrite (M4_ACC,64);
digitalWrite (M3_FWD,HIGH);
digitalWrite (M4_FWD,HIGH);
delay(10);
} else {
digitalWrite (M3_ACC,LOW);
digitalWrite (M4_ACC,LOW);
digitalWrite (M3_FWD,LOW);
digitalWrite (M4_FWD,LOW);
}
if (!SImpRstate){ // si der esta presionado
analogWrite (M1_ACC,64);
analogWrite (M2_ACC,64);
digitalWrite (M1_FWD,HIGH);
digitalWrite (M2_FWD,HIGH);
delay(10);
} else {
digitalWrite (M1_ACC,LOW);
digitalWrite (M2_ACC,LOW);
digitalWrite (M1_FWD,LOW);
digitalWrite (M2_FWD,LOW);
}
}