Translate

Monitor PH dan Turbidity IOT Blynk 2.0 Nodemcu ESP8266 dan Modul ADS1115

Monitor PH dan Turbidity IOT Blynk 2.0 Nodemcu ESP8266 dan Modul ADS1115


           Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat memonitor PH dan turbidity secara realtime secara online IOT server Blynk 2.0 dengan mikrokontrollernya yaitu Nodemcu ESP8266 dengan ADC external ADS1115.untuk lebih jelasnya berikut adalah koding dan skemanya.


a. Skema dan Komponen




b. Program Nodemcu ESP8266

#define BLYNK_TEMPLATE_ID "TMPL67JSxxxxx"
#define BLYNK_TEMPLATE_NAME "MONITORING KUALITAS AIR"
#define BLYNK_AUTH_TOKEN "t7jsxB6EIiM0r85puv7FHvDTvZN8xxxx"
#define BLYNK_PRINT Serial  

#define  BLYNK_PRINT Serial  
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <Adafruit_ADS1015.h>

LiquidCrystal_I2C lcd(0x27,16,2);

Adafruit_ADS1115 ads1115;

float TempC;
float pHValue;
float ntu;
int ntunew;
int adcntu;
int adcPH;
int h;
int dryValue = 957;
int wetValue = 56;
int friendlyDryValue = 0;
int friendlyWetValue = 100;
int rawValue;
int TempCx;
int pHValuex;
int ntux;
float ntufix;

BlynkTimer timer;

char ssid[] = "hotspotwifiku";
char pass[] = "123456789";

void sendSensor()
{
 Blynk.virtualWrite(V0, pHValue);
 Blynk.virtualWrite(V1, ntux);
 delay(1000);
}

void setup(){ 
ads1115.begin();
ads1115.setGain(GAIN_ONE); 
    
Wire.begin();  

Serial.begin(9600);
lcd.begin();

Blynk.begin(BLYNK_AUTH_TOKEN, ssid, pass);
timer.setInterval(1000L, sendSensor);
}


void loop(){

adcPH = ads1115.readADC_SingleEnded(0);
pHValue = (adcPH - 1136.84) / 330.283;

adcntu = ads1115.readADC_SingleEnded(1);                   
ntu = (adcntu - 3000.0) / 1;

if(ntu < 0){
 ntu = 0; 
}

ntux = map(ntu, 0, 100, 190, 0);

if(ntux < 0){
 ntux = 0; 
}

  lcd.setCursor(0,0);
  lcd.print("Ph: ");
  lcd.print(pHValue);
  lcd.print("  ");
   
  lcd.setCursor(0,1);
  lcd.print("NTU: ");
  lcd.print(ntux);
  lcd.print(" %     ");

  Blynk.run();
  timer.run();
  delay(200);
}



c. VIDEO HASILNYA




No comments:

Post a Comment