int adcPin = A0;
void setup() {
Serial.begin(9600);
}
void loop() {
int adcRead = analogRead(adcPin);
float adcValue = map(adcRead, 0, 1023, 0, 256);
float current = adcToCurrent(adcValue);
float temperature = currentToTemperature(current);
Serial.print("ADC Value: ");
Serial.print(adcValue);
Serial.print(" | Current: ");
Serial.print(current);
Serial.print(" mA | Temperature: ");
Serial.print(temperature);
Serial.println(" °C");
delay(1000);
}
float adcToCurrent(float adcValue) {
return (adcValue * (20.0 - 4.0) / 256.0) + 4.0;
}
float currentToTemperature(float current) {
return ((current - 4.0) * (80.0 - (-30.0)) / (20.0 - 4.0)) - 30.0;
}