int relay = 13; // Plug the relay into Digital Pin 13
void setup() {
//Initialize serial monitor at 9600 baudrate
Serial.begin(9600);
pinMode(relay, OUTPUT);
}
void loop()
{
//Reading analog input from A0 pin - it reads as a digital value 0-1023
int digitalValue = analogRead(0);
//Converting digital value to voltage - so we can print it as Voltage
double voltage = (digitalValue * 5 ) / 1023.0;
//Turn the LED on only if the voltage is between 2.9 and 4.2.
//Under 2.9 or above 4.2 - turn off the LED
if ( voltage > 2.9 && voltage < 4.2) {
digitalWrite(relay, HIGH); // Turn on the relay
DisplayData(digitalValue, voltage);
if (voltage == 2.9){
Serial.print("Exactly 2.9V!");
}
}
if ( voltage < 2.9 or voltage > 4.2) {
digitalWrite(relay, LOW); // Turnoff the relay
DisplayData(digitalValue, voltage);
for (int i = 0; i < 6; i++) {
Serial.print(analogRead(i));
Serial.print("--");
delay(500);
}
}
/*
digitalWrite(relay, HIGH); // Turn the relay on
delay(1000); // Wait 1 second
digitalWrite(relay, LOW); // Turn the relay Off
delay(1000); // Wait 1 second
*/
}
void DisplayData(int DigValue, double Volt){
//Printing digital value in serial monitor
Serial.print("Digital Value: ");
Serial.print(DigValue);
//Printing measured input voltage in serial monitor
Serial.print(", input voltage: ");
Serial.println(Volt, 3);
//delay(500);
}