Модуль LoRa Ra-02 Begin и BeginPacket не работают в Arduino Nano
Вот, недавно тестирую модуль Лора Ра-02, видел много видео, его легко настроить, по такой схеме:
Модуль LoRa SX1278 ----- Плата Arduino Nano
3,3 В -------
Земля---------Земля
Ан/Нсс------D10
G0/DIO0------D2
SCK---------D13
МИСО----------D12
MOSI----------D11
RST-------------D9
Я использую очень распространенную библиотеку под названием sandeepmistry. и я попробовал этот код:
#include <SPI.h>
#include <LoRa.h>
int counter = 1;
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Sender");
if (!LoRa.begin(433E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
Serial.print("Sending packet: ");
Serial.println(counter);
// отправляем пакет
LoRa.beginPacket();
LoRa.print("hello ");
LoRa.print(counter);
LoRa.endPacket();
counter++;
delay(500);
}
Когда я запускаю его, он просто зависает в этой строке {Serial.println("Не удалось запустить LoRa!");
Затем я обновил код и попытался уменьшить частоту SPI, поскольку я использую Arduino Nano, теперь код такой:
#include <SPI.h>
#include <LoRa.h>
int counter = 1;
int frequency = 8E6; // Установите здесь нужную частоту
void setup() {
Serial.begin(9600);
while (!Serial);
Serial.println("LoRa Sender");
LoRa.setSPIFrequency(frequency); // Добавляем сюда недостающую точку с запятой
if (!LoRa.begin(433E6)) {
Serial.println("Starting LoRa failed!");
while (1);
}
}
void loop() {
Serial.print("Sending packet: ");
Serial.println(counter);
// отправляем пакет
LoRa.beginPacket();
LoRa.print("hello ");
LoRa.print(counter);
LoRa.endPacket();
counter++;
delay(500);
}
Этот код передает строку Запуск LoRa не удался!, но он снова застревает здесь
Отправитель LoRa Отправка пакета: 1
Так почему бы ему не выполнить LoRa.beginPacket();
и не зациклить код? Почему здесь все заканчивается?
@Asif Uz Zaman, 👍0
1 ответ
Лучший ответ:
Правильно ли вы установили выводы? Попробуйте сделать:
LoRa.setPins(csPin, resetPin, irqPin);// устанавливаем CS, сброс, контакт IRQ
Существует проблема со способом подключения вашего SX1276 к плате, поэтому .begin()
возвращает false.
- Состояние цифрового вывода Arduino не передается через NRF24L01, тогда как состояние аналогового вывода передается, почему?
- avrdude ser_open() can't set com-state
- Не могу загрузить скетч в Arduino Nano
- Arduino Uno: avrdude: stk500_recv(): программатор не отвечает
- Как постоянно отправлять данные от нескольких клиентов на сервер с помощью NodeMCU?
- Проблема с Arduino Nano 33 IOT
- Можно ли обновить загрузчик Arduino (Nano) через себя и Arduino IDE или требуется ISP?
- Не удалось преобразовать «digitalWrite(8u, 1u)» из «void» в «bool»