Jump to content

Sensor Tambak: Difference between revisions

From IoT Colabs Wiki
No edit summary
No edit summary
Line 81: Line 81:
}
}
|}
|}
=== Sensor Tinggi Muka Air (Ultrasonic RS485 A01ANY4B) ===
Konfigurasi sensor DHT22 dimulai dengan mendefinisikan pin koneksi dan tipe sensor yang digunakan untuk pengukuran tinggi muka air. Berikut adalah code program yang digunakan.
{| class="wikitable"
|// Ultrasonic RS485 A01ANY4B  ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<nowiki>#</nowiki>define MAX485_DE 26
<nowiki>#</nowiki>define MAX485_RE_NEG 25
<nowiki>#</nowiki>define RXD2 16
<nowiki>#</nowiki>define TXD2 17
ModbusMaster node485;
float distance = 0;
void preTransmission() {
digitalWrite(MAX485_RE_NEG, 1);
digitalWrite(MAX485_DE, 1);
}
void postTransmission() {
digitalWrite(MAX485_RE_NEG, 0);
digitalWrite(MAX485_DE, 0);
}
void setDistance() {
  uint8_t result =  node485.readHoldingRegisters(257, 1);  // Read one register
  delay(100);
  if (result ==  node485.ku8MBSuccess) {
   int jarak =  node485.getResponseBuffer(0);  // First  buffer index holds the temperature
   distance = 200.0 -  jarak / 10.0;
  }
}
void printDistance() {
Serial.print("Distance = ");
Serial.print(distance);
  Serial.println("  cm");
}
|}
=== Sensor BME 280 ===
Sensor BME280 dikonfigurasi untuk mengukur empat parameter lingkungan sekaligus: suhu, tekanan barometrik, kelembaban, dan estimasi ketinggian berdasarkan tekanan permukaan laut standar. Berikut adalah code program yang digunakan.
{| class="wikitable"
|//BME280  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
<nowiki>#</nowiki>define SEALEVELPRESSURE_HPA (1013.25)
Adafruit_BME280 bme;  //  I2C
float bmeTemperature;
float bmePressure;
float bmeHumidity;
float bmeAltitude;
void setBMEValues() {
  try {
   bmeTemperature =  bme.readTemperature();                //Celcius
   bmePressure =  bme.readPressure() / 100.0F;              // hPa
   bmeHumidity =  bme.readHumidity();                      // %
   bmeAltitude =  bme.readAltitude(SEALEVELPRESSURE_HPA);  // meter
  } catch (String error)  {
   Serial.println("Error BME: " + error);
  }
}
void printBMEValues() {
Serial.print("Temperature = ");
Serial.print(bmeTemperature);
  Serial.println("  *C");
Serial.print("Pressure = ");
Serial.print(bmePressure);
  Serial.println("  hPa");
Serial.print("Approx. Altitude = ");
Serial.print(bmeAltitude);
  Serial.println("  m");
Serial.print("Humidity = ");
Serial.print(bmeHumidity);
  Serial.println("  %");
  Serial.println();
}
|}


== Konfigurasi dan Kalibrasi ==
== Konfigurasi dan Kalibrasi ==

Revision as of 05:13, 23 April 2026

Deskripsi Singkat

Daftar Komponen

  • Board (PCB Custom)
  • ESP 32


Perakitan

Pemrograman (Source Code)

Tahap pertama dalam memulai programming utama adalah menyiapkan initial code yang mencakup seluruh library yang diperlukan untuk komunikasi sensor dan transmisi data. Berikut adalah code program yang digunakan.

#include <Wire.h>

#include <Adafruit_Sensor.h>

#include <Adafruit_INA219.h>

#include <SoftwareSerial.h>

#include <DHT.h>

#include <Adafruit_BME280.h>

#include <OneWire.h>

#include <DallasTemperature.h>  //DS18B20

#include <SPI.h>

#include <LoRa.h>

Sensor DHT 22

Konfigurasi sensor DHT22 dimulai dengan mendefinisikan pin koneksi dan tipe sensor yang digunakan untuk pengukuran suhu dan kelembaban udara. fungsi setDHT() untuk akuisisi data, dan printDHT() untuk menampilkan hasil. Berikut adalah code program yang digunakan.

//DHT22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

//Constants

#define DHTPIN 27          // what pin we're connected to

#define DHTTYPE DHT22      // DHT 22  (AM2302)

DHT dht(DHTPIN, DHTTYPE);  //// Initialize DHT sensor for normal 16mhz Arduino


float dhtTemperature = 0;

float dhtHumidity = 0;


void setDHT() {

//Read data and store it to variables hum and temp

dhtHumidity = dht.readHumidity();

dhtTemperature = dht.readTemperature();

}

void printDHT() {

Serial.print("Humidity = ");

Serial.print(dhtHumidity);

Serial.print("Temperature = ");

Serial.print(dhtTemperature);

Serial.println("ºC");

}

Sensor Tinggi Muka Air (Ultrasonic RS485 A01ANY4B)

Konfigurasi sensor DHT22 dimulai dengan mendefinisikan pin koneksi dan tipe sensor yang digunakan untuk pengukuran tinggi muka air. Berikut adalah code program yang digunakan.

// Ultrasonic RS485 A01ANY4B ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#define MAX485_DE 26

#define MAX485_RE_NEG 25

#define RXD2 16

#define TXD2 17

ModbusMaster node485;

float distance = 0;

void preTransmission() {

digitalWrite(MAX485_RE_NEG, 1);

digitalWrite(MAX485_DE, 1);

}

void postTransmission() {

digitalWrite(MAX485_RE_NEG, 0);

digitalWrite(MAX485_DE, 0);

}

void setDistance() {

  uint8_t result = node485.readHoldingRegisters(257, 1); // Read one register

  delay(100);

  if (result == node485.ku8MBSuccess) {

   int jarak = node485.getResponseBuffer(0);  // First buffer index holds the temperature

   distance = 200.0 - jarak / 10.0;

  }

}

void printDistance() {

Serial.print("Distance = ");

Serial.print(distance);

  Serial.println(" cm");

}

Sensor BME 280

Sensor BME280 dikonfigurasi untuk mengukur empat parameter lingkungan sekaligus: suhu, tekanan barometrik, kelembaban, dan estimasi ketinggian berdasarkan tekanan permukaan laut standar. Berikut adalah code program yang digunakan.

//BME280 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

#define SEALEVELPRESSURE_HPA (1013.25)

Adafruit_BME280 bme;  // I2C

float bmeTemperature;

float bmePressure;

float bmeHumidity;

float bmeAltitude;


void setBMEValues() {

  try {

   bmeTemperature = bme.readTemperature();               //Celcius

   bmePressure = bme.readPressure() / 100.0F;             // hPa

   bmeHumidity = bme.readHumidity();                     // %

   bmeAltitude = bme.readAltitude(SEALEVELPRESSURE_HPA); // meter

  } catch (String error) {

  Serial.println("Error BME: " + error);

  }

}


void printBMEValues() {

Serial.print("Temperature = ");

Serial.print(bmeTemperature);

  Serial.println(" *C");


Serial.print("Pressure = ");

Serial.print(bmePressure);

  Serial.println(" hPa");


Serial.print("Approx. Altitude = ");

Serial.print(bmeAltitude);

  Serial.println(" m");


Serial.print("Humidity = ");

Serial.print(bmeHumidity);

  Serial.println("  %");


  Serial.println();

}


Konfigurasi dan Kalibrasi