LoRa RA-02 con Arduino Mega

Buongiorno a tutti,

sto realizzando un progetto con il modulo LoRa Ra02 ed Arduino mega. Ho collegato il tutto ma lo sketch di esempio della libreria "LoRa" (si il nome è questo) non va e fallisce la connessione. Ho anche provato ad aggiungere un circuito di resistenze per portare la tensione di tutti i pin da 5V a 3.3V (anche se online ho letto che il sistema può funzionare per qualche ora anche con la logica a 5V). In base a questo penso sia un problema software.

P.S: Ho collegato l'interfaccia SPI ai pin 10,11,12,13

Grazie,
Lucio

... che non sono quelli giusti:


Ciao, Ale.

Ups... :grin:

Ho ricollegato il tutto ma ancora non va...allego il codice qui sotto.

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

int counter = 0;

const int csPin = 53;          // LoRa radio chip select
const int resetPin = 9;       // LoRa radio reset
const int irqPin = 2;  

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

  Serial.println("LoRa Sender");

  LoRa.setPins(csPin, resetPin, irqPin); // set CS, reset, IRQ pin

  if (!LoRa.begin(433E6)) {
    Serial.println("Starting LoRa failed!");
    while (1);
  }
}

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

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

  counter++;
  Serial.println(counter);

  delay(1000);
}

Lucio

Scusa, dove hai letto che la libreria LoRa sia compatibile con quel modulo ? Io leggo:

Compatible Hardware
Semtech SX1276/77/78/79 based boards including:
Dragino Lora Shield
HopeRF RFM95W, RFM96W, and RFM98W
Modtronix inAir4, inAir9, and inAir9B
Arduino MKR WAN 1300

e non vedo accenni al modulo Ra-02 (che, tra l'altro, nel datasheet indica chiaramente di NON far lavorare oltre i 3.7V).

Guglielmo

Magari metti il link esatto al modulo che hai acquistato che ... potrebbero esserci ulteriori specifiche :roll_eyes:

Guglielmo

Il modulo RA-02 è basato sul Semtech 1278. Il collegamento l'ho copiato da questo sito che tra l'altro usa tutti i pin logici a 5V. Io ho aggiunto delle resistenze per portare i logici a circa 3V.
Il tipo del sito usa questa libreria quindi penso sia corretta...altrimenti cosa potrei usare?

LINK MODULO

Grazie,
Lucio

Intanto, se ben ricordo, in Europa DEVI usare la frequenza dei 868MHz (EU868), quella dei 433MHz è riservata all'Asia e i 915 MHz al Nord America, altrimenti ... sei fuori legge e non va bene.

Poi, io userei un traslatore di livelli invece che delle resistenze che tra tolleranze ed altro non garantiscono che tu abbia i giusti livelli.

Guglielmo

1 Like

Ho verificato e, con una certa serie di limitazioni, anche in Europa è ammessa anche una piccola fetta dei 433MHz ... da 433.05 a 434.79 MHz.

Ribadisco che è meglio, per evitare problemi, usare la 868MHz (EU868), in cui hai a disposizione bande tra i 863 ed i 870 MHz e non i 433MHz (EU433).

Guglielmo

... ti rammento che, per il ATmega2560, da datasheet, VIH minima è pari a 0.6 x Vcc, il che significa che, alimentando a 5V, il livello minimo per leggere sui GPIO il valore HIGH, è 3V (ma ho avuto casi dove nemmeno 3.3V bastavano a far leggere HIGH), quindi ... la cosa migliore, come dicevo, è usare un modulino un traslatore di livello.

Guglielmo

Allora intanto grazie per le risposte!!

Per quanto riguarda la frequenza io ho sempre usato i 433MHz senza problemi, inoltre il sistema verrà usato in una gara scientifica dove è ammessa anche questa banda.

Per le resistenze invece le ho utilizzate solo per una prova rapidissima, poi anche io pensavo ad un traslatore di livello...però pensavo che quantomeno migliorassero la questione :smiling_face_with_tear: ma pazienza.

L'unico dubbio che mi sorge è che, visto che sul sito che ho linkato prima il modulo funziona anche senza traslatore o resistenze, il problema sia nella libreria o nel codice...

Lucio

... come spesso qui ripetiamo ... purtroppo internet è pieno di bojate pazzesche!

beh ... se non supera neanche il begin() ... mi sa che c'è altro ... :roll_eyes:

Guglielmo

eh già purtroppo è spesso così...

Il begin() non essendo bloccante lo supera solo se NON è nell'if e quindi si direi che c'è qualcosa che non va ma il problema è cosa???

Lucio

Beh, ovvio, ti ritorna errore e quini non fa neanche il begin() ...

Ripeto, se i livello non sono adeguati, la MEGA non legge il bus SPI ... :roll_eyes:

Sicuro inoltre di quel parametro? Io ho sempre visto (ed usato) EU868 oppure (mai usato) EU433, ma quel 433E6 non mi dice molto ... :roll_eyes:

Guglielmo

1 Like

Per quel parametro son sicuro, anche se l'ultima volta che avevo usato un lora avevo usato Eu433, però questo è il metodo dichiarato nella libreria.

Per la connessione ho ordinato dei traslatori bidirezionali, appena arrivano faccio una prova e aggiorno questo thread.

Intanto grazie mille per l'aiuto sempre puntuale!!

Lucio

Allora mi è arrivato lo shifter che è questo qua.

Ho collegato MISO, MOSI, SCK, NSS, DI00 e RST del modulo lora con il convertitore dalla parte 3.3v e arduino dal 5v ma non sembra andare nulla...idee??

Lucio

Naturamlemente allo shifter hai portato anche i 5V, i 3.3V ed il GND vero?

Hai un qualche genere di analizzatore di stati logici o un oscilloscopio (con il quale l'analisi però è più difficile)?

Guglielmo

Si certo ho collegato anche loro.

Ho provato con il tester per vedere se ci fosse qualche contatto falso ma è tutto ok, l'oscilloscopio ne ho uno ma non a portata di mano al momento. Però se c'è un modo per far l'analisi con quello dimmi pure che appena posso lo provo.

Lucio

Mah ... salvo che non abbia anche fuzioni di analizzatore logico, puoi più che altro usarlo per vedere se i segnali del SPI che arrivano sul lalto 5V escono dal lato 3.3V e viceversa per essere sicuro che ci sia il colloquio e verificare tutti i livelli :roll_eyes:

Guglielmo

Uhm no direi che non ha queste funzioni...è un Philips degli anni 70 che pesa come 4 elefanti :joy:.

Però si posso provare a controllare che passino tutti i livelli e vedere...anche se credo che funzionino. Sto temendo sia un problema software...il che mi fa moltaaa paura :grin:

Lucio

Inoltre: hai collegato il pin OE ai 3.3V? diversamente le uscite potrebbero non essere abilitate.

Ciao, Ale.