Etape 21 : capteurs ! Partie 3: En utilisant les informations d’entrée (si les déclarations et comparaisons)
int sensor_mid = 511;
Maintenant, nous allons utiliser cette valeur pour allumer ou éteindre les lumières lorsque la cellule photoélectrique voit plus ou moins de lumière que la valeur médiane.
Il y a deux choses vraiment importantes qui vont aideront !
Vous pouvez le faire en utilisant le
if
déclaration et comparaisons<
et>
.Un exemple de cela est :
if(sensor_value < sensor_mid)
où j’ai Comparersensor_value
etsensor_mid
.
Nous allons prendre une seconde pour réfléchir à ce qui se passe lorsque vous utilisez un if
déclaration. Un if
déclaration vous permet de faire deux choses différentes selon que la comparaison est true
ou false
.
Un exemple de cela est :
if(sensor_value < sensor_mid)
{
// do something
} else {
// do something else
}
Essayez d’allumer le feu vert lorsque la valeur de la sonde est supérieure à la moyenne et allumer la lumière rouge lorsque la valeur de la sonde est inférieure à la moyenne !
int SENSOR_PIN = A0;
int sensor_mid = 511;
int GREEN = 2;
int YELLOW = 7;
int RED = 12;
int STREET_LIGHTS = 13;voidsetup()
{
pinMode(GREEN, OUTPUT);
pinMode(YELLOW, OUTPUT);
pinMode(RED, OUTPUT);
pinMode(STREET_LIGHTS, OUTPUT);Serial.begin(9600);
}voidloop()
{
int sensor_value = analogRead(SENSOR_PIN);
Serial.println(sensor_value);if(sensor_value < sensor_mid)
{
// your code here
}
//your code here
}void all_LEDs_off()
{
digitalWrite(GREEN, LOW);
digitalWrite(YELLOW, LOW);
digitalWrite(RED, LOW);
}void green_light()
{
all_LEDs_off();
digitalWrite(GREEN, HIGH);
}void yellow_light()
{
all_LEDs_off();
digitalWrite(YELLOW, HIGH);
}void red_light()
{
all_LEDs_off();
digitalWrite(RED, HIGH);
digitalWrite(STREET_LIGHTS, HIGH);
}