#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,2); //ใส่address ให้ถูก0x27,0x3f
int analogPinR2 = A0; //วัดตัวบน
int analogPinR3 = A1; //วัดตัวล่าง
int analogPinR4 = A2;
int analogPinR5 = A3;
int raw = 0;
int Vin = 5;
float Vout = 0;
float R0 = 950; // value of 1k resistor
float R1 = 950;
float R2 = 0;
float R3 = 0;
float buffer = 0;
const int ledPin = 2;
int ledState = LOW;
unsigned long previousMillis = 0;
const long interval = 1000; // ช่วงเวลากระพริบ
void setup(){
lcd.begin(16,4);
lcd.setCursor(2, 0);
lcd.print("Resistance Meter");
lcd.setCursor(1, 3);
lcd.print("NXP semiconductors");
pinMode(ledPin, OUTPUT);
}
void loop(){
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= interval) {
previousMillis = currentMillis;
/////////
if (ledState == LOW) {
ledState = HIGH;
} else {
ledState = LOW;
}
digitalWrite(ledPin, ledState);
}
if (ledState == LOW){
lcd.setCursor(0,1);
lcd.print("K1");}
else { lcd.setCursor(0,1);
lcd.print("K2");}
raw = analogRead(analogPinR2);
if(raw==0){lcd.setCursor(2,1 ); ///LCD แถวที่1
lcd.print(" ---- ");}
if(raw){
buffer = raw * Vin;
Vout = (buffer)/1023.0;
buffer = (Vin/Vout) - 1;
R2 = R0 * buffer;
lcd.setCursor(5, 1);
if(R2>999.99){
lcd.print(R2/950);
lcd.print(" K Ohm ");
}else{
lcd.setCursor(5, 1);
lcd.print(R2);
lcd.print(" Ohm ");
}
}
////////////////////////////////
raw = analogRead(analogPinR3);
if(raw==0){lcd.setCursor(0,2 ); ///LCD แถวที่2
lcd.print(" ---- ");}
if(raw){
buffer = raw * Vin;
Vout = (buffer)/1023.0;
buffer = (Vin/Vout) - 1;
R3 = R1 * buffer;
lcd.setCursor(5, 2);
if(R3>999.99){
lcd.print(R3/950);
lcd.print(" K Ohm ");
}else{
lcd.setCursor(5, 2);
lcd.print(R3);
lcd.print(" Ohm "); /////////สิ้นสุด 1,2
}
}
delay(10);
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5
r1:1
r1:2
r2:1
r2:2
relay1:NO2
relay1:NC2
relay1:P2
relay1:COIL2
relay1:NO1
relay1:NC1
relay1:P1
relay1:COIL1
lcd1:GND
lcd1:VCC
lcd1:SDA
lcd1:SCL
led1:A
led1:C