Arduino sensor kit?
Hallo, ich versuche gerade einen humidity sensor mit einem buzzer zu verbinden, so das wenn die Feuchtigkeit über 50% ist der buzzor piept
Das ist mein code:
//#define DHTPIN 3 // By default its connected to pin D3, it can be changed, define it before the #include of the library
#include "Arduino_SensorKit.h"
//uncomment line below if using DHT20
#define Environment Environment_I2C
#define BUZZER 5
void setup() {
//uncomment line below if using DHT20
Wire.begin();
Serial.begin(9600);
Environment.begin();
pinMode(BUZZER, OUTPUT);
}
void loop() {
Serial.print("Temperature = ");
Serial.print(Environment.readTemperature()); //print temperature
Serial.println(" C");
Serial.print("Humidity = ");
Serial.print(Environment.readHumidity()); //print humidity
Serial.println(" %");
delay(2000);
if (Serial.print(Environment.readHumidity())> 50)
tone(BUZZER, 85); //Set the voltage to high and makes a noise
delay(1000);//Waits for 1000 milliseconds
noTone(BUZZER);//Sets the voltage to low and makes no noise
delay(1000);//Waits for 1000 milliseconds
}
der code geht aber leider nicht und ich weiß nicht mehr was ich machen soll.
kann den vielleicht jemand reparieren?
2 Antworten
Der Fehler liegt bei deinem if statement. Du überprüfst nicht ob die feuchtigkeit > 50 ist sondern du machst einen print mit der feuchtigkeit und überprüfst dann ob der print einen wert der größer als 50 ist zurückgibt(das passirt nicht). Du musst also nur das Serial.print im if weg machen damit es funktioniert
der code geht aber leider nicht
Was genau geht nicht?
Geh Schritt für Schritt vor:
- Lese den Feuchtigkeitswert aus und schreibe ihn in die Konsole, passt das?
- Steuere den Buzzer an und schau, ob er korrekt ertönt, passt das?
- Baue beides zusammen, indem der Buzzer bei einer gewissen Feuchtigkeit ertönt.
- Wenn auch (3) geht, dann kannst du die gewünschte Feuchtigkeit einstellen. Zum Debugging am besten über die Konsole einen Wert einspielen, um den Sensor ein wenig auszukapseln. Dann siehst du, was an den Grenzwerten (unterhalb, exakt, oberhalb der Feuchtigkeit) passiert.