[Tuto] Communication entre modules LoRa

Le but est de faire communiquer deux modules LoRa.Module LoRa

Besoins :

  1. Programmation des deux Arduino

Nous nous servons de deux Arduino UNO afin de créer un système émission/réception.
Pour cela il nous faut programmer un Arduino UNO en mode émission et un autre en réception.
Pour le mode émission, nous allons tout simplement envoyer des informations à la suite au module LoRa grâce à ce code :

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

void loop(){
 Serial.print(0, BIN);
 delay(1000);
 Serial.print(1, BIN);
 delay(1000);
}

Pour programmer l’Arduino, il suffit de le brancher au PC, de démarrer le programme et de le téléverser (petite flèche allant vers la droite) grâce au bouton prévu à cet effet.

Téléversement

Quant au mode réception, nous allons permettre la lecture de ce que reçois le module LoRa :

#include <SoftwareSerial.h>

SoftwareSerial mySerial(10, 11); // RX, TX
int SerialValue;
int ledPin = 13;

void setup(){
 pinMode(ledPin, OUTPUT);
 Serial.begin(9600);
 while (!Serial){}
 mySerial.begin(9600);
}

void loop(){
 if (mySerial.available()){
 SerialValue = mySerial.read();
 Serial.write(SerialValue);
 if (SerialValue == '1'){
 digitalWrite(ledPin,HIGH);
 }
 else if (SerialValue == '0'){
 digitalWrite(ledPin,LOW);
 }
 }
 if (Serial.available())
 mySerial.write(Serial.read());
}
  1. Connections entre les modules LoRa et les Arduino

Mode Emission :Emission

GND sur la masse de l’Arduino
VCC sur l‘alimentation 5V de l’Arduino
EN permet l’activation du module s’il est branché à la masse
RX branché sur le TX
TX branché sur le RX

Mode Réception :

Reception

GND sur la masse de l’Arduino
VCC sur l‘alimentation 5V de l’Arduino
EN permet l’activation du module s’il est branché à la masse
RX branché sur le PIN 11 (ici noté MOSI/PWM)
TX branché sur le PIN 10 (ici noté SS/PWM)

  • Si tout est bien branché, nous devons avoir une LED rouge clignotante sur le module émetteur et une bleue sur le module récepteur.
  • L’USB des deux Arduino doivent être branchés au PC comme pour la programmation.
  • Il n’est pas possible de programmer les Arduino avec les modules branchés.
  1. Visualisation des données reçues

C’est là où le logiciel « Terminal.exe » entre en jeu. Il va nous servir à voir ce que reçois le bus serial de l’Arduino.
Attention à bien brancher les deux systèmes.
Il faut tout simplement le démarrer, sélectionner son port COM et sa vitesse baud (pour nous : 9600).
Et enfin appuyer sur le bouton « Connect »

Config Terminal.exe

Si tout va bien les valeurs reçues par le module et transférées par l’Arduino s’afficherons dans la boite de dialogue. Nous retrouvons nos valeurs 0,1,0,1 et due à la loop, elles sont envoyées/reçues à l’infini.

char

Test dans un contexte concret

Afin de tester correctement le système j’ai placé l’émetteur branché à mon ordinateur afin de l’alimenter continuellement.

Arduino_PC

Grâce à une batterie DC1298A j’alimente continuellement mon élément récepteur et cela me permet de voir jusqu’où la transmission se fait.

Arduino_Main

Pour ma part j’ai réussis à avoir une portée de 270 mètres (sachant que l’émetteur était dans le bâtiment).

Maps