Rasberry PI PICO (RP2040) продолжение темы

Это вы сами дописали код?) А то я у себя такого не наблюдаю.
Попробовал зашил со своими пинами , в мониторе нет никакой информации вообще

//LoRaSender
#include <SPI.h>
#include <LoRa.h> //Download here: http://electronoobs.com/eng_arduino_LoRa_SX1278.php.php
  #define SCK     18// пины поменяйте на свои
  #define MISO    16// пины поменяйте на свои
  #define MOSI    7// пины поменяйте на свои
  #define SS      5// пины поменяйте на свои
  #define RST     14// пины поменяйте на свои
  #define DI0     2// пины поменяйте на свои
  #define BAND    433E6  // 915E6
int counter = 0;

void setup() {
  Serial.begin(9600);


  Serial.println("LoRa Sender");

  if (!LoRa.begin(BAND)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
else{
Serial.println("Starting LoRa OK!");
}
}

void loop() {
  Serial.print("Sending packet: ");
  Serial.println(counter);

  // send packet
  LoRa.beginPacket();
  LoRa.print("hello ");
  LoRa.print(counter);
  LoRa.endPacket();

  counter++;

  delay(1000);
}

delay(5000); добавьте )))

:grinning: блин точно же , спасибо)

Эх опять ошибка

LoRa Sender

Starting LoRa failed!

а с чего она должна быть другая, функция begin та же самая, тут вопрос в другом либо модуль не отвечает либо не тот, система ждёт из регистра модуля 0x12
если чуток библиотеку поправить и код скетча можно будет понять

в библиотеке:

  // start SPI
  _spi->begin();

  // check version
  uint8_t version = readRegister(REG_VERSION);
  if (version != 0x12) {
    return version;
  }

в скетче:

  LoRa.setPins(nss, rst, dio0);

  int from_reg = LoRa.begin(433E6);
  Serial.print("REGS LORA = ");
  Serial.println(from_reg, HEX);

  if (!LoRa.begin(433E6)) {             // initialize ratio at 915 MHz
    Serial.println("LoRa init failed. Check your connections.");
    while (true);                       // if failed, do nothing
  }

Вот тут вроде все хорошо про эти модули описано (это я для общей информации)

Какие пины вы прописали ? Выложите свой скетч.
Модули эти беспроблемные. Работают отлично .При правильном подключении все запускается сразу. Вечером могу попробовать на ПикоПи.

Вот так у меня распаян мой пико с лорой, фото моего пико чуть выше постами

Lora NSS - Pico GP 5
Lora MOSI - Pico GP 7
Lora MISO - Pico GP 16
Lora SCK - Pico GP 18
Lora Reset - Pico GP 14
Lora DIO0 - Pico GP 2

Скетч я брал изначально по ссылке Raspberry Pi Pico W with LoRa SX1278 for Sensor Monitoring , библиотеку Лоры там же

Теперь же я беру ваш скетч и прописываю все как распаял.

//LoRaSender
#include <SPI.h>
#include <LoRa.h> //Download here: http://electronoobs.com/eng_arduino_LoRa_SX1278.php.php
  #define SCK      18  // пины поменяйте на свои
  #define MISO    16  // пины поменяйте на свои
  #define MOSI      7  // пины поменяйте на свои
  #define SS           5  // пины поменяйте на свои
  #define RST       14 // пины поменяйте на свои
  #define DI0         2  // пины поменяйте на свои
  #define BAND    433E6  // 915E6
int counter = 0;

