In diesem Projekt lassen Sie ein LDR-Licht ein- oder ausschalten, je nachdem, ob mehr oder weniger Licht scheint.
Für dieses Projekt verwenden wir einen LDR. LDR steht für lichtabhängigen Widerstand. Dies bedeutet, dass der Widerstand von der Menge des auf ihn strahlenden Lichts abhängt. Je mehr Licht auf den LDR scheint, desto geringer ist der Widerstand.
Wir können mit dem Arduino einen Wert aus dem LDR lesen. In diesem Projekt hängen wir verschiedene Werte an die LED-Leuchten. Wir tun dies so, dass mehr LED-Lichter aufleuchten, wenn mehr Licht darauf scheint. Wir tun dies mit if else-Logikgattern und der Analogread-Funktion. Im Programmierteil erkläre ich, was diese Funktionen bedeuten.
ammer.
- Level - Anfänger 30%
- Dauer - 10/15 min 30%
- Kosten - 31,24 € abgeschlossen 30%
Schritt 1: Anforderungen
1X Arduino UNO
1x Brotboard
15X Überbrückungskabel
5X LED-Licht
1X LDR
6X 220 Ohm Widerstand
Schritt 2: Bauen und Verkabeln
Schritt 3: Programmierung
Sobald Sie alles richtig angeschlossen haben, können Sie mit der Programmierung beginnen.
Der Code für dieses Projekt ist ziemlich kurz. Im Code verwenden wir die analog lesen Funktion und wenn sonst Logikgatter.
Wir verwenden die Analogread-Funktion, um den Wert des Analog-Pins zu lesen. Dies ist der Wert des LDR. Dann verwenden wir die if else-Logikgatter.
In dem Moment, in dem der Wert übereinstimmt (wenn ja), geht das Licht bei uns an. Wenn der Wert nicht übereinstimmt (wie auch sonst), ist das Licht aus.
//hier zetten we alle componenten op een pin
int sensor = A0;
int led1 = 2;
int led2 = 3;
int led3 = 4;
int led4 = 5;
int led5 = 6;
int Value = 0;
void setup(){
//hier zorgen we dat die pinnen een puls geven
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
}
void loop(){
//nu zorgen we ervoor dat hij A0 leest
Value = analogRead(sensor);
delay(100);
//nu laten we het lampje aangaan
//als de waarde 110 of hoger is
if(Value >= 110){
digitalWrite(led1, HIGH);
}else{
//anders gaat hij uit
digitalWrite(led1, LOW);
}
if(Value >= 125){
digitalWrite(led2, HIGH);
}else{
digitalWrite(led2, LOW);
}
if(Value >= 140){
digitalWrite(led3, HIGH);
}else{
digitalWrite(led3, LOW);
}
if(Value >= 155){
digitalWrite(led4, HIGH);
}else{
digitalWrite(led4, LOW);
}
if(Value >= 170){
digitalWrite(led5, HIGH);
}else{
digitalWrite(led5, LOW);
}
}