Модуль 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(); и не зациклить код? Почему здесь все заканчивается?

, 👍0


1 ответ


Лучший ответ:

0

Правильно ли вы установили булавки? Попробуйте сделать:

  LoRa.setPins(csPin, resetPin, irqPin);// устанавливаем CS, сброс, контакт IRQ

Существует проблема со способом подключения вашего SX1276 к плате, поэтому .begin() возвращает false.

,