Integrasi Strain Gauge dan Modul HX711 dengan Platform IoT Blynk

Internet of Things

Article Image (Integrasi Strain Gauge dan Modul HX711 dengan Platform IoT Blynk)

Strain gauge dan modul HX711 (ADC dan Amplifier) sangat cocok mengukur berat pada berbagai aplikasi. Ketika dikombinasikan dengan platform IoT Blynk, kemungkinan analisis dan visualisasi data menjadi tak terbatas. Dalam artikel ini, kami akan memandu Anda melalui proses persiapan dan kalibrasi strain gauge menggunakan modul HX711 dan mengintegrasikannya dengan platform IoT Blynk. Kami juga akan memberikan penjelasan terperinci tentang cara memasang library ESP8266 di Arduino IDE, membuat akun Blynk, dan memasang library HX711 Blynk di Arduino IDE. Akhirnya, kami akan memberikan contoh kode yang dapat digunakan untuk membaca data dari sensor dan mengirimkannya ke Blynk.

Persiapan

  1. Setup pemasangan library ESP8266 di Arduino IDE
    • Pada Arduino IDE, pergi menuju FilePreferences Untitled
    • Masukkan http://arduino.esp8266.com/stable/package_esp8266com_index.json pada form “Additional Boards Manager URLs” seperti gambar berikut. Lalu, klik tombol “OK” Untitled
    • Buka Boards Manager. Menuju ke ToolsBoardBoards Manager… Untitled
    • Ketik pada pencarian ESP8266 dan tekan tombol install pada “ESP8266 by ESP8266 Community” Untitled
    • Tunggu beberapa menit hingga terpasang seperti berikut Untitled
  2. Buat akun Blynk
  3. Install library pada Arduino IDE sebagai berikut

Alat dan Bahan

  1. ESP8266 [NodeMCU 1.0 (ESP-12E Module)]
  2. LED Merah
  3. Kabel Micro-USB
  4. Strain Gauge dan HX711 (Modul ADC untuk konversi nilai resistansi strain gauge ke berat)
  5. Siapkan koneksi Wi-Fi dengan mode 2.4Ghz

Pin ESP8266

PINFungsi
D5DT HX711 (Strain Gauge)
D6SCK HX711 (Strain Gauge)

hx711.png Untitled

Proses Kalibrasi

  1. Panggil fungsi set_scale() tanpa parameter.
  2. Panggil fungsi tare() tanpa parameter.
  3. Tempatkan beban yang telah diketahui beratnya pada timbangan dan panggil get_units(10).
  4. Bagi hasil pada langkah 3 dengan beban yang diketahui. Anda seharusnya mendapatkan parameter yang perlu Anda masukkan ke set_scale().
  5. Sesuaikan parameter pada langkah 4 sampai Anda mendapatkan bacaan yang akurat.

Penyiapan Template (Virtual Pin) dan Device Pada Blynk

  1. Buka aplikasi Blynk dan klik New Project.

  2. Isi nama proyek dan pilih perangkat yang akan digunakan.

  3. Pilih mode Advanced dan klik Create.

  4. Klik + Widget untuk menambahkan widget baru.

  5. Pilih Value Display dan tarik ke area kerja.

  6. Pilih Virtual dan pilih nomor V0 (dengan tipe data double). Sesuaikan dengan kode pada bagian Full Code (Arduino) di bawah.

  7. Copy dan Paste nilai "BLYNK_TEMPLATE_ID", "BLYNK_TEMPLATE_NAME", "BLYNK_AUTH_TOKEN" pada kode Arduino IDE anda

    Screenshot from 2023-04-20 19-49-54.png

Full Code (Arduino)

#include <Arduino.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include "HX711.h"
 
// HX711 circuit wiring
#define LOADCELL_DOUT_PIN D5
#define LOADCELL_SCK_PIN D6
 
