Stap 6: Stap 6: Code
/*---------------------------------------------------------------
TUINIEREN
----------------------------------------------------------------*/
initialiseren van de sensor pinnen
int light_sensor = A0;
int humidity_sensor = A2;
int temperature_sensor = a1 worden verkregen;
initialiseren LED jumperpennen of OUTPUT pinnen / /
int light_led = 13;
int humidity_led = 12;
int temperature_led = 11;
initialiseren van de zoemer (optioneel omdat het gebruikt om de gebruiker te waarschuwen
int zoemer = 10;
initialiseren van de invoerwaarden voor sensor pinnen / /
int light_sensor_value = 0;
int humidity_sensor_value = 0;
float temperature_sensor_value;
VOID Setup
{
Serial.begin(9600); voor problemen schieten of waarden controleren
pinMode(light_led,OUTPUT);
pinMode(humidity_led,OUTPUT);
pinMode(temperature_led,OUTPUT);
pinMode(buzzer,OUTPUT);
}
VOID buzz()
{
digitalWrite(buzzer,HIGH);
delay(200);
digitalWrite(buzzer,LOW);
delay(200);
}
void loop
{
het lezen van de waarden van de sensor-pinnen
light_sensor_value=analogRead(light_sensor);
humidity_sensor_value=analogRead(humidity_sensor);
temperature_sensor_value=analogRead(temperature_sensor);
de LM35 of temperatuur sensor kalibreren
temperature_sensor_value = temperature_sensor_value * 0.48828125;
de waarden controleren die via de seriële monitor
Serial.Print("Light=");
Serial.Print(light_sensor_value);
Serial.Print("\thumidity=");
Serial.Print(humidity_sensor_value);
Serial.Print("\ttemp=");
Serial.Print(temperature_sensor_value);
Serial.Print("*C");
Serial.println();
delay(100);
schrijven van voorwaarden om de gebruiker te waarschuwen
Als (light_sensor_value < = 100)
{
digitalWrite(light_led,HIGH);
Buzz();
}
anders
digitalWrite(light_led,LOW);
if(humidity_sensor_value<200|| humidity_sensor_value > = 800)
{
digitalWrite(humidity_led,HIGH);
Buzz();
}
anders
digitalWrite(humidity_led,LOW);
if(temperature_sensor_value<18|| temperature_sensor_value > 25)
{
digitalWrite(temperature_led,HIGH);
Buzz();
}
anders
digitalWrite(temperature_led,LOW);
delay(50);
}