Programmierung der LED (Feuchtigkeitserfassung)
In diesem Abschnitt wird mithilfe der Entwicklungsumgebung von Arduino (IDE) das Ein- und Ausschalten der LED programmiert. Die LED soll lediglich innerhalb der Bodenfeuchtigkeitsstufe "Nass" leuchten.
Es wird der Programmcode aus dem vorherigen Abschnitt benötigt:
int bodenfeuchtigkeit;
int bodenfeuchtigkeit_einstufungswert = 1000;
String bodenfeuchtigkeit_stufe;
int datenpin_sensor = 34;
void setup() {
Serial.begin(9600);
}
void loop() {
bodenfeuchtigkeit = analogRead(datenpin_sensor);
Serial.println(bodenfeuchtigkeit);
if (bodenfeuchtigkeit < bodenfeuchtigkeit_einstufungswert)
{
bodenfeuchtigkeit_stufe = "Trocken";
}
else if (bodenfeuchtigkeit >= bodenfeuchtigkeit_einstufungswert)
{
bodenfeuchtigkeit_stufe = "Nass";
}
delay(500);
}
Der mit der LED verbundene Datenpin wird in der neuen Variable "datenpin_LED" gespeichert. Mithilfe der Funktion "pinMode()" wird der Datenpin als OUTPUT deklariert.
int datenpin_LED = 5;
int bodenfeuchtigkeit;
int bodenfeuchtigkeit_einstufungswert = 1000;
String bodenfeuchtigkeit_stufe;
int datenpin_sensor = 34;
void setup() {
Serial.begin(9600);
pinMode(datenpin_LED, OUTPUT);
}
void loop() {
bodenfeuchtigkeit = analogRead(datenpin_sensor);
Serial.println(bodenfeuchtigkeit);
if (bodenfeuchtigkeit < bodenfeuchtigkeit_einstufungswert)
{
bodenfeuchtigkeit_stufe = "Trocken";
}
else if (bodenfeuchtigkeit >= bodenfeuchtigkeit_einstufungswert)
{
bodenfeuchtigkeit_stufe = "Nass";
}
delay(500);
}
Die LED soll lediglich während der Bodenfeuchtigkeitsstufe "Nass" leuchten. Innerhalb des If-Statements kann mit der Funktion digitalWrite() der LED-Datenpin auf LOW bzw. HIGH geändert werden.
int datenpin_LED = 5;
int bodenfeuchtigkeit;
int bodenfeuchtigkeit_einstufungswert = 1000;
String bodenfeuchtigkeit_stufe;
int datenpin_sensor = 34;
void setup() {
Serial.begin(9600);
pinMode(datenpin_LED, OUTPUT);
}
void loop() {
bodenfeuchtigkeit = analogRead(datenpin_sensor);
Serial.println(bodenfeuchtigkeit);
if (bodenfeuchtigkeit < bodenfeuchtigkeit_einstufungswert)
{
bodenfeuchtigkeit_stufe = "Trocken";
digitalWrite(datenpin_LED, LOW);
}
else if (bodenfeuchtigkeit >= bodenfeuchtigkeit_einstufungswert)
{
bodenfeuchtigkeit_stufe = "Nass";
digitalWrite(datenpin_LED, HIGH);
}
delay(500);
}
Zuletzt geändert: Donnerstag, 1. Februar 2024, 11:22