Forum: Mikrocontroller und Digitale Elektronik LDR, Arduino


von Simon N. (ardi)


Lesenswert?

Hi,
ich habe gerade ein Projekt mit LDRs an meinem Arduino.
Ich möchte, wenn eine Flasche auf dem LDR steht (also ist es ja dunkel), 
dass der Wert der LDR auf 1 geht.
Meine Frage ist jetzt ob ich dass so machen kann:
1
int sensorWert=0;
2
3
void setup(){
4
5
}
6
7
void loop(){
8
sensorWert=analogRead(A0);
9
10
if(sensorWert==HIGH){
11
sensorWert=1;
12
}
13
14
}
Mir kommt das nicht sehr schlüssig vor.
Vielen Dank und Gruß

von MaWin (Gast)


Lesenswert?

> sensorWert=analogRead(A0);
> if(sensorWert==HIGH){
> sensorWert=1;
> Mir kommt das nicht sehr schlüssig vor.

Warum schriebst du's dann ?

Wie ist denn HIGH definiert?

Es ist ziemlich unwahrscheinlich, da0 der gelieferte Helligkeitswert 
gerade dem einem von 1024 möglichen Werten entspricht.

Vielleicht wolltest du mit > oder < prüfen.

Auch ist es unübersichtlich, sensorWert für 2 Dinge zu benuten,
als ausgelesen Wert und als Ergrbnis des Vergleichs.

Und ziemlich falsch ihn dann noch bei fehlgeschlagenem Vergeich 
unangetastet zu lassen.

sensorWert=analogRead(A0);
istDunkel=sensorWert<512; (oder >512, je nach dem wierum der LDR 
angeschlossen ist).

von Sly (Gast)


Lesenswert?

du kannst das so machen :
1
int val;
2
int sensorWert = 0;
3
4
void setup(){
5
6
}
7
8
void loop(){
9
val = analogRead(A0);
10
sensorWert = map (val,0,1023,0,1);
11
12
if(sensorWert == 1){
13
TUIRGENWAS;
14
}
15
16
}

nun man man nur noch den grenzwert aus experimentieren und und die 1023 
in der umrechnung evtl nach untenanpassen.

von Markus (Gast)


Lesenswert?

Oder so:
1
int sensorWert = 0;
2
const int SensorSchwelle = 512;
3
4
void setup(){
5
}
6
7
void loop(){
8
sensorWert = analogRead(A0);
9
if(sensorWert > SensorSchwelle){
10
  //tuwas();
11
  }
12
}

Beispiel:
http://www.hobbytronics.co.uk/arduino-tutorial8-nightlight

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.