help me to fix this please, when i push the button to call void ruang1 but it wont run repeatly then the sensors cant read by loop, is there any mistakes with my code?
thanks
const int motor1 = 7;
const int motor2 = 6;
const int motor3 = 5;
const int motor4 = 4;
const int sensor1 = A3;
const int sensor2 = A2;
const int sensor3 = A1;
const int sensor4 = A0;
const int button1 = 10;
const int pinSpeed = 9;
int data1, data2, data3, data4;
int speedMotor = 255;
void setup() {
Serial.begin(250000);
pinMode(button1, INPUT);
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
pinMode(motor3, OUTPUT);
pinMode(motor4, OUTPUT);
pinMode(sensor1, INPUT);
pinMode(sensor2, INPUT);
pinMode(sensor3, INPUT);
pinMode(sensor4, INPUT);
pinMode(pinSpeed, OUTPUT);
}
void loop() {
while(digitalRead(button1 == HIGH)){
ruang1();}
data1 = digitalRead(sensor1);
data2 = digitalRead(sensor2);
data3 = digitalRead(sensor3);
data4 = digitalRead(sensor4);
analogWrite(pinSpeed, speedMotor);
}
void ruang1(){
if (data1 == LOW && data2 == LOW && data3 == LOW && data4 == LOW)
{
//maju
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
}
else if (data1 == HIGH && data2 == LOW && data3 == LOW && data4 == LOW)
{
//kanan
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
}
else if (data1 == LOW && data2 == LOW && data3 == HIGH && data4 == HIGH)
{
//kiri
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
}
else if (data1 == HIGH && data2 == HIGH && data3 == LOW && data4 == LOW)
{
//kanan
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
}
else if (data1 == LOW && data2 == LOW && data3 == HIGH && data4 == HIGH)
{
//kiri
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
}
else if (data1 == HIGH && data2 == LOW && data3 == LOW && data4 == LOW)
{
//kanan
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
}
else if (data1 == LOW && data2 == LOW && data3 == LOW && data4 == HIGH)
{
//kiri
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
}
else if (data1 == HIGH && data2 == LOW && data3 == HIGH && data4 == LOW)
{
//kanan
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
}
else if (data1 == LOW && data2 == HIGH && data3 == LOW && data4 == HIGH)
{
//kiri
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
}
else if (data1 == LOW && data2 == HIGH && data3 == LOW && data4 == LOW)
{
//kanan
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
}
else if (data1 == LOW && data2 == LOW && data3 == HIGH && data4 == LOW)
{
//kiri
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, LOW);
digitalWrite(motor4, HIGH);
}
else if (data1 == LOW && data2 == HIGH && data3 == HIGH && data4 == LOW)
{
//maju
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
}
else if (data1 == HIGH && data2 == HIGH && data3 == HIGH && data4 == HIGH)
{
//maju
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);
digitalWrite(motor3, HIGH);
digitalWrite(motor4, LOW);
}
}