Ajouter Bluetooth 4.0 à votre projet Arduino [IoT] - contrôlée par Smartphone (3 / 8 étapes)

Étape 3: SPI, REQ, RDY et RST de Pins (facultatif)

Si vous n’avez pas l’Arduino UNO comme sur le schéma, une attention particulière au nombre de goupille de Arduino auquel vous vous connectez les fils de. Les 3 premières éruptions, étiquetées SCK, MISO et MOSI, doivent aller aux broches, 11, 12 et 13, respectivement. Cela devrait être la même pour tous les ATMega328P basé Arduinos (Uno/Duemilanove). Si vous avez un autre Arduino, vous devez savoir Quelles broches sont SPI et connecter à celles à la place.

---------SPI-----------

Ces trois broches sont importants car ils constituent une unité matérielle particulière sur l’Arduino appelé Serial Peripheral Interface ou SPI. Goupille de Arduino 13 est SCK (Serial Clock), MISO 12 (Master In Slave Out) et 11 MOSI (maître des esclaves en). Le SPI Arduino est connecté à un équivalent 3Pin unité SPI sur le nRF8001. L’Arduino se comporte comme le maître et la nRF comme l’esclave, bien que les rôles peuvent être inversés en théorie. Le concept de SPI est assez simple. Les clics de broche SCK de haut en bas dans un carré régulièrement espacé d’onde (onde carrée qui signifie il a deux valeurs, hautes ou basses). Pour chaque clic de l’axe de la SCK, l’esclave observe MOSI et chiffres si la tension est haute ou basse. Le maître fait la même chose sur le MISO. Si une tension élevée est lue, c’est un « 1 ». Si une tension est lue, c’est un « 0 ». De cette façon, une séquence de 1 s et 0 s est transmise et traduite en lettres, nombres et les commandes, dont le logiciel peut alors agir sur. Dans le cas de la nRF8001, il traduit les lettres et numéros sont transmis via la connexion Bluetooth à votre téléphone. Les lettres et les chiffres que le nRF8001 envoie à votre Arduino sont ce qu’il a reçu depuis le téléphone via Bluetooth.

SPI est un standard de communication utile car elle nécessite seulement 3 points. Techniquement le SPI est seulement un protocole et n’a rien à voir avec le matériel. Vous pouvez implémenter une interface SPI n’importe où tant que vous avez 3 bornes libres et pouvez les activer et désactiver. De nombreux microcontrôleurs ont aujourd'hui modules SPI de matériels où la mise en œuvre se fait dans le circuit lui-même plutôt qu’en logiciel. Cela permet de communiquer plus de SPI à faire beaucoup plus vite et avec plus de précision que possible, si fait dans le code. Le seul inconvénient est que vous devez utiliser les broches SPI de matériel dédié, par opposition à des broches générales but IO.

-----------REQ--------------

À proprement parler, seulement 3 broches sont tenus de transmettre les données sur une interface SPI. Cependant, les broches supplémentaires peuvent être utilisés pour contrôler le flux d’informations. Ces pions n’ont pas besoin de faire partie de la circuiterie de matériel d’un module SPI et peut être implémenté dans le logiciel, car ils ne sont pas impliqués dans des données haute vitesse de transfert elles-mêmes. Une broche 4 est standard, appelé la broche esclave sélectionnez ou puce. Sur la nRF8001, la broche REQ prend le rôle de l’axe de l’esclave sélectionner (SS). La broche SS permet à plusieurs périphériques esclaves SPI être connecté aux même 3 bornes de matériel sur le maître (SCK, MOSI, MISO). C’est à dire, vous pourriez brancher 1 appareil maître de SPI de 2, 3 ou plus d’esclaves et transmettre des données à l’un d'entre eux. Évidemment, il est peu probable que tous les esclaves ont besoin des informations mêmes envoyées à eux sur MOSI en même temps. C’est là qu’intervient la broche SS. Un esclave lit seulement les instructions venant sur sa ligne MOSI si elle a été choisie comme l’esclave « active » en ayant son esclave sélectionner ligne maintenue basse. Le maître doit donc une épingle SS dédié à chaque esclave relié aux lignes SPI. Quand il veut parler à un esclave en particulier, elle détient la broche SS correspondant à cet esclave faible, tout en conservant toutes les autres broches SS élevés. Seulement l’esclave choisi communiquera jusqu'à sa SS NIP est placé haut. La nRF8001 utilise la ligne REQ de savoir quand elle est autorisée à communiquer avec le capitaine Arduino. Si vous avez besoin de communiquer avec d’autres dispositifs SPI (par exemple, un capteur ou affichage à cristaux liquides), il suffit d’accrocher un autre déverrouillées IO sur broche de SS de l’appareil, et vous pouvez vous connecter épinglettes SPI de l’appareil aux mêmes 3 broches Arduino SPI.

