цифровая электроника
вычислительная техника
встраиваемые системы

 



Arduino и LORA-модуль RYLR998: принцип работы, подключение, код

Автор: Mike(admin) от 21-06-2022, 23:55

Благодаря большой дальности и простоте использования протокол беспроводной передачи данных LoRa обрел большую популярность, как у профессиональных разработчиков, так и у радиолюбителей. В связи с этим на рынке стало появляться все больше и больше модулей LoRa, и сегодня мы рассмотрим один из недавних продуктов – RYLR998 компании Reyax.


Arduino и LORA-модуль RYLR998: принцип работы, подключение, код

Модуль RYLR998 представляет собой модуль антенного приемопередатчика LoRa, который работает в диапазоне 868/915 МГц. Он оснащен модемом дальнего действия LoRa, который обеспечивает сверхдальнюю связь с расширенным спектром и высокую помехоустойчивость при минимальном потреблении тока.


Arduino и LORA-модуль RYLR998: принцип работы, подключение, код

Модули RYLR998 имеют интерфейс UART и могут легко управляться любым микроконтроллером с помощью AT-команд. Важным примечанием здесь является то, что модули не совместимы с 5 В, поэтому вам нужно будет использовать их при напряжении 3,3 В.


Arduino и LORA-модуль RYLR998: принцип работы, подключение, код

Итак, для работы с данными модулями мы будем использовать две платы Arduino Pro Mini 3.3V, при этом одна будет использоваться для передатчика, другая для приемника. К 7-му цифровому выводу передатчика будет подключена кнопка. Также для индикации к шестому цифровому выводу обеих плат Arduino подключим светодиод. Схемы подключения для передатчика и приемника представлены далее.


Arduino и LORA-модуль RYLR998: принцип работы, подключение, код

Arduino и LORA-модуль RYLR998: принцип работы, подключение, код

Следующий код предназначен для передатчика. Он отправляет приемнику состояние кнопки.



int PushButton=7;
int LED=5;

int LED_state=LOW;
int Button_state=LOW;

int Button_newstate;

void setup() {
 Serial.begin(57600);
 pinMode(PushButton, INPUT);
 pinMode(LED, OUTPUT);
 Button_state=digitalRead(PushButton); 
} 
void loop() {
  Button_newstate=digitalRead(PushButton);
  if (Button_newstate > Button_state) {
    if (LED_state==LOW){
      digitalWrite(LED, HIGH); 
      LED_state=HIGH;
      Serial.println("AT+SEND=2,1,H");
    }
    else {
      digitalWrite(LED, LOW);
      LED_state=LOW;
      Serial.println("AT+SEND=2,1,L");
    }        
  }
  Button_state=Button_newstate;
}

Далее приведен код приемника. Он принимает поступаемое от передатчика состояние кнопки и активирует светодиод в случае, если кнопка нажата.



#define LEDPin 6
String incomingstring;

void setup() {
  pinMode(LEDPin,OUTPUT);
  Serial.begin(115200);
}
void loop() {
  if(Serial.available()){ 
    incomingstring= Serial.readString();
    if (incomingstring.indexOf("H") >0) {
      digitalWrite(LEDPin, HIGH);
    }
    else if (incomingstring.indexOf("L") >0) { 
      digitalWrite(LEDPin, LOW);
    }
  }
}



© digitrode.ru


Теги: Arduino, LoRa, RYLR998




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий