Jumat, 22 Maret 2019

mengambil data Temperatur dan kelembapan DHT11 via Modbus dengan arduino yang cepat dan simple



lanjutan dari artikel sebelumnya tentang cara membuat arduino Modbus RTU kali ini saya akan berbagi lagi bagaimana mengambil data sensor tempetratur dan kelembapan dari sensor DHT11 via Modbus dengan arduino.

langsung aja
download library dibawah ini
DHT

masukan ke folder library

tulis sketch dibawah ini:

#include <ModbusRtu.h>
#define ID   1 //slave ID modbus RTU
#include "DHT.h"
#define DHTPIN 21  //pin 21 arduino mega
#define DHTTYPE DHT11
DHT dht(DHTPIN, DHTTYPE);


Modbus slave(ID, 0, 0); // this is slave ID and RS-232 or USB-FTDI
// jumlah register addres modbus RTU
uint16_t au16data[11];
int8_t state = 0;

void setup() {
  io_setup(); // I/O settings
  dht.begin();
  // start communication
  slave.begin( 19200 );

}


void loop() {

   state = slave.poll( au16data, 11 );
   io_poll();

}


void io_setup() {
  // define i/o

}

/**
 *  Link between the Arduino pins and the Modbus array
 */
void io_poll() {

  //read DHT11
   float h = dht.readHumidity();
   float t = dht.readTemperature();

  au16data[0] = h;
  au16data[1] = t;


  // diagnose communication
  au16data[8] = slave.getInCnt();
  au16data[9] = slave.getOutCnt();
  au16data[10] = slave.getErrCnt();
}

rakit hardware seperti gambar dibawah:



upload ke arduino


jalankan modscan

cek via modscan

addres 1 dan 2 itu adalah datanya
1 itu kelembapan
2 itu temperature


selamat berkarya dengan Modbus.


bila ada yang kurang jelas bisa hubungi via WA SIMOR (081555305255)

Tidak ada komentar:

Posting Komentar

Frekwensi LoRa yang legal di Indonesia

 menurut kepmen 2024-05 standar teknis perangkat LPWAN berikut frekwensi LoRa : link KEPMEN: download