Module radio NRF04 SPI¶
Description¶
Module SPI basé sur un émetteur / récepteur radio NRF04 permettant d'utiliser la communication sans fil avec le Pi Pico
Principe général utilisation¶
Ce sont des modules de comm’ radio qui utilise une comm’ SPI pour l'interfaçage.
Ce sont des modules et une norme de communication créés par Nordic Semiconductor, une société norvégienne de fabrication de semi-conducteurs.
Pour comprendre, en bref, NRF24 :
- c’est 125 canaux physiques, appelés frequency channel, de communication différents possibles nommés par un numéro
- et dans chaque canal, c’est 6 canaux logiques différents appelés data-pipe (nommé par une adresse sur 6 bytes)
Avec nRF24, on pourra facilement faire de la communication entre une base (PRX) et 6 points différents (PTX1-6) sur un canal de fréquence donné N (125 canaux disponibles). Ce qui est déjà pas mal.
A noter une librairie pour CircuitPython ici : https://circuitpython-nrf24l01.readthedocs.io/en/latest/index.html
Le module¶
Le brochage¶
Typique d'un dispositif SPI :
- broche MOSI
- broche MISO
- broche CLK
- broche CS (Chip Select)
- le V+ qui peut être 3.3V ou 5V (régulateur vers 3.3V sur la carte)
- le 0V
Dispose également de :
- broche CE : Chip Enable qui défini le mode TX ou RX du module (à priori 0 pour RX et 1 pour TX)
- broche IRQ : broche d'interruption. Active niveau bas. NC en pratique.
Pour mémoire : les broches SPI du Pi Pico¶
Sur le Pi Pico, on a 2 ports SPI. Les broches sont indiquées au format suivant :
- _SCK : CLK
- _TX : MOSI à priori *_RX : MISO à priori
- _CSn : CS
On a plusieurs possibilités. Il semble intéressant d'utiliser un groupe de 4 broches contiguües pour faciliter la connexion.
Montage type¶
On connecte :
- broche MOSI
- broche MISO
- broche CLK
- broche CS (Chip Select)
- broche CE
- 0V sur 0V
- V+ sur 3.3V
Librairie Micropython¶
Librairie officielle ici : https://github.com/micropython/micropython/tree/master/drivers/nrf24l01
Copier les 2 fichiers : le test.py fournit une fonction d'initialisation esclave et
Plutôt prévu Pyboard.
Pour le Pi Pico : modifier les broches, et ajouter compatibilité dans NRF04
Ici, une librairie qui implémente le protocole de communication. https://github.com/peterhinch/micropython-radio
Débrouillage dans l'interpréteur¶
Code d'exemple¶