Advertisement
andretafta

Smartgreenhouse_NewThingerIO

Jan 25th, 2022
1,939
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <ESP8266WiFi.h> //Library untuk konek ke Wi-Fi
  2. #include <ThingerESP8266.h> //Library untuk terhubung ke Thinger
  3. #include <NewPing.h> //Library untuk HC-SR04
  4.  
  5. #define USERNAME "idn8ad" //Username Thinger IO
  6. #define DEVICE_ID "MCU8D" //Device ID Thinger IO
  7. #define DEVICE_CREDENTIAL "HxvZ5Glq3HjMNh" //Device Credential
  8. #define SSID "esp" //SSID Wi-Fi
  9. #define SSID_PASSWORD "12345678" //Password Wi-Fi
  10.  
  11. #define TRIGGER_PIN D5 //Pin Trigger HC-SR04 pada NodeMCU
  12. #define ECHO_PIN D6 //Pin Echo HC-SR04 pada NodeMCU
  13. #define MAX_DISTANCE 250 //Maksimum Pembacaan Jarak (cm)
  14. #define pinYL A0 //pin Analog YL-69
  15. #define Lampu D2 //Pin LED
  16.  
  17. ThingerESP8266 thing(USERNAME, DEVICE_ID, DEVICE_CREDENTIAL); //Aktifkan Fungsi Thinger IO
  18. NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); //Aktifkan Fungsi HCSR-04
  19. int outputValue; //Variabel untuk Output YL-69
  20.  
  21. void setup() {
  22. pinMode(Lampu, OUTPUT); //Set LED sebagai Output
  23. digitalWrite(Lampu, LOW); //Set nilai LED = 0
  24.  
  25. thing.add_wifi(SSID, SSID_PASSWORD); //Mencoba terhubung ke Wi-Fi dan Thinger IO
  26.  
  27. //Fungsi untuk Kontrol Lampu dengan Topik Lampu
  28. thing["Lampu"] << [](pson& in){
  29. if(in.is_empty()){
  30. in = (bool) digitalRead(Lampu);
  31. }
  32. else{
  33. digitalWrite(Lampu, in ? HIGH : LOW);
  34. }
  35. };
  36.  
  37. //Mengirim Pembacaan Sensor HCSR-04 ke Thinger IO
  38. thing["HCSR04"] >> [](pson& out){
  39. out["Jarak"] = sonar.ping_cm();
  40. };
  41.  
  42. //Mengirim Pembacaan Sensor YL-69 ke Thinger IO
  43. thing["Soil_Moisture"] >> [](pson& out){
  44. outputValue = analogRead(pinYL);
  45. outputValue = map(outputValue, 1024, 250, 0, 100);
  46. out["Moisture"] = outputValue;
  47. };
  48. }
  49.  
  50. void loop() {
  51. //Menjalankan fungsi Thinger IO
  52. thing.handle();
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement