Étape 3: Nrf24L01 (crédit http://gizmosnack.blogspot.in/)
Le nRF24L01 est un module RF génial qui fonctionne sur la bande des 2,4 GHz et est parfait pour des communications sans fil dans une maison parce qu’il va pénétrer même épais murs de béton. La nRF24L01 toute la programmation dure pour vous et a même une fonction pour vérifier automatiquement si les données transmises sont reçues à l’autre extrémité. Il existe deux versions différentes des nRF-famille de puces et ils semblent tous fonctionnent de façon similaire. Par exemple, j’ai utilisé le nRF905 module (433MHz) avec allmost le même code que j’utilise sur le nRF24L01 et le nRF24L01 + sans aucun problème. Ces modules peu a une gamme impressionnante, avec certaines versions qui gère jusqu'à 1000 m (spectacle gratuit) communication et jusqu'à 2000 m avec une antenne biquad.
nRF24L01 contre nRF24L01 +
Le signe (+) version est la nouvelle version de la puce et prend en charge le débit de 1 Mbit/s, 2 Mbit/s et un mode « longue distance » de 250 kbit/s qui est très utile lorsque vous souhaitez prolonger la durée de diffusion. Le plus vieux nRF24L01 (que j’ai utilisé dans mes messages précédents) ne prennent en charge 1 Mbit/s ou 2 Mbit/s débit de données. Les deux modèles sont compatibles entre eux, tant qu’ils sont réglés sur le même débit de données. Parce qu’elles les deux coûte à peu près le même (à proximité de rien) je voudrais vous recommander d’acheter la version + !
Partie un - SetupConnection differencesThe nRF24L01 module a 10 connecteurs et le + version a 8. La différence est que la + version au lieu d’avoir deux 3,3 V et deux GND, avoir son terrain (celui avec un carré blanc autour de lui) et 3,3 V offre, à côté de l’autre. Si évolution module d’une nouvelle + version à un vieux, faites attention à ne pas oublier de passer le câble de masse à la bonne place, sinon il va raccourcir votre circuit.
Voici une photo de la version (vue de dessus), d'où l'on aperçoit toutes les connexions étiquetées +. L’ancienne version possède deux connexions de masse tout en haut au lieu d’au down bon coin.
Alimentation (GND & VCC) le module doit être alimenté avec 3,3 V et ne peut pas être alimenté par une alimentation de 5 V ! Car il faut très peu courante j’utilise un régulateur linéaire à baisser la tension jusqu'à 3,3 V.To rendre les choses un peu plus facile pour nous, la puce peut gérer 5 V sur les ports d’e/s, qui est gentil parce qu’il serait difficile à réguler vers le bas de tous les câbles d’e/s de la puce d’AVR. Permettre de puce (EC) est utilisé quand soit envoyer les données (émetteur) ou démarrer recevoir des données (récepteur). La broche-CE est connectée à n’importe quel port d’e/s non utilisés sur l’AVR et est définie comme sortie (valeur peu à un dans le registre de DDx où x est la lettre de port.) Atmega88 : PB1, ATtiny26 : PA0, ATtiny85 : PB3SPI Chip Select (CSN) aussi connu comme le « Navire sélectionnez ne pas ». La CSN broches est également connecté à n’importe quel port d’e/s non utilisés sur l’AVR et la valeur de sortie. La goupille de la CSN est tenue haute à tout le temps sauf quand envoyer une SPI-commande de l’AVR pour le nRF.Atmega88 : PB2, ATtiny26 : PA1, ATtiny85 : PB4SPI horloge (SCK) il s’agit de l’horloge de série. La SCK se connecte à la SCK-broche sur l’AVR. Atmega88 : PB5, ATtiny26 : PB2, ATtiny85 : PB2SPI Master sortie entrée de Slave (MOSI ou MO) c’est la ligne de données dans le système SPI. Si votre puce AVR prend en charge les SPI-transferts comme l’Atmega88, cela se connecte au MOSI sur l’AVR ainsi et est définie comme sortie. Sur d’AVR qui manque de SPI, comme les ATtiny26 et les ATtiny85 ils viennent avec USI au lieu de cela, et la fiche technique il est dit: « le mode de l’USI trifilaire est conforme au mode Serial Peripheral Interface (SPI) 0 et 1, butdoes pas l’esclave sélectionnez la fonctionnalité du code pin (SS). Toutefois, cette fonctionnalité peut être implementedin logiciel, si nécessaire"le"SS"visé est le même que « CSN » et après quelques recherches, j’ai trouvé ce blog qui m’a aidé à attribuer. Pour obtenir de l’USI pour SPI vers le haut et j’ai découvert que je devais connecter la broche MOSI de la nRF sur la broche de MISO sur l’AVR et définissez-le comme sortie de course. Atmega88 : PB3, ATtiny26 : PB1, ATtiny85 : PB1SPI Master entrée sortie esclave (MISO ou MI) c’est la ligne de données dans le système SPI. Si votre puce AVR soutient SPI-transferts comme l’Atmega88, il se connecte au MISO sur l’AVR et celui-ci reste en tant qu’entrée. Pour que cela marche sur les ATtiny26 et les ATtiny85, j’ai dû utiliser USI comme mentionné ci-dessus. Cela ne fonctionnait que lorsque j’ai connecté la goupille MISO sur la nRF sur la broche MOSI sur l’AVR et définissez-la comme entrée et activez pullup interne. Atmega88 : PB4, ATtiny26 : PB0, ATtiny85 : PB0Interrupt demande (IRQ) IRQ le pin n’est pas nécessaire, mais un excellent moyen de savoir quand quelque chose est arrivé à la nRF. vous pouvez dire par exemple de la nRF pour définir ensemble le IRQ haute lorsqu’un paquet est reçu, ou quand une transmission réussie est terminée. Très utile ! Si votre AVR possède plus de 8 broches et une interruption-broche disponible j’ai fortement vous suggère afin de connecter l’IRQ à celui-là et paramétrer une requête d’interruption. Atmega88 : PD2, ATtiny26 : PB6, ATtiny85:-