I'm trying my best to solve this problem but it didn't changed
The red line was drawn on the last Serial.println */
int cds = A0;
int led = 12;
int trig1 = 2; // Left Trig
int trig2 = 3; // Right Trig
int trig3 = 4; // Front Trig
int trig4 = 5; // Upside Trig
int echo1 = 6; // Left Echo
int echo2 = 7; // Right Echo
int echo3 = 8; // Front Echo
int echo4 = 9; // Upside Echo
int vib1 = 10; // Left vib
int vib2 = 11; // Right vib
void setup() {
pinMode(led, OUTPUT);
pinMode(trig1, OUTPUT);
pinMode(trig2, OUTPUT);
pinMode(trig3, OUTPUT);
pinMode(trig4, OUTPUT);
pinMode(echo1, INPUT);
pinMode(echo2, INPUT);
pinMode(echo3, INPUT);
pinMode(echo4, INPUT);
pinMode(vib1, OUTPUT);
pinMode(vib2, OUTPUT);
Serial.begin(9600);
}
void loop(){
long duration1, value1;
long duration2, value2;
long duration3, value3;
long duration4, value4;
// Ultra Sonic Sensor Part1
digitalWrite(trig1,LOW); // Trigger Output
delayMicroseconds(2);
digitalWrite(trig1,HIGH);
delayMicroseconds(5);
digitalWrite(trig1,LOW);
duration1 = pulseIn(echo1,HIGH); // Read Pulse Duration
value1 = microsecondsToCentimeters(duration1); // Count Distance
delay(10);
// Ultra Sonic Sensor Part2
digitalWrite(trig2,LOW);
delayMicroseconds(2);
digitalWrite(trig2,HIGH);
delayMicroseconds(5);
digitalWrite(trig2,LOW);
duration2 = pulseIn(echo2,HIGH);
value2 = microsecondsToCentimeters(duration2);
delay(10);
// Ultra Sonic Sensor Part3
digitalWrite(trig3,LOW);
delayMicroseconds(2);
digitalWrite(trig3,HIGH);
delayMicroseconds(5);
digitalWrite(trig3,LOW);
duration3 = pulseIn(echo3,HIGH);
value3 = microsecondsToCentimeters(duration3);
delay(10);
// Ultra Sonic Sensor Part4
digitalWrite(trig4,LOW);
delayMicroseconds(2);
digitalWrite(trig4,HIGH);
delayMicroseconds(5);
digitalWrite(trig4,LOW);
duration4 = pulseIn(echo4,HIGH);
value4 = microsecondsToCentimeters(duration4);
delay(10);
//Commend Part (Vibration motor)
// Print Out Value
Serial.print(" dist1 =");
Serial.print(value1);
Serial.print("(cm)");
Serial.print(" dist2 =");
Serial.print(value2);
Serial.print("(cm)");
Serial.print(" dist3 =");
Serial.print(value3);
Serial.print("(cm)");
Serial.print(" dist4 =");
Serial.print(value4);
Serial.print("(cm)");
delay(10);
//
// Initialize PIN Mode
digitalWrite(vib1,HIGH);
digitalWrite(vib2,HIGH);
// 진동모터1,2,3
if ( value4<60 or value3<60)
digitalWrite(vib1,LOW);
digitalWrite(vib2,LOW);
delay(100);
digitalWrite(vib1,HIGH);
digitalWrite(vib2,HIGH);
if (0< value1 && value1<60)
digitalWrite(vib1,LOW);
delay(100);
digitalWrite(vib1,HIGH);
if (0< value2 && value2<60)
digitalWrite(vib1,LOW);
delay(100);
digitalWrite(vib1,HIGH);
}
// Function of Count Distance
long microsecondsToCentimeters(long microseconds)
{
return microseconds/29/2;
}
int cdsValue = analogRead(cds);
Serial.print("cds = ");
Serial.println(cdsValue);
if (cdsValue < 38 ) {
digitalWrite(led, HIGH);
} else {
digitalWrite(led, LOW);
}