#include <Wire.h>
#include <LiquidCrystal.h>
#include <math.h>
LiquidCrystal lcd(12, 11, 10, 9, 8, 7);
const int analogPinF = A0;
const int analogPinR = A1;
int adcValueF = 0;
int adcValueR = 0;
float voltageF = 0;
float voltageR = 0;
int adcValueFmax = 0;
int adcValueRmax = 0;
void setup() {
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop() {
lcd.clear();
adcValueFmax = 0;
adcValueRmax = 0;
for(int i = 0; i <=15; i++) {
adcValueF = analogRead(analogPinF);
adcValueR = analogRead(analogPinR);
adcValueFmax = max(adcValueF , adcValueFmax);
adcValueRmax = max(adcValueR , adcValueRmax);
}
voltageF = (adcValueFmax * 5.0) / 1024.0; //FWD
voltageR = (adcValueRmax * 5.0) / 1024.0; //REF
lcd.setCursor(0, 0);
unsigned long startTime = micros();
lcd.print("Vf: ");
unsigned long endTime = micros();
Serial.print("Execution time (µs): ");
Serial.println(endTime - startTime);
lcd.print(voltageF);
lcd.setCursor(0, 1);
lcd.print("Vr: ");
lcd.print(voltageR);
delay(1000);
}
FWD
REF
Slow
Fast
FWD
REF