40 lines
1.4 KiB
C++
40 lines
1.4 KiB
C++
#include <HardwareSerial.h>
|
|
|
|
// Definisikan pin untuk komunikasi dengan LoRa E32 900T20D
|
|
static const uint8_t PIN_LORA_RX = 16; // Terhubung ke TX modul
|
|
static const uint8_t PIN_LORA_TX = 17; // Terhubung ke RX modul
|
|
|
|
// Gunakan Serial1 untuk komunikasi dengan LoRa E32 900T20D
|
|
HardwareSerial SerialAT(1);
|
|
|
|
void setup() {
|
|
// Memulai komunikasi serial dengan baud rate 9600 pada Serial 1 untuk LoRa
|
|
SerialAT.begin(9600, SERIAL_8N1, PIN_LORA_RX, PIN_LORA_TX);
|
|
|
|
// Memulai komunikasi serial dengan baud rate 115200 untuk Serial Monitor
|
|
Serial.begin(115200);
|
|
|
|
// Menampilkan pesan awal
|
|
Serial.println("Program penerima LoRa dimulai.");
|
|
}
|
|
|
|
void loop() {
|
|
// Membaca data yang diterima dari SerialAT (modul LoRa)
|
|
if (SerialAT.available()) {
|
|
String receivedData = SerialAT.readStringUntil('\n'); // Membaca data hingga newline
|
|
Serial.println("Received from LoRa module: " + receivedData);
|
|
|
|
// Memeriksa apakah data yang diterima adalah hasil sensor IR
|
|
if (receivedData.startsWith("IR:")) {
|
|
// Mencetak hasil pembacaan sensor IR
|
|
Serial.println("Received IR sensor data: " + receivedData.substring(3));
|
|
}
|
|
|
|
// Memeriksa apakah data yang diterima adalah hasil sensor PIR
|
|
if (receivedData.startsWith("PIR:")) {
|
|
// Mencetak hasil pembacaan sensor PIR
|
|
Serial.println("Received PIR sensor data: " + receivedData.substring(4));
|
|
}
|
|
}
|
|
}
|