atomo2
08.Октябрь.2024 09:31:02
434
Это вы сами дописали код?) А то я у себя такого не наблюдаю.
Попробовал зашил со своими пинами , в мониторе нет никакой информации вообще
//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);
}
ua6em
08.Октябрь.2024 09:32:28
435
delay(5000); добавьте )))
ua6em
08.Октябрь.2024 09:44:52
437
а с чего она должна быть другая, функция 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
}
atomo2
08.Октябрь.2024 09:47:18
438
Вот тут вроде все хорошо про эти модули описано (это я для общей информации)
Штирлиц
08.Октябрь.2024 09:49:22
439
Какие пины вы прописали ? Выложите свой скетч.
Модули эти беспроблемные. Работают отлично .При правильном подключении все запускается сразу. Вечером могу попробовать на ПикоПи.
atomo2
08.Октябрь.2024 11:10:58
440
Вот так у меня распаян мой пико с лорой, фото моего пико чуть выше постами
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);
}
Буду очень благодарен!
v258
08.Октябрь.2024 11:25:09
441
Этот скетч - пример к библиотеке Лоры. Не нужно брать пример с форума - он может быть банально от другой версии библиотеки (или вообще от другой библиотеки с таким же названием). Возьмите пример из поставки конкретно вашей
atomo2
08.Октябрь.2024 11:26:56
442
Сейчас домой , взял с собой 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);
}
//======================================================================//
ua6em
08.Октябрь.2024 11:29:15
443
должен был еще это написать, если модуль видится
Serial.print ("LoRa initialized with frequency ");
Serial.println (LORA_FREQUENCY);
atomo2
08.Октябрь.2024 11:31:09
444
ua6em Хотя у них в примере вообще вот как должно быть
Ps. что за программа монитора порта такая у них?)
atomo2
08.Октябрь.2024 11:35:53
445
Да вроде они сами там говорят, берите наш код, все работает))
Штирлиц
08.Октябрь.2024 12:47:31
447
Это переделанный пример из библиотеки. Библиотека одна с этим названием. Работает и в новых и в старых версиях этой библиотеки.
atomo2
08.Октябрь.2024 14:21:54
450
Это я не про вас, это я про зарубежный форум их видео и скетч, где они говорят , что можете взять наш скетч и все будет работать.
Штирлиц
08.Октябрь.2024 16:45:47
451
Код залит в 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);
}
Вывод в сериал
atomo2
09.Октябрь.2024 00:43:38
452
Штирлиц:
Вывод в сериал
Хм, сегодня попробую на ардуино УНО , может все потому что на моем пико нет 19 пина?
atomo2
09.Октябрь.2024 01:28:01
453
Попробовал с УНО, по этой ссылке есть прям пример с УНО Подключение модуля LoRa SX1278 к Arduino: схема и программа
брал и от туда скетч и скетч Штирлица
LoRa Sender
Starting LoRa failed!
atomo2
09.Октябрь.2024 02:33:42
454
Убить плату тоже не мог , запитывал 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.
Попробовал тоже не помгло(