Pendahuluan

Tutorial ini akan membahas cara menggunakan printer thermal Bluetooth dengan ESP32 dan sensor DHT11. Printer thermal Bluetooth digunakan untuk mencetak data suhu dan kelembaban yang diperoleh dari sensor DHT11. Dengan menggunakan ESP32 sebagai mikrokontroler, kita dapat mengontrol printer thermal dan sensor DHT11 serta mentransmisikan data melalui koneksi Bluetooth.

Komponen Yang Digunakan

Berikut adalah daftar komponen yang digunakan dalam proyek ini beserta link pembelian di Golite Store:

  1. ESP32 Development Board
  2. Printer Thermal Bluetooth
  3. Sensor DHT11
  4. Push Button

Skema Sistem

Skema Fritzing

Konfigurasi Pinout

  • ESP32 -> Printer Thermal Bluetooth
    • VIN -> VCC
    • GND -> GND
    • TX2 -> RX
    • RX2 -> TX
  • ESP32 -> Sensor DHT11
    • VIN -> VCC
    • GND -> GND
    • D4 -> Data
  • ESP32 -> Push Button
    • GND -> S1
    • D18 -> S2

Penjelasan singkat mengenai skema sistem: ESP32 dihubungkan ke printer thermal Bluetooth melalui koneksi serial UART, dan juga ke sensor DHT11 untuk membaca data suhu dan kelembaban.

Program Arduino/ESP32

#include "Adafruit_Thermal.h"
#include "BluetoothSerial.h"
#include "DHT.h"

#define button 18
#define DHTPIN 4
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE);

BluetoothSerial SerialBT;
Adafruit_Thermal printer(&SerialBT);

uint8_t address[6] = {0x66, 0x32, 0x75, 0x31, 0x23, 0x41};
String name = "RPP02N";
char *pin = "0000";
String data;

void setup() {
  Serial.begin(115200);
  dht.begin();
  pinMode(button, INPUT_PULLUP);
  pinMode(2, OUTPUT);
  SerialBT.setPin(pin);
  SerialBT.begin("ESP32test", true);
  Serial.println("The device started in master mode, make sure remote BT device is on!");
  if (SerialBT.connect(address)) {
    Serial.println("Connected Successfully!");
  } else {
    while (!SerialBT.connected(10000)) {
      Serial.println("Failed to connect. Make sure remote device is available and in range, then restart app.");
      digitalWrite(2, 1);
      delay(500);
      digitalWrite(2, 0);
      delay(500);
    }
  }
  if (SerialBT.disconnect()) {
    Serial.println("Disconnected Successfully!");
  }
  SerialBT.connect();
  printer.begin();
  printer.feed(1);
  printer.setDefault();
  digitalWrite(2, 1);
}

void loop() {
  float h = dht.readHumidity();
  float t = dht.readTemperature();
  float f = dht.readTemperature(true);
  if (isnan(h) || isnan(t) || isnan(f)) {
    Serial.println(F("Failed to read from DHT sensor!"));
    return;
  }
  float hif = dht.computeHeatIndex(f, h);
  float hic = dht.computeHeatIndex(t, h, false);
  if (!digitalRead(button)) {
    Serial.println("PRINT START");
    // Print the data to the thermal printer
    printer.justify('C');
    printer.println("IDRUS PROJECT x GoLite Store");
    printer.println("-----------------");
    printer.print("Temperature: ");
    printer.print(t);
    printer.println(" C");
    printer.print("Humidity: ");
    printer.print(h);
    printer.println("%");
    printer.print("Heat Index: ");
    printer.print(hic);
    printer.println(" C");
    printer.feed(2);
  }
  delay(100); // Adjust delay as needed
}

Penjelasan Program

  1. Program menggunakan library Adafruit_Thermal.h, BluetoothSerial.h, dan DHT.h untuk mengakses printer thermal, Bluetooth, dan sensor DHT11. Silakan teman teman bisa download di library manager atau di internet 🙂 .
  2. Pada fungsi setup(), inisialisasi komponen dilakukan seperti inisialisasi serial, sensor DHT11, dan koneksi Bluetooth. Juga dilakukan pengecekan koneksi dengan perangkat Bluetooth eksternal.
  3. Pada fungsi loop(), data suhu dan kelembaban dibaca dari sensor DHT11. Kemudian, jika tombol ditekan, data tersebut dicetak ke printer thermal dengan menggunakan objek printer.

Pengujian

Pada pengujian, data suhu dan kelembaban berhasil dicetak oleh printer thermal setelah tombol ditekan.

Kesimpulan

Dengan menggunakan ESP32, printer thermal Bluetooth, dan sensor DHT11, kita dapat membuat sistem yang dapat mencetak data suhu dan kelembaban secara nirkabel. Proyek ini dapat diperluas dengan menambahkan fitur atau sensor tambahan untuk aplikasi yang lebih kompleks.

Tinggalkan Balasan

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






Hubungi Kami

Hubungi Kami

Kami menyediakan jasa proyek Arduino, Electrical, dan IoT (Internet of Things):
- Penyediaan komponen.
- Perancangan hardware dan software.
- Pemrograman.
- Hingga deploy server.


Cocok untuk hobi, edukasi (skripsi atau tugas akhir), dan industri.
Serahkan kepada kami, Anda tinggal terima hasil jadi!



Hubungi via WhatsApp



Ikuti Kami di TikTok (Inspirasi Project IoT)



Kunjungi YouTube Kami (Tutorial Project IoT)



Temukan Kami di Facebook



Beli Komponen Di GoLite Store