Arduino


Jouer avec les ondes radiofréquence à base de NRF24L01

Publié le 23/12/2018



J'utilise ces petits modules pour envoyer un signal lorsqu'un mouvement est détecté par exemple, pour récupérer la température de l'eau de la piscine, pour allumer/éteindre la pompe de ma piscine, relever le niveau d'eau de ma piscine et éteindre la pompe de filtration si le niveau d'eau est trop bas, détecter la présence de courrier dans ma boite aux lettres...

Cette publication est à associer avec la publication Jouer avec les ondes RF (NRF24L01) - Réceptions.

L'arduino est endormi pour minimiser la consommation de courant. Et c'est le PIR, lorsqu'il détecte un mouvement, qui va réveiller l'arduino.

Grâce à la photorésistance et au relais, on peut même allumer par exemple un halogène uniquement si la quantité de lumière est insuffisante.

Le module nRF24L01+ est un émetteur-récepteur (= transceiver) RF 2.4 GHz à très basse consommation et très faible coût qui convient particulièrement bien pour les applications DIY.

Il fonctionne avec une tension d'alimentation de 3.3 V, mais ses signaux sont tolérants au 5 V.

Quelques caractéristiques du NRF2401:
* Fréquence : 2.4 GHz band
* Tension d'alimentation : 1.9 à 3.6 V
* Interface SPI jusqu'à 10 Mb/s (tolérant 5 V)
* Vitesses de transmission : 250 kb/s¹, 1 Mb/s et 2 Mb/s (la distance est inversement proportionnel à la vitesse)
* Très basse consommation (plusieurs mois, voire années avec une pile bouton ou des piles AA/AAA). 900 nA deep sleep mode. 13.3 mA Radio RX at 2 Mb/s on-air data-rate.

Portée : quelques mètres avec une antenne PCB et jusqu'à plusieurs centaines de mètre avec une antenne externe.

Le NRF24L01 utilise un protocole propriétaire Enhanced ShockBurst qui permet la communication bidirectionnelle avec mise en mémoire tampon des paquets de données, confirmation des paquets reçus et retransmission automatique des paquets perdus.

Dans mon exemple, la lumière est programmée pour être allumée au minimum 30 secondes après la dernière détection de présence.

A noter: La présence du condensateur de 10µF est nécessaire pour une meilleur stabilité du composant NRF24L01.

Dans la vidéo ci-dessous, vous pourrez voir en première partie, l'allumage d'un projecteur halogène lors de la détection d'un mouvement(en situation réelle).

Le montage n'est pas très glamour mais il est complètement fonctionnel. Je l'utilise actuellement pour allumer un halogène lors de la détection de mouvement dans ma buanderie, car je n'avais pas d'interrupteur disponible. Et il faut avouer que c'est vraiment très pratique d'avoir la lumière qui s'allume lors de son passage.

Dans la deuxième partie, on peut visualiser en temps réel ce qui s'est passé lors de la détection d'une présence: Une trame est envoyée à destination du NRF24L01 qui centralise l'information (voir la publication Jouer avec les ondes RF (NRF24L01) - Réceptions).

On peut également visualiser via internet sur son smartphone l'état de chacun des modules.

Liste des composants nécessaires pour la réalisation du circuit :

  • Arduino nano1
  • Photo-résistance1
  • Résistance 10 k-Ohms1
  • NRF24L011
  • PIR1
  • condensateur 10µF1


Schéma du montage électronique :


Pour obtenir plus d'informations, les codes sources et tout ce qui est nécessaire au bon fonctionnement de cette publication, et pour toutes les heures de recherches passées, merci pour votre généreuse contribution !

Nombre de vue(s): 388

Forum


Vos avis/remarques...


Veuillez vous connecter pour laisser vos commentaires...