Batterie Spannung messen

Guten tag, folgendes Problem mit meinem Spannungsteiler..
Ich habe 2 10k wiederstände als spannungsteiler reingebaut aber wenn ich nun an pin A0 Messe(IDE Monitor) kommt immer 0.00. aber dafür wenn ich das kabel rausnehmen zeigt es mir nur 0.14V so wie es sein sollte.
Nun die Frage, warum kommt keine Spannung habe ihr eine Idee?

Mein Sketch

int statusledok = 12; //Grüne status LED wenn battery eingelegt ist
int statusledfail = 8; //Rote status LED wenn keine battery eingelegt ist
int batterylowVoltageled = 9;
int batterymidVoltageled = 10; 
int batteryfullVoltageled = 11; 
int sensorValue = A0;
//int batteryValue = 0;
int LEDblau = 2; // Farbe blau an Pin 3
int LEDrot = 4; // Farbe rot an Pin 5
int LEDgruen= 3; // Farbe gruen an Pin 6
int p=1000; // p ist eine Pause mit 1000ms also 1 Sekunde
int brightness1a = 150; // Zahlenwert zwischen 0 und 255 – gibt die Leuchtstärke der einzelnen Farbe an
int brightness1b = 150; // Zahlenwert zwischen 0 und 255 – gibt die Leuchtstärke der einzelnen Farbe an
int brightness1c = 150; // Zahlenwert zwischen 0 und 255 – gibt die Leuchtstärke der einzelnen Farbe an
int dunkel = 0; // Zahlenwert 0 bedeutet Spannung 0V – also LED aus.



//1,4 - 1,6 V keine battery
void setup(){

  Serial.begin(9600);
  pinMode(statusledok, OUTPUT);
  pinMode(statusledfail, OUTPUT);
  pinMode(batterylowVoltageled, OUTPUT);
  pinMode(batterymidVoltageled, OUTPUT);
  pinMode(batteryfullVoltageled, OUTPUT);
  pinMode(sensorValue, INPUT);
  
}
void loop(){

  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  // Convert the analog reading (which goes from 0 - 1023.00) to a voltage (0 - 5V):
  float voltage = sensorValue * (5.0 / 1023.00) / 10/(100+10);
  // print out the value you read:
  Serial.println(voltage);

  if(voltage >= 0.00 && voltage <= 0.30) {
    analogWrite(LEDrot, brightness1b); // rot einschalten
    digitalWrite(statusledok, LOW);
      digitalWrite(batterylowVoltageled, LOW);
       digitalWrite(batterymidVoltageled, LOW);
        digitalWrite(batteryfullVoltageled, LOW);
    blinkfailbattery();
    
  }

  if(voltage >= 0.40 && voltage <= 0.90){
    analogWrite(LEDgruen, brightness1c); // gruen Einschalten
    digitalWrite(statusledok, HIGH);
     digitalWrite(statusledfail, LOW);
    //digitalWrite(batterylowVoltageled, LOW);
       digitalWrite(batterymidVoltageled, LOW);
        digitalWrite(batteryfullVoltageled, LOW);
    blinklowVolatage();
  }
  
  if(voltage >= 1.00 && voltage <= 1.80){
    digitalWrite(statusledok, HIGH);
     digitalWrite(statusledfail, LOW);
      digitalWrite(batterylowVoltageled, LOW);
       digitalWrite(batterymidVoltageled, LOW);
        digitalWrite(batteryfullVoltageled, LOW);
  }
  if(voltage >= 2.00 && voltage <= 2.5) {
    digitalWrite(statusledok, HIGH);
     digitalWrite(statusledfail, LOW);
      digitalWrite(batterylowVoltageled, LOW);
       digitalWrite(batterymidVoltageled, HIGH);
        digitalWrite(batteryfullVoltageled, LOW);
  }

  if(voltage >= 2.6 && voltage  <= 5.00){
        digitalWrite(statusledok, HIGH);
     digitalWrite(statusledfail, LOW);
      digitalWrite(batterylowVoltageled, LOW);
       digitalWrite(batterymidVoltageled, LOW);
        digitalWrite(batteryfullVoltageled, HIGH);
  }
}



void blinklowVolatage(){
  digitalWrite(batterylowVoltageled, HIGH);
  delay(300);
  digitalWrite(batterylowVoltageled, LOW);
  delay(300);
  
  
}
void blinkfailbattery(){
  digitalWrite(statusledfail, HIGH);
  delay(300);
  digitalWrite(statusledfail, LOW);
  delay(300);
}

Wieso jetzt noch einen 3. Thread ?
Der zweite war schon überflüssig.
Und im zweiten habe ich dir schon geschrieben, dass du etwas falsch machst.
Da du uns aber nichts zeigst, kein Foto vom Aufbau, kein Schaltbild, wie sollen wir wissen, was du alles falsch machst.

Also ohne weitere Infos bleibt es ein stochern im Nebel.

Und warum jetzt plötzlich einen Spannungsteiler aus 2 Widerständen (Übrigens nur mit i) ?

Um eine Frage aus deinem anderen Thread zu beantworten:
Wenn du kein Handy hast um ein Blatt Papier zu fotografieren, kannst du einfache Schaltpläne auch mit notepad oder sonstwas zeichnen, Hauptsache du verwendest zum Erstellen und zum Anzeigen Zeichen mit fester Breite (Darstellung hier z.B. via Code Tag)

9V +  ---+
         |
        10k
         |
         +----> A0
         |
        10k
         |
9V - ----+-----> GND

Das ist ein Spannungsteiler, der an A0 ca. 4.5 V zu messen anlegt, wenn die 9V Batterie tatsächlich 9V liefert und der Arduino mit 5V versorgt wird.

  int sensorValue = analogRead(A0); 
  float voltage = sensorValue * (5.0 / 1023.00) / 10/(100+10); // das sollte alles (0 .. 1023) auf 0.0 ... 0.0045455 mappen.   
  Serial.println(voltage); // damit wird alles als 0.00 angezeigt

Was das soll, verstehe ich nicht.

Dominik1313:
Mein Sketch

...

Hallo Dominik,
ich habe noch einen Hinweis zur Systematik. Wenn du Fragen zum Code hast, dann ist es unbedingt wichtig ein MINIMALBEISPIEL zu basteln, was sehr klar und reduziert das Problem zeigt.

Erstens müssen die hilfsbereiten Forumsteilnehmer dann nicht 1000 Zeilen Code analysieren, zweitens lösen sich sehr viele Probleme dabei von selbst - so dass die ganze Frage überflüssig wird. :slight_smile:

Viel Erfolg bei der Fehlersuche,
Gruß, kuahmelcher.