#include <Servo.h> // Includes servo library
#define E1 10 // Enable Pin for motor 1
#define E2 11 // Enable Pin for motor 2
#define I1 8 // Control pin 1 for motor 1
#define I2 9 // Control pin 2 for motor 1
#define I3 4 // Control pin 1 for motor 2
#define I4 5 // Control pin 2 for motor 2
#define I5 3
#define I6 2
int servoPin = 7;
int servoPin1 = 12;
// Create a servo object
Servo Servo1;
Servo Servo2;
void setup() {
pinMode(I6, INPUT);
pinMode(13, OUTPUT);
Servo1.attach(servoPin);
Servo2.attach(servoPin1);
pinMode(E1, OUTPUT);
pinMode(E2, OUTPUT);
pinMode(I1, OUTPUT);
pinMode(I2, OUTPUT);
pinMode(I3, OUTPUT);
pinMode(I4, OUTPUT);
pinMode(I5, OUTPUT);
Serial.begin(9600);
}
void loop() {
// read the input on analog pin 0 and 1:
int voltage6 = digitalRead(2);
int sensorValue3 = analogRead(A3);
int sensorValue4 = analogRead(A2);
int sensorValue1 = analogRead(A0);
int sensorValue2 = analogRead(A1);
// Convert the analog reading (which goes from 0 - 1023) to a voltage (0 - 5V):
float voltage1 = sensorValue1 * (5.0 / 1023.0);
float voltage2 = sensorValue2 * (5.0 / 1023.0);
float voltage3 = sensorValue3 * (5.0 / 1023.0);
float voltage4 = sensorValue4 * (5.0 / 1023.0);
//Check if the button is pressed
if (voltage1==5.00 && digitalRead(3)==LOW)
{
Servo1.write(180);
Servo2.write(180);
delay(1000);
Serial.begin(9600);
analogWrite(E1, 255); // Run in full speed
analogWrite(E2, 255); // Run in half speed
do{
digitalWrite(I1, HIGH);
digitalWrite(I2, LOW);
digitalWrite(I3, HIGH);
digitalWrite(I4, LOW);
int sensorValue5 = analogRead(A5);
float voltage5 = sensorValue5 * (5.0 / 1023.0);
Serial.println(voltage5);
} while (analogRead(A5)!=5.00);
delay(7000);
digitalWrite(I1, LOW);
digitalWrite(I2, LOW);
digitalWrite(I3, LOW);
digitalWrite(I4, LOW);
delay(15000);
digitalWrite(I1, LOW);
digitalWrite(I2, HIGH);
delay(2000);
digitalWrite(I3, LOW);
digitalWrite(I4, HIGH);
delay(7000);
digitalWrite(I1, LOW);
digitalWrite(I2, LOW);
digitalWrite(I3, LOW);
digitalWrite(I4, LOW);
Servo1.write(0);
Servo2.write(0);
}
else if (voltage2==5.00 && digitalRead(3)==LOW)
{
Servo1.write(170);
Servo2.write(170);
}
else if (voltage3==5.00)
{
digitalWrite(I5, HIGH);
}
else if (voltage4==5.00)
{
digitalWrite(I5, LOW);
}
else
{
digitalWrite(13, HIGH);
}
}
I am getting wrong inputs from Analog port on my Arduino Uno. Even when it is nothing connected to that Analog input I am getting reads of voltage on serial monitor. What should I do?
Nothing connected and getting this:
