Translate

Monitor Kelembaban Tanah dan Kendali Pompa via TELEGRAM

 Monitor Kelembaban Tanah dan Kendali Pompa via TELEGRAM
 

           Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat dengan menggunakan Wemos D1 yang dapat mengendalikan pompa dan monitor RH tanah melalui aplikasi telegram. keunggulan melalui telegram yaitu berbasis chat sehingga kita bisa monitor RH jika kita butuhkan saja dan juga untuk mengendalikan pompa juga seperti kita chat dengan seseorang sehingga lebih mudah digunakan. untuk lebih jelasnya berikut adalah program dan daftar komponennya.
 
 
 
a. Wemos D1
 

 
 
b. Modul Relay
 

 
 
c. Sensor Kelembaban Tanah
 

 
 
d. LCD + I2C
 

 
 
e. Setting Telegram








 
f. Program Arduino IDE versi 1.8.4
 
#include <CTBot.h>
CTBot myBot;
 
String ssid  = "Hotspotku OK";
String pass  = "123456789";
String token = "3876092376:JHGJHgjhgjhfsdadswqepioIPOPHHKJHBnbix";

int dryValue = 1023;
int wetValue = 0;
int friendlyDryValue = 100;
int friendlyWetValue = 0;

int rawValue;
float mapping;
const int mout1 = 14;                        
 float nddi1;
 
void setup() {
  // initialize the Serial
  Serial.begin(9600);
   
  Serial.println("Starting TelegramBot...");
  myBot.wifiConnect(ssid, pass);
  myBot.setTelegramToken(token);
 
  // check if all things are ok
  if (myBot.testConnection())
    Serial.println("\ntestConnection OK");
  else
    Serial.println("\ntestConnection NOK");

 pinMode(mout1, OUTPUT);
  // set the pin connected to the LED to act as output pin
  //digitalWrite(mout1, HIGH); // turn off the led (inverted logic!)
 
}
 
void loop() {
 
      rawValue = analogRead(A0);          
 //mapping = map(rawValue, dryValue, wetValue, friendlyDryValue, friendlyWetValue);
 //nddi = mapping /100;

  nddi1 = map(rawValue, dryValue, wetValue, friendlyDryValue, friendlyWetValue);

 

  // a variable to store telegram message data
  TBMessage msg;
 
  // if there is an incoming message...
   if (myBot.getNewMessage(msg)) {
    if (msg.text.equalsIgnoreCase("Hum")) {
    Serial.print("Kelembaban saat ini : ");
    Serial.println(nddi1);   
     String rawValue = "Kelembaban saat ini  : ";
      rawValue += int(nddi1);
      rawValue += "  %\n";
       myBot.sendMessage(msg.sender.id, rawValue,""); //Balasan dari perangkat ke Bot Telegram
    }

    if (msg.text.equalsIgnoreCase("On")) {                   //Perintah dari telegram ke perangkat
      digitalWrite(mout1, HIGH);                              //Lampi dihidupkan
      myBot.sendMessage(msg.sender.id, "The Pump is now ON"); //Balasan dari perangkat ke Bot Telegram
    }
    else if (msg.text.equalsIgnoreCase("Off")) {              //Perintah dari telegram ke perangkat
      digitalWrite(mout1, LOW);                              //Lampi dihidupkan
      myBot.sendMessage(msg.sender.id, "The Pump is now OFF"); //Balasan dari perangkat ke Bot Telegram
    }
    else {                                                    // otherwise...
      // generate the message for the sender
      String reply;
      reply = (String)"Welcome " + msg.sender.username + (String)". Try PUMP ON or PUMP OFF.";
      myBot.sendMessage(msg.sender.id, reply);    
     // and send it
    
    }
   
  }
  // wait 500 milliseconds
  delay(3000);
}
 
 
 
 
g. VIDEO HASILNYA
 

 
 
 
 

No comments:

Post a Comment