Sensor suhu lagi?

Gpp ya disini kita belajar semua sensor suhu, nah tinggal sensor mana nih yang akan digunakan, baik dari segi harga maupun keakuratannya. Sesuai judul kita belajar menggunakan module shield sensor suhu DS18B20 ESP-01. Maksud  shield ini adalah sensor ds18b20 sudah dalam bentuk 1 module dengan ESP-01, jadi kita tidak perlu repot jumper kabel sana-sini. Mengingat sensor ini membutuhkan pull-up resistor untuk memperkuat datanya.

Spesifikasi :

  • Operating voltage: DC 3.7V-12V (support 3.7v lithium battery power supply)
  • Measuring range: -55 ° C to + 125 ° C
  • Accuracy: ± 0.5 ° C
  • Pin DATA : Pin 2

Alat dan bahan :

  • ESP-01 shield DS18b20, BELI
  • FTDI / USB TTL PL2303, BELI
  • Push button, BELI
  • Breadboard, BELI

Seperti biasa untuk upload program kita membutuhkan rangkaian ke ESP-01.

Cara lengkapnya ada di tutorial sebelumnya. DISINI

Sketch Program

#include <ESP8266WiFi.h>

#include <OneWire.h>
#include <DallasTemperature.h>

const char* ssid = "Indomaker";
const char* password = "cahbarongan";

WiFiServer server(80);
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);

void setup() {
  Serial.begin(9600);
  sensors.begin();
  delay(20);
  Serial.println();
  Serial.print("Menghubungkan ke WIFI... ");
  Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(300);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi terkoneksi");
  server.begin();
  Serial.println("Koneksi Server dimulai");
  Serial.print("Alamat IP : ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
}

void loop() {
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  Serial.println("Koneksi baru");
  while (!client.available())
  {
    delay(5);
  }
  if (client) {
    boolean blank_line = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        if (c == '\n' && blank_line) {
          sensors.requestTemperatures();
          float suhu = sensors.getTempCByIndex(0); 

          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          client.println("<head></head><body><h2>Monitoring Sensor DS18b20</h2><h3>Suhu Celcius : ");
          client.println(suhu);
          client.println("*C</h3><h3>");
 
          client.println("</body></html>");
          break;
        }
        if (c == '\n') {
          blank_line = true;
        }
        else if (c != '\r') {
          blank_line = false;
        }
      }
    }
    delay(5);
  }
}

Board : Generic ESP8266 Module, dan Port terceklis.

  • Upload sketch di atas kemudian, jika eror tekan tombol untuk ke mode RESET.
  • Pindah ke Running Mode dengan cara melepas pin GPIO dari GND
  • Buka Serial Monitor dengan baudrate 9600, temukan Alamat IP yang tertera.

  • Lepas ESP-01 lalu hubungkan ke shield DS18b20
  • Hubungkan catu daya 5V ke pin VCC dan GND ke GND
  • Buka browser, ketikkan IP yang tadi tampil di serial monitor.
  • Hasilnya di bawah ini.

Bagaimana? mudah kan, cukup sekian pembahasan kali ini semoga berhasil.

Kategori: NodeMCU

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Scroll Up
id_IDIndonesian
en_USEnglish id_IDIndonesian