BASIC4MCU | 질문게시판 | lora 무선 모듈에 관한 질문입니다.
페이지 정보
작성자 로이스10 작성일2023-06-01 23:38 조회311회 댓글1건본문
부품:아두이노 우노 R3 호환보드 2개
LoRa 무선 모듈 - 433MHz 2개
불꽃 감지 적외선 센서모듈
아두이노 송신부에서 불꽃 감지 적외선 센서모듈을 달아 불꽃신호를 받으면 수신부에 led가 켜지도록 설계하는데
아두이노의 코드가 적용되지 않고 lora 무선모듈이 작동이 되지 않았습니다. 왜 그런지 알 수 있을까요?
아래에 송신부와 수신부 코드를 적어놓았습니다.
송신부 코드:#include <LoRa.h>
#define FLAME_SENSOR_PIN 2 // 불꽃 감지기 연결 핀
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Transmitter");
pinMode(FLAME_SENSOR_PIN, INPUT); // 불꽃 감지기 핀을 입력으로 설정
if (!LoRa.begin(868E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
int flameDetected = digitalRead(FLAME_SENSOR_PIN); // 불꽃 감지기의 디지털 값을 읽음
if (flameDetected == LOW) { // 불꽃 감지 (센서가 LOW를 출력하면 불꽃 감지)
Serial.println("Flame detected! Sending packet: ");
// Begin packet
LoRa.beginPacket();
// Write packet
LoRa.print("Flame Alert!");
// End packet
LoRa.endPacket();
}
delay(1000); // 1초 간격으로 감지
}
--------------------------------------------------------------------------
수신부 코드:
#include <LoRa.h>
#define LED_PIN 13 // LED 연결 핀
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Receiver");
pinMode(LED_PIN, OUTPUT); // LED 핀을 출력으로 설정
if (!LoRa.begin(868E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
// Try to parse packet
int packetSize = LoRa.parsePacket();
if (packetSize) {
// Received a packet
Serial.print("Received packet '");
// Read packet
String received = "";
while (LoRa.available()) {
received += (char)LoRa.read();
}
// If a fire alert is received, turn on the LED
if (received == "Flame Alert!") {
digitalWrite(LED_PIN, HIGH);
} else {
digitalWrite(LED_PIN, LOW);
}
Serial.print("' with RSSI ");
Serial.println(LoRa.packetRssi());
}
}
댓글 1
조회수 311master님의 댓글
master 작성일
라이브러리를 설치하면 예제도 설치됩니다.
예제로 구동이 안된다면 다른 라이브러리를 설치해야 할 수도 있습니다.