Hallo, ich bin neu im Forum und hoffe das ich nicht übersehen habe, aber ich habe per SuFu nix passendes gefunden.
Zum Thema:
Ich habe eine Photodiode die ich auslesen möchte. Die Photodiode wird mit einer Roten- und einer IR- LED beleuchtet. Später soll aus der Signaländerung ein Quotient gebildet werden (soweit bin ich noch nicht). Den Spannungswert der Photodiode wird per analogRead am A1-Pin ausgelesen. Diesen Wert gebe ich auf ein 16x2 Display aus. Mein Problem ist, dass der Analogwert nicht stabil ist.
Aus der Photodiode kommt mit zugehöriger Elektronik in Abhängigkeit der Beleuchtungsstärke eine Spannung von 0,05-3,50V
Die Spannung am Eingang ist bei gleicher Beleuchtungsstärke konstant. Mein Analogwert hingegen schwankt ziemlich(sinnvolles Ablesen per Display ist nicht möglich)
Ich weiß nicht ob ich auf der Leitung stehe, aber ich finde den Fehler nicht.
//Festlegen der Variablen
#include <LiquidCrystal.h>
LiquidCrystal lcd(8,9,10,11,12,13);
//(rs,enable,d4,d5,d6,d7)
int indikatorR = 5;
int indikatorG = 4;
int ledR = 3;
int ledIR = 2;
int sensorR = 0;
int sensorIR = 0;
void setup () {
pinMode(ledR, OUTPUT);
pinMode(ledIR, OUTPUT);
pinMode(indikatorR, OUTPUT);
pinMode(indikatorG, OUTPUT);
lcd.begin(16,2);
// Serial.begin(9600);
}
void loop (){
digitalWrite(ledR,HIGH);
digitalWrite(ledIR,LOW);
delay(1);
sensorR = analogRead(A1);
lcd.setCursor(0,0);
// lcd.print("Rot");
// lcd.setCursor(5,0);
lcd.print(sensorR);
delay(500);
// Serial.println(sensorR);
digitalWrite(ledR,LOW);
digitalWrite(ledIR,HIGH);
delay(1);
sensorIR = analogRead(A1);
lcd.setCursor(0,1);
// lcd.print("IR");
// lcd.setCursor(5,1);
lcd.print(sensorIR);
// Serial.println(sensorIR);
delay(500);
}
Ich hoffe mir kann einer helfen.
Beste Grüße
Florian