/* Hello Wokwi! */
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// MultiTasking Microcontroller arduino
unsigned long Updated;
unsigned long lastReconnectAttempt1 = 0;
// Pin Variable Sensor
int Analog_InputA = A3; // Pin Input Analag Sensor Negative Pressure A
int Analog_InputB = A1; // Pin Input Analag Sensor Negative Pressure B
int Sensor_ValueA = 0 ; // Value digunakan untuk Kalirasi Sensor
int Sensor_ValueB = 0 ; // Value digunakan untuk Kalirasi Sensor
void setup() {
Serial.begin(9600); // Memulai Komuunikasi Serial USB
lcd.begin(16,2); // Menyeting Jumlah Character LCD 16 X 2
lcd.setBacklight(255); // Setting Kecerahan LCD Maximum
pinMode(Analog_InputA,INPUT_PULLUP); // Set Mode Pin input Sensor to Input_Pullup
pinMode(Analog_InputB,INPUT_PULLUP); // Set Mode Pin input Sensor to Input_Pullup
}
void loop() {
Updated = millis(); // Update Mutitasking
update300ms(); // Void Update every 300ms
}
// update 300ms
void update300ms()
{ if ( Updated - lastReconnectAttempt1 > 300)
{ lastReconnectAttempt1 = Updated;
Sensor_ValueA = analogRead(Analog_InputA);
Sensor_ValueA = map(Sensor_ValueA,102,920,-100,0);
Sensor_ValueB = analogRead(Analog_InputB);
Sensor_ValueB = map(Sensor_ValueB,102,920,-100,0);
lcdupdate1();
Serial_Update();
}
}
////////////////////////////////////////////////*******//////////////////////////////////////////
void lcdupdate1() // Update LCD Value
{ lcd.setCursor(0,0);
lcd.print(F("SensA:"));
lcd.setCursor(6,0);
lcd.print (F(" "));
lcd.setCursor(6,0);
if ( Sensor_ValueA <= -100 )
{ lcd.print(F("Short"));}
if ( Sensor_ValueA > -100 && Sensor_ValueA <= 8 )
{ lcd.print (Sensor_ValueA);}
if ( Sensor_ValueA > 8 )
{ lcd.print(F("Open"));}
lcd.setCursor(13,0);
lcd.print(F("kPa"));
lcd.setCursor(0,1);
lcd.print(F("SensB:"));
lcd.setCursor(6,1);
lcd.print (F(" "));
lcd.setCursor(6,1);
if ( Sensor_ValueB <= -100 )
{ lcd.print(F("Short"));}
if ( Sensor_ValueB > -100 && Sensor_ValueB <= 8 )
{ lcd.print (Sensor_ValueB);}
if ( Sensor_ValueB > 8 )
{ lcd.print(F("Open"));}
lcd.setCursor(13,1);
lcd.print("kPa");
}
void Serial_Update() // Print To USB Serial
{
Serial.print ("Negative_Pressure_Is = ");
Serial.print (Sensor_ValueA);
Serial.print (" ");
Serial.print (Sensor_ValueB);
Serial.println (" kPa");
}