Analogwert in Spannung umrechnen

Hallo, ich finde den Fehler in Sketsch nicht Bitte um Hilfe.

// V= Spannung C =Strom RM=Wiederstand
int V1 =0;
int V2 =0;
int V3 =0;
const int RM = 2;
int C =0;

void setup() {
    Serial.begin(9600);
}

void loop() {
 
int messWert1 = analogRead(A0);              // Analogwert einlesen
V1 = map(messWert1, 0, 1023, 0, 5);
 
int messWert2 = analogRead(A1);              // Analogwert einlesen
V2 = map(messWert2, 0, 1023, 0, 5);
 
V3 = V1-V2;
C = V3/RM;
 }

Hallo uno9912335

Welchen Fehler?

wenn du in Integer rechnest erhältst du "Spannungen" in ganzen Volt. Also 0, 1, 2, 3, 4, Volt.
Bist du dir sicher dass du das willst?
rechne in "Zehntel Volt",
ändere die Map auf

V1 = map(messWert1, 0, 1024, 0, 50);

Tipp 1:
Für absolute Messungen verwendet man die interne (oder eine Externe) Referenz. Für ratiometrischen Messungen Vcc als Referenz.

Tipp 2:
Zweipunkt Kalibrierung und Geradengleichung

Im Sketch ist kein Fehler. (Außer dass Widerstand nicht mit ie geschrieben wird)

Wenn du
    Serial.println(C); delay(100);
einfügst, kannst du Ausgaben im Bereich -2 ... 2 sehen, je nach den Spannungen an A0 und A1.

Glaskugel-Tipp 0: Integer-Arithmetik rundet nicht.

// V= Spannung C =Strom RM=Wiederstand
float V1 =0;
float V2 =0;
float V3 =0;
const int RM = 2;
float C =0;

void setup() {
    Serial.begin(9600);
}

void loop() {
 
int messWert1 = analogRead(A0);              // Analogwert einlesen
V1 = map(messWert1, 0, 1023, 0, 50);
 
int messWert2 = analogRead(A1);              // Analogwert einlesen
V2 = map(messWert2, 0, 1023, 0, 50);
 
V3 = V1-V2;
C = V3/RM;
 Serial.println(C); 
delay(100)
 }

Was meinst du damit? Davon hab ich noch nichts Gehört

Im online Entwicklung Umgebung Wie ihmer ein Fehler Angezeigt wen ich Auf den Harken klicke

Welcher ?

Wenn du am Ende der Zeile
delay(100)

ein ; einfügst, sollte es übersetzen.
Hochladen und im SerialMonitor schauen.

Dein Code in #1 ließ sich jedenfalls problemlos übersetzen.
Da konnte man nur nicht sehen, ob überhaupt was passiert.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.