Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include "RTClib.h"
- #include <dht.h>
- char blueToothVal;
- int serialInt = 0;
- int fan = 7;
- int water = 8;
- int moisture = 0;
- boolean autoMod = false;
- boolean set = false;
- boolean maxTempB = false;
- boolean minTempB = false;
- boolean maxMoisB = false;
- boolean minMoisB = false;
- int maxTemp = 30;
- int maxMois = 400;
- int minTemp = 20;
- int minMois = 150;
- RTC_DS1307 RTC;
- dht DHT;
- #define DHT11_PIN 2
- void setup() {
- Wire.begin();
- RTC.begin();
- pinMode(fan, OUTPUT);
- pinMode(water, OUTPUT);
- Serial.begin(9600);
- digitalWrite(fan, LOW);
- digitalWrite(water, LOW);
- }
- void loop() {
- if(autoMod){
- if(!digitalRead(fan) && DHT.temperature > maxTemp){
- digitalWrite(fan, HIGH);
- }
- else if(digitalRead(fan) && DHT.temperature < minTemp){
- digitalWrite(fan, LOW);
- }
- }
- if(Serial.available()){
- blueToothVal=Serial.read();
- serialInt = Serial.parseInt();
- }
- if(blueToothVal != 0 || serialInt != 0){
- if(!set){
- if (blueToothVal=='u'){
- getUpdate();
- }
- else if(blueToothVal=='f' && !autoMod){
- if(!digitalRead(fan)){
- digitalWrite(fan, HIGH);
- Serial.println("Fan is On");
- }
- else if(digitalRead(fan)){
- digitalWrite(fan, LOW);
- Serial.println("Fan is Off");
- }
- blueToothVal = 0;
- }
- else if(blueToothVal=='w' && !autoMod){
- if(!digitalRead(water)){
- digitalWrite(water, HIGH);
- Serial.println("Water is On");
- }
- else if(digitalRead(water)){
- digitalWrite(water, LOW);
- Serial.println("Water is Off");
- }
- blueToothVal = 0;
- }
- else if(blueToothVal=='a'){
- if(autoMod){
- autoMod = false;
- }
- else if(!autoMod){
- autoMod = true;
- }
- getUpdate();
- blueToothVal = 0;
- }
- else if(blueToothVal=='s'){
- set = true;
- Serial.println("W/F");
- blueToothVal = 0;
- }
- }
- else if(set){
- if(minTempB){
- if(serialInt < maxTemp){
- minTemp = serialInt;
- serialInt = 0;
- minTempB = false;
- set = false;
- Serial.println(minTemp);
- }
- else{
- Serial.println("please enter a smaller value than max temperature!");
- serialInt = 0;
- }
- }
- else if(maxTempB){
- maxTemp = serialInt;
- serialInt = 0;
- maxTempB = false;
- minTempB = true;
- Serial.println(maxTemp);
- Serial.println("Give min Temperature value.");
- }
- else if(minMoisB){
- if(serialInt < maxMois){
- minMois = serialInt;
- serialInt = 0;
- minMoisB = false;
- set = false;
- Serial.println(minMois);
- }
- else{
- Serial.println("please enter a smaller value than max moisture!");
- serialInt = 0;
- }
- }
- else if(maxMoisB){
- maxMois = serialInt;
- serialInt = 0;
- maxMoisB = false;
- minMoisB = true;
- Serial.println(maxMois);
- Serial.println("Give min Moisture value.");
- }
- if(blueToothVal == 'f'){
- Serial.println("Give max Temperature value.");
- maxTempB = true;
- }
- else if(blueToothVal == 'w'){
- Serial.println("Give max Moisture value.");
- maxMoisB = true;
- }
- blueToothVal = 0;
- }
- }
- }
- void getUpdate(){
- DateTime now = RTC.now();
- Serial.print(now.year(), DEC);
- Serial.print("/");
- Serial.print(now.month(), DEC);
- Serial.print("/");
- Serial.print(now.day(), DEC);
- Serial.print(" ");
- Serial.print(now.hour(), DEC);
- Serial.print(":");
- Serial.print(now.minute(), DEC);
- Serial.print(":");
- Serial.print(now.second(), DEC);
- Serial.println();
- int chk = DHT.read11(DHT11_PIN);
- if(DHT.temperature > -30){
- Serial.print("Temperature = ");
- Serial.println(DHT.temperature);
- Serial.print("Humidity = ");
- Serial.println(DHT.humidity);
- Serial.print("Auto Mod = ");
- Serial.println(autoMod);
- Serial.println();
- Serial.print("Max Temp = ");
- Serial.println(maxTemp);
- Serial.print("Min Temp = ");
- Serial.println(minTemp);
- Serial.println();
- Serial.print("Max Mois = ");
- Serial.println(maxMois);
- Serial.print("Min Mois = ");
- Serial.println(minMois);
- Serial.println();
- blueToothVal = 0;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement