jeudi 24 avril 2014

Communication sans fil entre deux arduino avec le nRF24L01+


Dans cet article je vais rapidement décrire comment mettre en place une communication radio entre deux Arduino dotés de modules nRF24L01+.

Liste du matériel

  • 2 Arduino Uno
  • 2 modules nRF24L01+
  • 16 cable de prototypage mâle-femelle
  • 2 plaque de prototypage(optionel)
  • 20 câble de prototypage mâle-mâle (optionel)
  • La bibliothèque RF24 (maniacbug)

Schéma


Avant toute chose il faut noter que le nRF24L01+ s'alimente avec une tension allant de 1,9v à 3,6v alors faites bien attention à ne pas le brancher machinalement sur le 5v ou vous risquez de griller votre transceiver. De plus vérifiez bien votre version du nRF24L01+ n'est pas une version avec amplificateur (capable d'émettre à 1100m) car cette version peut consommer jusqu'à 115 mA ce qui est supérieur à la capacité de production de la sortie 3.3v qui est de 50 mA. Ceci étant dit voici le schéma de montage.



Si vous souhaitez utiliser kicad pour concevoir vos circuits voici une bibliothèque contenant le composant nRF24L01+. Le modèle 3d est affiché avec quelques erreurs par kicad mais correctement par tous les autres logiciels sous lesquels je l'ai testé ce qui me fais dire qu'il y a probablement un petit bug dans kicad (ou que quelque chose m'a échappé quelque part).


Télécharger nRF24L01+ pour Kicad


Premier petits tests


Dans un premier temps s'il s'agit de tester vos transmetteurs vous pouvez charger le programme d'exemple de la bibliothèque Exemples/RF24/GettingStarted dans chaque arduino puis :

Sur le arduino 1 :
  1. ouvrir la console série,
  2. régler votre débit sur 57600 bauds
  3. entrez "T" dans la fenêtre d'entrée en haut de la console pour commencer à transmettre.
Sur le arduino 2 :

  1. ouvrir la console série,
  2. régler votre débit sur 57600 bauds
  3. entrez "T" dans la fenêtre d'entrée en haut de la console pour commencer à transmettre.
  4. entrez "R" dans la fenêtre d'entrée en haut de la console pour passer en mode réception.
et voilà.

Allons plus loin


Maintenant que nous avons la preuve que nos transmetteurs fonctionnent voyons un peu plus en détail comment les choses fonctionnent avec un exemple de code copieusement commenté.