#define BLYNK_TEMPLATE_ID "YOUR TEMPLATE ID"
#define BLYNK_TEMPLATE_NAME "YOUR TEMPLATE NAME"
#define BLYNK_AUTH_TOKEN "Your Auth Token"
#define BLYNK_PRINT Serial
 
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "SSID Wifi";
char pass[] = "Sandi Wifi";
 
BlynkTimer timer;
HX711 scale;
 
void myTimerEvent()
{
    Blynk.virtualWrite(V0, scale.get_units(10));
    Serial.println("SENDING DATA...");
}
 
void setup()
{
    Serial.begin(9600);
    Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
 
    Serial.println("Initializing the scale");
    scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
    scale.set_scale(747.7734); // nilai dari kalibrasi
    scale.tare();
 
    pinMode(D8, OUTPUT);
 
    timer.setInterval(3000L, myTimerEvent); // mengirim data tiap 3 detik
}
 
void loop()
{
    Blynk.run();
    timer.run(); // Initiates BlynkTimer
}

Penjelasan Bagian-Bagian Code

  1. Deklarasi Library yang digunakan

    #include <Arduino.h>
    #include <ESP8266WiFi.h>
    #include <BlynkSimpleEsp8266.h>
    #include "HX711.h"

    Pastikan semua library telah di-install pada tahap persiapan di atas.

  2. Definisikan pin untuk memasang modul HX711

    #define LOADCELL_DOUT_PIN D5
    #define LOADCELL_SCK_PIN D6
     
    HX711 scale;
  3. Definisikan token dari Blynk dan Wifi yang akan disambungkan

    #define BLYNK_TEMPLATE_ID "YOUR TEMPLATE ID"
    #define BLYNK_TEMPLATE_NAME "YOUR TEMPLATE NAME"
    #define BLYNK_AUTH_TOKEN "Your Auth Token"
    #define BLYNK_PRINT Serial
     
    char auth[] = BLYNK_AUTH_TOKEN;
     
    // Wifi yang akan disambungkan
    char ssid[] = "SSID Wifi";
    char pass[] = "Sandi Wifi";
     
    BlynkTimer timer;
  4. Fungsi yang membaca data dari sensor dan mengirim data tersebut ke Blynk

    void myTimerEvent()
    {
        Blynk.virtualWrite(V0, scale.get_units(10));
        Serial.println("SENDING DATA...");
    }
  5. Void Setup

    void setup()
    {
        Serial.begin(9600);
        Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
     
        Serial.println("Initializing the scale");
        scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
        scale.set_scale(747.7734);
        scale.tare();
     
        pinMode(D8, OUTPUT);
        timer.setInterval(3000L, myTimerEvent);
    }

    Banyak yang dilakukan di sini, secara garis besar adalah

    1. Penyambungan ke Wifi dan ke server Blynk, "blynk.cloud:80"
    2. Melakukan Zero Set awal pada strain gauge, scale.tare()
    3. Menjalankan fungsi myTimerEvent() dalam interval 3 detik (3000 milidetik)
  6. Void Loop

    void loop()
    {
        Blynk.run();
        timer.run(); // Initiates BlynkTimer
    }

    Berguna untuk memastikan ESP8266 tetap tersambung ke Blynk dan fungsi-fungsi di atas tetap berjalan sebagaimana mestinya.

Kesimpulan

Dalam artikel ini, kami telah membahas bagaimana menggunakan strain gauge dan modul HX711 untuk mengukur berat pada berbagai aplikasi. Dalam kombinasi dengan platform IoT Blynk, kemungkinan analisis dan visualisasi data menjadi tak terbatas. Kami telah menjelaskan cara memasang library ESP8266 di Arduino IDE, membuat akun Blynk, dan memasang library HX711 Blynk di Arduino IDE. Kami juga memberikan contoh kode yang dapat digunakan untuk membaca data dari sensor dan mengirimkannya ke Blynk.

Dengan begitu, Anda sudah siap untuk memulai proyek Anda sendiri menggunakan strain gauge, modul HX711, dan platform IoT Blynk. Selamat mencoba!

Memuat Komentar...

Tambahkan Komentar

Kirim Komentar