I have a problem. I want to make a car with a motor, front lights and rear lights. I want to run them at the same time but in different loops.
This is my code.
const int red1 = 10;
const int red2 = 11;
const int blue1 = 12;
const int blue2 = 13;
const int front1 = 3;
const int front2 = 4;
const int back1 = 5;
const int back2 = 6;
const int enablePWMPin = 9;
const int controlPinA = 8;
const int controlPinB = 7;
int buzzer = A0;
void setup() {
pinMode(red1, OUTPUT);
pinMode(red2, OUTPUT);
pinMode(blue1, OUTPUT);
pinMode(blue2, OUTPUT);
pinMode(front1, OUTPUT);
pinMode(front2, OUTPUT);
pinMode(back1, OUTPUT);
pinMode(back2, OUTPUT);
pinMode(enablePWMPin, OUTPUT);
pinMode(controlPinA, OUTPUT);
pinMode(controlPinB, OUTPUT);
digitalWrite(enablePWMPin, LOW);
digitalWrite(front1, LOW);
digitalWrite(front2, LOW);
digitalWrite(back1, LOW);
digitalWrite(back2, LOW);
digitalWrite(red1, LOW);
digitalWrite(red2, LOW);
digitalWrite(blue1, LOW);
digitalWrite(blue2, LOW);
noTone(buzzer);
}
void loop() {
digitalWrite(enablePWMPin, HIGH);
digitalWrite(controlPinA, HIGH);
digitalWrite(controlPinB, LOW);
delay(3000);
digitalWrite(controlPinA, LOW);
digitalWrite(controlPinB, HIGH);
delay(3000);
}
void loop() {
digitalWrite(red1, HIGH);
digitalWrite(red2, HIGH);
digitalWrite(blue1, LOW);
digitalWrite(blue2, LOW);
delay(250);
digitalWrite(red1, LOW);
digitalWrite(red2, LOW);
digitalWrite(blue1, HIGH);
digitalWrite(blue2, HIGH);
delay(250);
}
void loop() {
int directionA = digitalRead(controlPinA);
int directionB = digitalRead(controlPinB);
if (directionA == HIGH && directionB == LOW) {
digitalWrite(front1, HIGH);
digitalWrite(front2, HIGH);
digitalWrite(back1, LOW);
digitalWrite(back2, LOW);
} else if (directionA == LOW && directionB == HIGH) {
digitalWrite(back1, HIGH);
digitalWrite(back2, HIGH);
digitalWrite(front1, LOW);
digitalWrite(front2, LOW);
} else {
digitalWrite(front1, LOW);
digitalWrite(front2, LOW);
digitalWrite(back1, LOW);
digitalWrite(back2, LOW);
}
}
I'm using an Arduino Uno. Can I start all the loop() functions at the same time?