void setup() {
  Serial.begin(9600);


  Serial.println("LoRa Sender");

  if (!LoRa.begin(BAND)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
else{
Serial.println("Starting LoRa OK!");
}
}

void loop() {
  Serial.print("Sending packet: ");
  Serial.println(counter);

  // send packet
  LoRa.beginPacket();
  LoRa.print("hello ");
  LoRa.print(counter);
  LoRa.endPacket();

  counter++;

  delay(1000);
}

Буду очень благодарен!

Этот скетч - пример к библиотеке Лоры. Не нужно брать пример с форума - он может быть банально от другой версии библиотеки (или вообще от другой библиотеки с таким же названием). Возьмите пример из поставки конкретно вашей

Сейчас домой , взял с собой 1 плату и попробовал из последней ссылки(где описание Лоры) , взять скетч , теперь в мониторе пишет LoRa Sender , получается успешно?
Просто приемника нет, и проверю только завтра.

//======================================================================//

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

//======================================================================//

#define PIN_LORA_COPI   7
#define PIN_LORA_CIPO   16
#define PIN_LORA_SCK    18
#define PIN_LORA_CS     5
#define PIN_LORA_RST    14
#define PIN_LORA_DIO0   2

#define LORA_FREQUENCY  433E6

//======================================================================//

int counter = 0;

//======================================================================//

void setup() {
  Serial.begin (115200);
  while (!Serial);
  delay (1500);
  Serial.println ("LoRa Sender");

  LoRa.setPins (PIN_LORA_CS, PIN_LORA_RST, PIN_LORA_DIO0);
  LoRa.setSPIFrequency (20000000);
  LoRa.setTxPower (20);

  if (!LoRa.begin (LORA_FREQUENCY)) {
    Serial.println ("Starting LoRa failed!");
    while (1);
  }
  else {
    Serial.print ("LoRa initialized with frequency ");
    Serial.println (LORA_FREQUENCY);
  }
}

//======================================================================//

void loop() {
  Serial.print ("Sending packet: ");
  Serial.println (counter);

  // send packet
  LoRa.beginPacket();
  LoRa.print ("Hello LoRa ");
  LoRa.print (counter);
  LoRa.endPacket();

  counter++;

  delay (1000);
}

//======================================================================//

должен был еще это написать, если модуль видится

Serial.print ("LoRa initialized with frequency ");
    Serial.println (LORA_FREQUENCY);

ua6em Хотя у них в примере вообще вот как должно быть

Ps. что за программа монитора порта такая у них?)

Да вроде они сами там говорят, берите наш код, все работает))

Это переделанный пример из библиотеки. Библиотека одна с этим названием. Работает и в новых и в старых версиях этой библиотеки.

Delete

Удалили? (

Это я не про вас, это я про зарубежный форум их видео и скетч, где они говорят , что можете взять наш скетч и все будет работать.

Код залит в pi pico .Работает.

#include <SPI.h>
#include <LoRa.h>
#define SCK     18
#define MISO    16
#define MOSI    19
#define SS      17
#define RST     20
#define DI0     21
int counter = 0;

void setup() {
  Serial.begin(9600);
  while (!Serial);
LoRa.setPins(SS, RST, DI0);
  Serial.println("LoRa Sender");
delay(2000);
  if (!LoRa.begin(433E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

void loop() {
  Serial.print("Sending packet: ");
  Serial.println(counter);

  // send packet
  LoRa.beginPacket();
  LoRa.print("hello ");
  LoRa.print(counter);
  LoRa.endPacket();

  counter++;

  delay(5000);
}


Вывод в сериал

Хм, сегодня попробую на ардуино УНО , может все потому что на моем пико нет 19 пина? :grinning:

Попробовал с УНО, по этой ссылке есть прям пример с УНО Подключение модуля LoRa SX1278 к Arduino: схема и программа

брал и от туда скетч и скетч Штирлица

LoRa Sender

Starting LoRa failed!

Убить плату тоже не мог , запитывал 3.3 вольта от ардуины и пико.
У продавца они с продажи пропали кстати.

Нашел на забугорном форуме такое the problem is in line 491 of LoRa.cpp (readRegister method)
in fact the dummy byte for SPI is chosen wrong (0x00) because it’s a register address.
in order to make it work for my sx1287 chip i changed it to 0xFE and now it works.

return singleTransfer(address & 0x7f, 0xFE);

hope it help you as well.

Попробовал тоже не помгло(