Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Créer des applications professionnelles avec Arduino UNO 

Mettre en place la liaison SPI côté maître

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Dans cette vidéo, vous activerez la liaison SPI entre deux cartes UNO, puis vous étudierez la liaison du côté maître.
05:12

Transcription

Dans cette vidéo, nous allons mettre en oeuvre donc une liaison SPI entre deux cartes Arduino. Alors ici, nous allons avoir la connexion par le biais de l'USV, qui va nous permettre en fait de rapatrier les données depuis notre carte dite maîtresse, et qui va communiquer en fait, simplement des requêtes auprès de la carte esclave qui, elle, va être toute seule. Elle va être juste alimentée par le biais du 5 volts et du 0 volts qui est ici. Alors, côté maître, comment cela va-t-il se passer au niveau du code ? Alors, en fait, c'est assez simple hein, on va utiliser la bibliothèque SPI.H, on va déclarer 4 octets, alors c'est pour ça que j'ai utilisé le mot-clé byte, et non pas int, parce que là, pour les besoins pédagogiques, on va vraiment mettre un octet, parce que c'est vraiment un registre de réception qui est sur 8 bits. Pour pouvoir afficher en fait ce que l'esclave va nous renvoyer comme réponse, on va préparer notre liaison série sur 9600 bauds, on va mettre donc un caractère de retour à la ligne, et puis on va s'assurer que notre esclave n'est pas sollicité, donc on met la broche select slave, ou vous mettez 10, c'est comme vous voulez, et, à l'état haut, ce qui permettra en fait simplement d'éviter que par défaut, en fait, l'esclave soit déjà interrogé dès le départ. A partir de là, vous pouvez faire appel en fait à la méthode Egin, qui vient en fait de la classe SPI, qui va nous permettre d'initialiser notre liaison SPI. Et alors ici, vous pouvez lui mettre Aucun paramètre, ou vous pouvez lui en mettre, ça dépend en fait de l'utilisation que vous voulez en faire. Ici, nous n'en avons pas besoin et je vous renvoie donc, justement, hein, toujours à l'aide, donc c'est là, à la Référence, pour retrouver, en fait, les paramètres qui vous sont nécessaires. Là-dessus, on ajoute aussi l'horloge, hein, simplement. Alors là, en fait, c'est un sous-multiple du cadencement du quartz. Alors ici, eh bien on va avoir une horloge interne qui va être réglée à l'horloge externe du quartz qui est à 16 mega, divisés par 8. Cette horloge, évidemment, sera synchrone des deux côtés. Concernant cette fonction, maintenant, que j'appelle Transfert en octets, c'est une fonction qui va permettre en fait de recevoir en paramètre d'entrée, eh bien la valeur d'un d'octet. Cette valeur d'octet, je vais l'envoyer en fait par le biais du port SPI, et puis je vais stocker en fait cette valeur dans une variable que j'appelle Valeur, et Valeur va être retournée en paramètre de sortie, cette fois-ci de ma fonction, ce qui va me permettre en fait d'aller beaucoup plus vite, et d'envoyer vraiment une donnée en même temps que je vais en recevoir une. Et je mets en fait une petite temporisation de vingt micro-secondes entre chaque envoi. Alors justement, du coup ça va simplifier énormément la tâche. A partir de là, dans ma boucle principale, je vais faire quoi ? En fait deux choses, soit une addition, soit une soustraction. Alors, dès que je vais transférer en fait le a au maître, après l'avoir sélectionné, donc avoir mis la broche ss à l'état bas, eh bien, cette fois-ci, l'esclave va savoir qu'il doit faire une addition. Alors, cette addition en fait, je l'ai déjà implémentée dans l'esclave et, chaque fois, je lui demande d'ajouter 5 à la requête que je vais lui envoyer. Alors, je lui envoie un a, par contre je vais recevoir une réponse que je ne gère pas. Donc, pour le coup, ça va être en fait une valeur morte, non lue, et tout de suite après, je lui envoie un 10. Donc, au retour, je vais obtenir quoi ? Eh bien, je vais obtenir donc, 10 plus le 5 que j'ai implémenté du côté esclave. Mais dans la foulée, puisque je reçois, il faut que je puisse émettre aussi. On est vraiment sur une liaison que l'on appelle Full Duplex. Donc ça, c'est un anglicisme qui n'a pas d'équivalent en français ,et c'est vraiment le terme technique. Alors à partir de là, vous voyez, je transfère, et donc je vais me retrouver à chaque fois à additionner 5, parce que cette valeur 5, c'est celle que j'ai implémentée dans l'esclave. Et après, je demande à effectuer en fait, sur ma liaison série, l'affichage du résultat que l'on attend. Donc ici, ça va être 20 plus 5, mais que je vais recevoir plus tard, 30 plus 5, que je vais recevoir le coup d'après, 40 plus 5, que je vais recevoir le coup d'après. Et donc je réinitialise le 0 à la fin, qui va pouvoir en fait terminer la commande. Alors, je fais la même chose au niveau de la soustraction, et j'effectue en fait cette routine toute les 5 secondes.

Créer des applications professionnelles avec Arduino UNO 

Mettez en œuvre des périphériques de communication de votre carte Arduino UNO. Abordez les protocoles de communication et concevez des applications ludiques et professionnelles.

3h12 (39 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Arduino UNO Arduino UNO Rev3
Spécial abonnés
Date de parution :31 août 2017

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !