/*Potentsiometer with 3 leds */
const int RP_pin = 12;
const int LED1 = 17;
const int LED2 = 4;
const int LED3 = 2;
int RP_val;
//#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); // set the LCD address to 0x3f for a 16 chars and 2 line display
//float potnvolt;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(RP_pin, INPUT);
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
Serial.begin(9600);
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Pot with 3 leds");
delay(5000);
lcd.clear();
analogReadResolution(10);
}
void loop()
{
RP_val = analogRead(RP_pin);
//potnvolt=(float)(digitpotnval*5.0)/1023;
Serial.print(RP_val);
Serial.print("\n");
//Serial.println(digt_poten_val);
lcd.setCursor(0, 1);
lcd.print("RP_val=");
lcd.setCursor(7, 1);
lcd.print(RP_val);
delay(1000);
lcd.clear();
if (RP_val <=250)
{
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
}
else if ((RP_val>255)&&(RP_val <=510))
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
}
else if ((RP_val>510)&&(RP_val <=765))
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
}
else if (RP_val>765)
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
}
}