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);
}