/*DHT11 sensor
* vcc --> 3.3V
*Data --> 12
*NC --> /
*GND --> GND
*Servo motor
* Bruin --- GND
* Rood --- 5v
* Oranje A8
*/
// Inisialisatie servo
//#include <Servo.h> // Inporteer de servo bibiliotheek om de servo/motor aan te sturen
//Servo servo; // Maakt een servo object om de servo/motor aan te sturen
//int pos = 0; // Variable voor de positie van de servo/motor
////Bibliotheek voor communicatie met I2C
//#include <Wire.h>
//// Bibliotheek voor LCD scherm
//#include <LiquidCrystal_I2C.h >
//#include "DHT.h" // Bibiliotheek voor DHT sensor
//#define dhtPin 12 // Data pin
//#define dhtType DHT11 // Type sensor DHT11
//DHT dht(dhtPin, dhtType); // Intialiseer de DHT bibiliotheek
/*
int humidityVal; // Luchtvochtigheid
float tempValC; // Temperatuur in graden Celcius
int bodemPin = 4;
int pompPin = 2;
LiquidCrystal_I2C lcd(0x27, 20, 4);
*/
void setup(){
/* SERIELE MONITOR */
Serial.begin(9600); // Stel de seriële monitor in
Serial.println("Hello Arduino");
// TEMPERATUUR SENSOR
//dht.begin(); // De DHT sensor begint met uitlezen
// DISPLAY
//lcd.init(); // Instaleert het LCD scherm
//lcd.backlight(); // Zet het blacklight aan
// SERVO MONITOR
//servo.attach(8); // De arduino vertellen de de servo/motor op pin 8 is aangesloten
//servo.write(0); // corectie op positei
delay(40); // Pauze van 40 mili seconden
}
void monitor_print(String Tekst){
Serial.println(Tekst)
;}
/*
int get_hygro()
// return 0 = LoW en 1 is = High
{
int val = digitalRead(bodemPin);
monitor_print("Start get hygro");
return val;
}
*/
/*
void set_venster(bool status)
{
if (status)
{
// Laat de positie van de variable van 0 tot 90 lopen
pos = 90;
servo.write(pos); // Geeft de positie door aan de servo
delay(10); // Geeft de servo 10ms om naar zijn positie te draaien
lcd.setCursor(0, 1);
lcd.print("Raam Gaat Open ");
}
else {
// laat de positei van de variable van 0 tot 180 lopen
pos = 0;
servo.write(pos); // Geeft de positie door aan de servo
delay(10); // Geeft de servo 10ms om naar zijn positie te draaien
lcd.setCursor(0, 1);
lcd.print("Raam Gaat Toe ");
}
}
*/
/*
void set_pomp(bool status)
{
if (status)
{
// Activatie van de pomp
digitalWrite(pompPin, HIGH);
}
else{
// pomp ligt stil
digitalWrite(pompPin, LOW);
}
}
*/
void loop(){
// TEMP + VOCHT
/*
humidityVal = dht.readHumidity(); // Vraagt de luchtvochtigheid aan de DHT sensor
tempValC = dht.readTemperature(); // Vraagt de temperatuur aan de DHT sensor
// Controleer of alle waarden goed zijn uitgelezen, zo niet probeer het opnieuw
if (isnan(humidityVal) || isnan(tempValC)){
lcd.println("UITLEZEN VAN DHT SENSOR MISLUKT");
// Beëndig de loop() functie
return;
}
*/
// BOCEM VOCHTIGHEID
//int bodemVal = get_hygro();
/*if (grondVal != HIGH && grondVal != LOW){
lcd.println("UITLEZEN VAN DHT SENSOR MISLUKT");
// Beëndig de loop() functie
return;
}
*/
if(Serial.available()) // if there is data comming
{
char a[20];
String commando = Serial.readStringUntil('\n'); // read string until meet newline character
//Serial.println("ONTVANGEN: "+ command);
//sprintf(a, "%s", command);
//Serial.println(a);
if(commando == "RAAM OPEN"){
//set_venster(true); // turn on motor
monitor_print("raam open"); // send action to Serial Monitor
}
else
if(commando == "RAAM TOE"){
//set_venster(false); // turn off motor
monitor_print("raam toe"); // send action to Serial Monitor
}
else
if (commando == "POMP AAN"){
//set_pomp(false);
monitor_print("Pomp aan ");
}
else
if (commando == "POMP UIT"){
//set_pomp(true);
monitor_print("Pomp uit");
}
else{
Serial.println("Commando niet gevonden: ["+commando+"]");
}
}
// Print alle waarden naar de seriële monitor
// t\ print een tab
/*
lcd.setCursor(0, 0);
lcd.print("Luchtvochtigh: ");
lcd.print(humidityVal);
lcd.print("%");
lcd.setCursor(0, 2);
lcd.print("Temperatuur: ");
lcd.print(tempValC);
lcd.print((char)223); // Print ° van graden celcius
lcd.print("C ");
lcd.setCursor(0, 3);
lcd.print("Bodem: ");
lcd.print(bodemVal);
bool Status_raam = (tempValC > (20));
set_venster(Status_raam);
*/
//delay(2000) // pauze uitgedrukt in ms om de waarden uit te lezen
;}