La broche REQ n’a pas à être broche 10 sur l’Arduino. Toutefois, si vous la changez, vous devrez changer la ligne dans le code qui dit "#define ADAFRUITBLE_REQ 10", où le numéro 10 devrait être remplacé avec la broche vous connecté REQ à.

RST---et---RDY

La broche REQ indique à la nRF que l’Arduino veut communiquer sur SPI. Lorsque l’Arduino demande à commencer à communiquer en activant/désactivant le code pin REQ, il attend que RDY passe avant d’envoyer réellement des données, ce qui indique que la nRF est prête à recevoir. De la même façon, la broche RDY indique à l’Arduino que la nRF veut communiquer. Et même, après le basculement de l’axe de la RDY, la nRF attend jusqu'à ce que l’Arduino active/désactive la broche REQ avant de réellement commencer à envoyer des données.

La broche RDY est spéciale. Comme les broches SPI, il ne peut pas être simplement re-mappée à une goupille de Arduino. Il doit être re-mappée à une autre broche capable de l’interruption. Une tige d’interruption est celui qui est surveillé par l’Arduino sur un niveau de matériel. Si un signal arrive sur l’axe de l’interruption, l’Arduino arrête tout ce qu’il fait et pénètre dans une section spéciale du code pour traiter la goupille d’interruption. C’est super parce que l’Arduino n’a pas à s’asseoir autour de vérifier si la nRF veut parler à elle toutes les quelques millisecondes. L’Arduino peut faire sa propre chose, et si les données arrive, il sera averti immédiatement. Cela économise l’énergie de la batterie, permet la Arduino de se concentrer sur d’autres tâches (y compris le sommeil!) les 99,9 % du temps qu’aucune donnée n’est à venir via Bluetooth et fait bien sûr l’Arduino est très sensible quand données arrive enfin. Du point de vue du code utilisateur, nous n’avez pas besoin de traiter tous les détails de communiquer avec le périphérique Bluetooth à tous. Lorsque l’information est disponible, il obtient « magique » mis dans un endroit particulier en mémoire (par le code d’interruption dans les coulisses) et nous avons juste besoin de le lire.

La goupille de la TVD est simple. Il fondamentalement « redémarre » le nRF8001 lorsqu’il est activé. Cela s’effectue par le code automatiquement chaque fois que l’Arduino elle-même est réinitialisé. Comme la broche REQ, la broche de la TVD peut être mappée à aucune broche Arduino inutilisé, aussi longtemps que "#define ADAFRUITBLE_RST 9" au début du code est modifiée de façon appropriée.

Articles Liés

Ajouter le bluetooth à votre projet Arduino - Arduino + HC-06

Ajouter le bluetooth à votre projet Arduino - Arduino + HC-06

N'aimeriez-vous pas d'allumer et d'éteindre les lumières dans votre maison sans avoir à lever le petit doigt ? (enfin, techniquement, vous auriez à lever un doigt ou deux, mais vous obtenez le jist de l'histoire). La bonne nouvelle est que vous pouve
Rendre votre projet Arduino sans fil en quelques minutes, avec le bouclier d’inventeurs sans fil

Rendre votre projet Arduino sans fil en quelques minutes, avec le bouclier d’inventeurs sans fil

le bouclier inventeurs utilise un tuyau sans fil, qui est un module RF sans fil spécial qui vous permet facilement et de manière fiable, envoyer et recevoir les données sans erreur sans fil entre deux ou plusieurs cartes Arduino.C'est Long Range – le
#MyoCraft : activer la geste votre projet Arduino avec un brassard Myo

#MyoCraft : activer la geste votre projet Arduino avec un brassard Myo

Vous pouvez générer beaucoup de trucs sympas avec un Arduino. Ne serait-il pas agréable d'être en mesure de le contrôler avec une chiquenaude du poignet ?Permettez-moi de vous montrer comment ajouter le contrôle gestuel sans fil à un projet Arduino à
Ajouter Ethernet à n’importe quel projet Arduino pour moins de 10$

