รบกวนขอสอบถาม เรื่องการเขียนโค้ด LoRa หน่อยครับ

ขอบคุณครับ เดี๋ยวจะลองดูแล้วจะแจ้งให้ทราบนะครับ

ตอนนี้เขียนได้ละครับ แต่ผมเพิ่มส่วนของการส่งข้อมูลให้ LED ดับด้วย

ตัวส่ง

#include <SPI.h>
#include <LoRa.h>

int pin = 3;

String text = "ให้ LED ติด";
String text1 = "ให้ LED ดับ";

void setup() {
  Serial.begin(9600);
  while (!Serial);
  Serial.println("LoRa-sender");
  pinMode(pin,INPUT);
  if (!LoRa.begin(433E6)) {
    Serial.println("Starting LoRa failed!");
    while(1);
  }
}

void loop(){
  int A = digitalRead(pin);
  if (A==HIGH){
    LoRa.beginPacket();
    LoRa.print(text);
    LoRa.endPacket();

    Serial.print("Send '");
    Serial.print(text);
    Serial.println("'");
  }
  if (A==LOW){
    LoRa.beginPacket();
    LoRa.print(text1);
    LoRa.endPacket();

    Serial.print("Send '");
    Serial.print(text1);
    Serial.println("'");
    delay(2000);
  }
  
}

ตัวรับ

#include <SPI.h>
#include <LoRa.h>

int led = 3;
String text;

void setup(){
  Serial.begin(9600);
  while (!Serial);
  Serial.println("LoRa-received");
  pinMode(led,OUTPUT);
  if (!LoRa.begin(433E6)) {
    Serial.println("Starting LoRa failed!");
    while(1);
  }
  digitalWrite(led,0);
}

void loop(){
  if (LoRa.parsePacket()) {
      String text = LoRa.readString();
      Serial.print("Receiver '");
      Serial.print(text);
      Serial.print("' RSSI is ");
      Serial.println(LoRa.packetRssi());
      if(text == "ให้ LED ดับ"){
      digitalWrite(led,LOW);
      }
    }
  if (LoRa.parsePacket()) {
    String text = LoRa.readString();
    Serial.print("Receiver '");
    Serial.print(text);
    Serial.print("' RSSI is ");
    Serial.println(LoRa.packetRssi());
    if(text == "ให้ LED ติด"){
    digitalWrite(led,HIGH);
        }
    }
}
1 Likes

ตัวส่ง

ตัวรับ

1 Likes