Translate

Deteksi Suhu Tubuh Non Contact via Telegram

 Deteksi Suhu Tubuh Non Contact via Telegram


            Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat mendeteksi suhu tubuh secara non contact dengan menggunakan sensor MLX. untuk notifikasi menggunakan aplikasi telegram. jadi jika suhu telah melebihi suatu batas tertentu maka akan mengrimkan notif ke telegram dan buzzer bunyi. untuk lebih jelasnya berikut adalah program dan komponennya.



a. Wemos D1 Mini




b. Sensor MLX90614




c. Lcd 16x2 + I2C




d. Setting Telegram









e. Program Arduino IDE 

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>
#include <Adafruit_MLX90614.h>
#include <ArduinoJson.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>

LiquidCrystal_I2C lcd(0x27, 16,2);

char ssid[ ] = "Hotspot HPKU";
char pass[ ] = "123456789";//password wifi

#define BOTtoken "876876875:jhgjhfGDTYDjhjoooiuoibhvrearwadxxggcfrjj" //token bot telegram
#define idChat "7657658776" //idbot

WiFiClientSecure client;
UniversalTelegramBot bot(BOTtoken, client);

 float TargetC;
 const int speakerPin = 12;
int ledmerah = 14;
int ledhijau = 2;

Adafruit_MLX90614 mlx = Adafruit_MLX90614();

void setup() {

   pinMode(ledmerah,OUTPUT);
   pinMode(ledhijau,OUTPUT);
   pinMode(speakerPin, OUTPUT);

   digitalWrite(ledmerah,LOW);
   digitalWrite(ledhijau,LOW); 
   lcd.setBacklight(HIGH);
   mlx.begin();
  lcd.clear();
  lcd.begin();
   client.setInsecure();
  Serial.begin(9600);
  Serial.print("Connecting Wifi: ");
  Serial.println(ssid);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, pass);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println("");
  Serial.println("WiFi connected");
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());
  mlx.begin();
  delay(5000);
  
}
void loop() {

    delay(1000);
        
  TargetC = mlx.readObjectTempC()+4;
  
 lcd.setCursor(0,0);
  lcd.print("Suhu : ");
  lcd.print(TargetC);
  lcd.println("  'C ");

     if (TargetC <  37) {
      digitalWrite(speakerPin, LOW);  
       digitalWrite(ledmerah,LOW);  
      digitalWrite(ledhijau,HIGH); 
  }

  if (  TargetC > 37) {
    bot.sendChatAction(idChat, "Sedang mengetik...");
    Serial.print("Suhu saat ini : ");
    Serial.println(TargetC);
    delay(2000);
    String suhu = " suhu sekarang : ";
    suhu += float(TargetC);
    suhu += " 'C\n";
    suhu += "Suhu maksimal!\n";
    bot.sendMessage(idChat, suhu, "");
    Serial.print("Mengirim data sensor ke telegram");
    
       if (TargetC > 37) {
      digitalWrite(speakerPin, HIGH);
        digitalWrite(ledmerah,HIGH);
        digitalWrite(ledhijau,LOW); 
     delay (3000);
    
  }  
  }
}



f. VIDEO HASILNYA






Membuat Alat Deteksi Telur Bagus / Jelek via IOT BLYNK

Membuat Alat Deteksi Telur Bagus / Jelek via IOT BLYNK


         Pada kesempatan kali ini saya akan menjelaskan mengenai bagaimana cara membuat sebuah alat yang dapat membedakan antara telur bagus dan telur jelek, prinsip kerjanya sederhana yaitu jika telur bagus terkena cahaya maka akan memancarkan cahaya berwarna namun jika telur jelek maka akan ada penutup yang menghalangi cahaya untuk sampai ke sensor sehingga sensor bisa mendeteksi suatu nilai. untuk lebih jelasnya berikut adalah komponen dan programnya.



a. Wemos D1




b. sensor photodioda




c. LCD + I2C 





d. Program Arduino IDE

#include <Wire.h> 
#define BLYNK_PRINT Serial  
#include <SPI.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SimpleTimer.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16,2);

int dataadc;
int tombol = D5;
int tombolx = 0;
int buzzer = 12;

char auth[] = "jhgjhgjHGJHTRSEWREhkhkjjhjhfjhfEy";
char ssid[] = "Hotspot HPKU";
char pass[] = "123456789";

SimpleTimer timer;

void sendSensor()
{
 Blynk.virtualWrite(V5, dataadc);
 delay(1000);
}

void setup() {
lcd.clear();
lcd.begin();
lcd.noCursor(); 
Wire.begin(); 
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
timer.setInterval(1000L, sendSensor);
pinMode(tombol,INPUT_PULLUP);
pinMode(buzzer,OUTPUT);
digitalWrite(buzzer,HIGH);
}


void loop() {
  
tombolx = digitalRead(tombol);

dataadc = analogRead(A0);

if(tombolx == 0){
  lcd.clear();
  mulai();
}

 lcd.setCursor(0,0);
 lcd.print("ADC= ");
 lcd.print(dataadc);
 lcd.print("     ");

 digitalWrite(buzzer,HIGH);

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

void mulai(){
  
tombolx = digitalRead(tombol);

if(tombolx == 1){
  lcd.clear();
  return;
}

dataadc = analogRead(A0);

if((dataadc > 270)&&(dataadc < 600)&&(tombolx == 0)){
 lcd.setCursor(0,1);
 lcd.print("TELUR BAGUS      ");
 digitalWrite(buzzer,HIGH);
}
if((dataadc > 100)&&(dataadc < 270)&&(tombolx == 0)){
 lcd.setCursor(0,1);
 lcd.print("TELUR JELEK     ");
 digitalWrite(buzzer,LOW);
}
if((dataadc > 1000)){
 lcd.setCursor(0,1);
 lcd.print("LETAKKAN TELUR  ");
 digitalWrite(buzzer,HIGH);
}

 lcd.setCursor(0,0);
 lcd.print("ADC= ");
 lcd.print(dataadc);
 lcd.print("     ");

 Blynk.run();
 timer.run();
 
delay(1);  
mulai();  
}




e. VIDEO HASILNYA