Ajouter Ethernet à n’importe quel projet Arduino pour moins de 10$

si vous avez un projet Arduino soigné en cours. Ne serait-il pas agréable d'ajouter une connectivité Internet et de le faire sur le bon marché aussi bien ? Cet Instructable va vous montrer comment ajouter une connectivité Internet sous la forme d'une
Blink - votre projet Arduino premier

Blink - votre projet Arduino premier

Blink est un grand projet de première pour les débutants de l'Arduino. C'est simple, vous pouvez le faire en dix minutes avec cette instructable.Étape 1: matériaux ArduinoLEDCâble de l'Arduino(facultatif) Deux piles AAÉtape 2: Fixez Arduino pour ordi
Ajouter vidéo & Audio à votre projet de microcontrôleur

Ajouter vidéo & Audio à votre projet de microcontrôleur

7 Segment LED écrans sont utiles pour afficher des nombres et bitmap de l'écran LCD peut faire des graphiques simples, mais parfois une véritable sortie vidéo couleur est la meilleure façon d'aller :Vidéo composite (a.k.a., RCA Jack) est omniprésent
Sécuriser votre projet Arduino/Electronique avec sugru

Sécuriser votre projet Arduino/Electronique avec sugru

[cette instructable est le résultat de la nuit de construire de Sugru 2013 à la Hackerspace Varsovie]Sugru fait pour grands électrique façon isolation et il est plus facile à appliquer que tube thermorétractable ou la colle chaude.Voici un exemple de
Contrôler un projet arduino via un android personnalisable / application Iphone avec Billy et Wemos D1 : 2016 SUPER NOOB FRIENDLY WAY

Contrôler un projet arduino via un android personnalisable / application Iphone avec Billy et Wemos D1 : 2016 SUPER NOOB FRIENDLY WAY

Le but de cette instructable est de vous apprendre à créer des projets d'arduino wifi connecté le plus simples et plus rapide façon possible. Si vous voulez faire un projet arduino qui vous pouvez de contrôler depuis votre smartphone et que seulement
Boîte de projet Arduino

Boîte de projet Arduino

Je joue sans cesse autour dans le land de Arduino avec capteurs, afficheurs et nouvelles poussées. Récemment, j'ai eu appel à construire un enregistreur de données de température pour enregistrer des températures allant de 16 emplacements différents
Comment partager votre projet sur Instructables

Comment partager votre projet sur Instructables

avant de faire votre propre projet, explorez le site un peu à comprendre le fonctionnement de projets - jetez un oeil à quelques projets (mais ne pas se sentir intimidés, même de simples projets en valent la peine!).Ce qui pouvez vous montrer dans vo
WireBeings beta : un imprimé et Robot extensible pour Arduino avec contrôle Android 3D

WireBeings beta : un imprimé et Robot extensible pour Arduino avec contrôle Android 3D

http://wirebeings.com/Découvrez la vidéo ici :Il s'agit d'un beau projet que vous pouvez continuer de travailler et modifier comme vous apprenez davantage de projets Arduino. Ce Instructable passe par la construction du robot compatible bluetooth dan
Ajouter Bluetooth Simple à Arduino

Ajouter Bluetooth Simple à Arduino

Parfois, lorsque vous démarrez un nouveau projet tout d'abord, il y a beaucoup de débogage aller sur, et avec une plate-forme Arduino, utilisant le port série pour cracher des données peut être un outil très utile. Eh bien quoi, s'il n'y a pas de pla
Comment ajouter une pression magnétique à votre projet de couture

Comment ajouter une pression magnétique à votre projet de couture

Magnetic snaps sont grandes fermetures pour les portefeuilles, sacs, poches et bien plus encore. Voici un moyen rapide (une des nombreuses façons) d'apposer une pression magnétique à un projet de couture.Étape 1: outils et fournitures Ce sont les out
Ajouter des boutons de votre manette de jeu X52-Pro avec un Arduino Micro

Ajouter des boutons de votre manette de jeu X52-Pro avec un Arduino Micro

J'ai une configuration HOTAS Saitek X52-Pro dont je me sers pour Elite : dangereux. C'est une manette de jeu fantastique mais il pourrait faire avec juste quelques boutons de plus. À l'aide d'un Arduino Micro, vous pouvez étendre (ou toute autre) joy