When the SPI is configured as a Master (MSTR in SPCR is set), the user can determine the direction of the SS pin.
If SS is configured as an output, the pin is a general output pin which does not affect the SPI system. Typically, the pin will be driving the SS pin of the SPI Slave.
If SS is configured as an input, it must be held high to ensure Master SPI operation. If the SS pin is driven low by peripheral circuitry when the SPI is configured as a Master with the SS pin defined as an input, the SPI system interprets this as another master selecting the SPI as a slave and starting to send data to it.
Anche io lo capisco così. Quindi lo slave è collegato al pin SS della SPI.
Booh, avevo letto il thread ma ora riparto dall'inizio.
PS: punto fondamentale la sorgente di alimentazione del modulo a 3.3V deve potere erogare la corrente richiesta dal modulo, quindi se è vero che assorbe 120mA la sorgente deve potere erogare una corrente maggiore di 120mA.
Ok, avevo notato anche io questa cosa...ma il pin deve essere portato LOW da qualche parte nella libreria altrimenti sarebbe sbagliato persino l'esempio "sender" (che è quello su cui sto lavorando).
Teoricamente l'alimentatore "da breadboard" dovrebbe bastare...inoltre penso proprio che 120 mA li prenda solo quando è in trasmissione altrimenti che vantaggio ci sarebbe ad usare il lora??
Ho provato a ricablare tutto senza level shifter o altro, solo arduino e lora...chiaramente non funziona. Solo che non riesco a capire perchè tutto l'internet conosciuto li fa funzionare così "plug&play" e noi siamo qua a provarle tutte senza successo
L'ho visto anche io...ma poi nel datasheet c'è scritto 97 mA in TX. Poi lo vedo molto esagerato come assorbimento e rimane il fatto che nessuno lo alimenta in quel modo
Non è esagerato, l'alimentatore deve avere capacità di erogare corrente superiore alla richiesta massima. Ora è specificato 97mA in TX e quindi un alimentatore da 150÷250mA.
Ma comunque escludo sia questo al momento il problema.
Invece i nodi GND della 5V e 3.3V devono essere in comune e questo pare ovvio.
Altra cosa, qui si parla di frequenza del bus SPI di 8MHz e che non tutte le board la supportano.
<<The first command will help to change the frequency because some device doesn’t operate at 8MHz frequency and SPI will help to get the new SPI pins.>>
Di default vale questa macro:
#define LORA_DEFAULT_SPI_FREQUENCY 8E6
Ma per la MKR vale:
#define LORA_DEFAULT_SPI_FREQUENCY 200000
Ora non idea a che velocità possa viaggiare il bus spi sulla MEGA.
Comunque c'è il metodo:
void setSPIFrequency(uint32_t frequency);
Mi pare lo si debba chiamare prima di lora.begin().
Come ti ho già detto, su internet le bojate si sprecano e poi ... il modulo lo bruci TU ...
... ecco la RISPOSTA ufficiale sul Developer Portal di semtech.com:
Absolute maximum VDD I/O for the S127x family is also 3.9V, the chip is not 5V tolerant
... vedi un po' tu
Guglielmo
P.S.: invece di seguire le bojate che sono su youtube ed in altri siti, imparate e leggere bene e studiare i datasheet dei componenti ;)