Translate

NodeMCU ESP8266 WIFI 12E Monitoring Sensor Temperature, Shake dan Pulse Multiple ADC Menggunakan WEBSERVER dan Multiplexer IC 4051 dan Arduino IDE

NodeMCU ESP8266 WIFI 12E Monitoring Sensor Temperature, Shake dan Pulse Multiple ADC Menggunakan WEBSERVER dan Multiplexer IC 4051 dan Arduino IDE 


          Pada kesempatan yang berbahagia kali ini saya akan menjelaskan mengenai bagaimana caranya agar me-monitoring 3 buah sensor menggunakan nodemcu esp8266, yang mana nodemcu ini hanya memiliki satu buah adc dengan range 10 bit. maka dari itu saya menggunakan sebuah IC multiplexer 4051 untuk kendali switchnya. sensor yang dipakai yaitu sensor suhu LM35, sensor shake dan sensor pulse. alat ini diaplikasi untuk monitoring suatu keadaan dimana ada suhu, getaran dan benda yang masuk sehingga sensor pulse akan mendeteksi. alat ini menggunakan webserver sehngga komunikasinya menggunakan wifi router sebagai set point. untuk lebih jelasnya berikut adalah skema dan programnya. untuk tutorial cara masukkan library bisa lihat di datasheetnya.   



a. NodeMCU ESP8266 12E WIFI





b. Router WIFI





c. Sensor Suhu LM35





d. Sensor Shake / Getaran





e. Sensor Pulse High/Low





f. Multiplexer IC 4051





g. Program Arduino IDE

#include <ESP8266WiFi.h>

#define LED0     D0       
#define LED1     D1       
#define LED2     D2       

const int AnalogIn  = A0;
float suhu = 0;
float bpm = 0;
float resp = 0;

const char* ssid = "EVERCOSS WIFI";
const char* password = "123456789";

//int ledPin = D0;
WiFiServer server(80);

void setup() {

  pinMode(LED0 , OUTPUT);
  pinMode(LED1 , OUTPUT);
  pinMode(LED2 , OUTPUT);
      
  Serial.begin(115200);
  delay(10);

//  pinMode(ledPin, OUTPUT);
//  digitalWrite(ledPin, LOW);

  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");

  // Start the server
  server.begin();
  Serial.println("Server started");

  // Print the IP address
  Serial.print("Use this URL to connect: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");

}

void loop() {
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) {
    return;
  }

  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }

  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();

  // Match the request

digitalWrite(LED0, LOW);                        
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
 
suhu = analogRead(AnalogIn);
suhu = suhu * (3.3 / 1023.0);
suhu = suhu * 100.0;

Serial.print("suhu = ");
Serial.println(suhu);
  
delay(500);                        

digitalWrite(LED0, HIGH);                        
digitalWrite(LED1, LOW);
digitalWrite(LED2, LOW);
 
bpm = analogRead(AnalogIn);
Serial.print("bpm = ");
Serial.println(bpm);
  
delay(500);                        


digitalWrite(LED0, LOW);                        
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
 
resp = analogRead(AnalogIn);
Serial.print("Respirasi = ");
Serial.println(resp);
  
delay(500);                        
              

// Set ledPin according to the request
//digitalWrite(ledPin, value);

  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println("Refresh: 1");
  client.println(""); //  do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
   
  client.println("<center>");
  client.println("<h1>");
  client.println("Monitoring Kondisi Tubuh");
  client.println("</h1>");
   
  client.println("<h3>");
   
  client.println("Suhu = ");
  client.println(suhu);
  client.println(" C");
  client.println("<br>");
  
  client.println("Bpm = ");
  client.println(bpm);
  client.println("<br>");
 
  client.println("Respirasi = ");
  client.println(resp);
  client.println("<br>");
 
  client.println("</h3>");  
  client.println("</center>");
  client.println("</html>");

  delay(1);
  Serial.println("Client disonnected");
  Serial.println("");

}





h. Gambar Hasilnya





i. VIDEO HASILNYA











2 comments: