Sensor Tambak: Difference between revisions
Colabs Admin (talk | contribs) No edit summary |
Colabs Admin (talk | contribs) 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 dhtHumidity = 0;
//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;
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); } }
Serial.print("Temperature = "); Serial.print(bmeTemperature); Serial.println(" *C");
Serial.print(bmePressure); Serial.println(" hPa");
Serial.print(bmeAltitude); Serial.println(" m");
Serial.print(bmeHumidity); Serial.println(" %");
} |