Quando mi e' arrivata la coppia di radio l'ho inserita in due computer ed ho aperto Minicom per vedere se riuscivo a creare un collegamento visto che i moduli possono essere usati anche seriali virtuali
La cosa ha funzionato (dopo aver impostato la connessione 9600 8N1 mettendo ad OFF Hardware Flow Control) ma al momento di trasferire un file la connessione e' crollata
Ho provato a montare un SX1278 ad una Arduino via Seriale ma dopo aver trasmesso un po' di byte ancora una volta la trasmissione si e' arrestata. Ed a questo punto RTFM....leggendo infatti nel dettaglio le istruzioni che si trovano a questo link si vede che la trasmissione e' a pacchetti (piu' nel dettaglio a pacchetti da 58 byte). Non si puo' inviare semplicemente un flusso di dati ma basta mettere un ritardo di tempo tra due pacchetti
Per esempio questo script funziona
70 millisecondi e' l'intervallo minimo per cui si deve separare due pacchetti, per tempi piu' brevi viene spedito un solo pacchetto
Per le connessioni su Arduino ho usato un level converter per portare tutto a 3.3 V nonostante i pin siano dati per compatbili per 3.3V e 5V ma se si guarda la configurazione di AS15-USB-T2 si vede che e' configurato a 3.3 V
Per settare il Mode 0 (ovvero trasmissione) ho connesso sia MD0 che MD1 a GND. Il pin D1TX di Arduino e' stato connesso (via level converter) a RXD di SX1278
=================================================
void setup() {
Serial.begin(9600);
}
void loop() {
for (int t=0; t<40; t++)
{
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
}
delay(70);
}
=================================================
mentre questo non funziona
=================================================
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
}
void setup() {
Serial.begin(9600);
}
void loop() {
int sensorValue = analogRead(A0);
float voltage = sensorValue * (5.0 / 1023.0);
Serial.println(voltage);
}
=================================================
A seconda della posizione di M0 ed M1 si possono ottenere le impostazioni di configurazione oppure modalita' di powersave
A questo link c'e' una libreria per il modulo E32-TTL-100 molto simile a quello che uso.
Ho provato ad usarlo con AS32-TTL-1000 con le connessioni suggerite anche se al posto dei suggeriti resistori da 4.7 KOhm ho connesso con un level converter
| D7 | <------------------> | M0 |
| D8 | <------------------> | M1 |
| A0 | <------------------> | AUX |
| D10(Rx)| <------------------> | Tx |
| D11(Tx)| <------------------> | Rx |
Con questa connessione e' possibile programmare la modalita' di LoRa comandandando D7 e D8
Per usare il file .ino si deve inserire nella medesima directory anche il file E32-TLL-100.h
Per settare la modalita' trasmissione ricezione/trasmissione si deve modificare il parametro alla riga 133 (DEVICE_B per trasmettere, DEVICE_A per ricevere)