Dans ce projet, vous pouvez utiliser un LDR pour allumer ou éteindre les lumières, selon que plus ou moins de lumière brille.
Pour ce projet, nous utilisons un LDR. LDR est l'abréviation de résistance dépendant de la lumière. Ce qui signifie que la résistance dépend de la quantité de lumière qui brille dessus. Plus la lumière brille sur le LDR, plus la résistance diminue.
On peut lire une valeur du LDR avec l'Arduino. Dans ce projet, nous attachons différentes valeurs aux lumières LED. Nous faisons cela de telle manière que si plus de lumière brille dessus, plus de lumières LED s'allumeront. Nous faisons cela avec les portes logiques if else et la fonction de lecture analogique. Dans la partie programmation, j'explique ce que ces fonctions impliquent.
ammer.
- Niveau - Débutant 30%
- Durée - 10/15 Min 30%
- Coûts - 31,24 € complets 30%
Étape 1: Fournitures
1X Arduino UNO
1X painboard
15X fils de cavalier
Voyant lumineux 5X LED
1X LDR
Résistance 6X 220 ohms
Étape 2: Construire et câbler
Étape 3: programmation
Lorsque vous avez tout connecté correctement, vous pouvez commencer la programmation.
Le code de ce projet est assez court. Dans le code, nous utilisons le lecture analogique fonction et sinon portes logiques.
Nous utilisons la fonction de lecture analogique pour lire la valeur de la broche analogique. C'est la valeur du LDR. Ensuite, nous utilisons les portes logiques if else.
Au moment où la valeur correspond (c'est-à-dire si c'est le cas), la lumière s'allume. Si la valeur ne correspond pas (c'est-à-dire autrement), le voyant ne s'allumera pas.
//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);
}
}