Créer des applications professionnelles avec Arduino UNO 

Comprendre le fonctionnement de la liaison série

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
La liaison série asynchrone est plus utilisée que la liaison synchrone. Découvrez le fonctionnement de la liaison asynchrone, par le biais des microcontrôleurs et des broches RX et TX.
05:16

Transcription

Dans cette vidéo, nous allons nous attarder sur le protocole série. Alors Tout d'abord j'attire votre attention sur le fait que en fait les broches qui sont mises en cause en fait dans le protocole série sont Tx et Rx, donc respectivement les broches zéro et R. Vous voyez en fait qu'ici vous avez un noeud. En effet, en fait comme nous l'avons expliqué auparavant, le flux de données arrive par le biais de votre PC via en fait l'USB, traité par ce premier microcontrôleur Atmel et en fait est converti en Rx/Tx ici pour le microcontrôleur que vous utilisez. Si vous venez brancher un hôte ici, forcément le problème c'est que vous allez avoir interférence entre les deux signaux et la communication va mal se faire et vous n'allez pas pouvoir téléverser. Donc la première chose à faire en fait est de déconnecter votre récepteur qui fonctionne en Rx/Tx et simplement de téléverser votre programme avant et de connecter votre récepteur après. C'est quelque chose d'extrêmement important sinon ça ne fonctionne pas. Alors après au niveau du programme on va dire que vous avez une bibliothèque Serial qui va vous permettre en fait de configurer votre liaison. D'ailleurs commençons tout de suite par Serial.begin où en fait on vous donne le baud rate, c'est-à-dire le nombre de bits par seconde que vous allez envoyer. Donc ça correspond en fait à la vitesse. Simplement ces vitesses sont normées, voyez que ce sont à chaque fois des multiples qui sont multipliés par 2 et ça s'arrête à 115200 : vous n'irez pas au-dessus puisque en fait l'ATmega est dans l'incapacité de monter au-dessus. Alors vous allez configurer la vitesse et après vous allez configurer certainement d'autres choses, notamment ce que l'on appellera le deuxième bit de stop et la parité. Alors pour cela je vais m'appuyer en fait sur la notice technique de notre ATmega et on voit un petit peu quel est le type de trame que l'on va envoyer. Il faut savoir que la trame peut être synchrone ou asynchrone. Alors par défaut, lorsque vous utilisez donc les bibliothèques d'Arduino, elles sont forcément asynchrones donc c'est pour ça que vous n'avez que deux fils : Rx et Tx. Alors vous avez toujours un bit de start, les données qui vous sont envoyées sont toujours sur 1 octet et après vous avez la possibilité de mettre une parité ou pas et un deuxième bit de stop ou pas. En général, on se passe de la parité et du deuxième bit de stop. Cela dit, il faut quand même une petite explication concernant la parité. Imaginons que j'ai configuré une parité paire. Dans ce cas-là, ça veut dire que le nombre de bits qui va être mis à 1 dans la donnée que je vais envoyer, plus le bit de parité doit donner un nombre pair. Exemple : si je mets 1, 1, 1 et tout le reste à zéro + un 1 ici parce que ma parité j'ai décidé qu'elle serait paire, ça va nous faire 4. La parité sera bien paire, donc on va venir placer le 1, il n'y a pas de problème. Je vous rappelle que en fait vous n'avez pas besoin de positionner ce bit, il est fait naturellement par le mécanisme interne. Par contre, c'est à vous de définir le type de parité que vous voulez. Il faut absolument que les parités soient les mêmes entre l'émetteur et le récepteur donc entre votre carte Arduino et puis votre récepteur. Alors à partir de là, vous pouvez choisir aussi une parité impaire. En tout cas, rien ne vous y empêche et sinon pas de parité. Alors à quoi sert la parité en quelques mots ? Là, c'est marqué un peu de façon scientifique. Ça permet de savoir si en fait vous avez eu une erreur dans la trame qui vous a été envoyée. Donc en gros si il y a un bit qui est passé de 1 à zéro, on va pouvoir le détecter grâce à la parité. Par contre si vous avez deux erreurs consécutives, là la parité ne va pas pouvoir faire le travail et l'erreur ne sera pas détectée. Alors en général dans nos applications telles qu'elles sont prévues ici c'est pour relier en fait ce qu'on appelle les cartes Shield au-dessus qui vont nous permettre de communiquer de pin à pin sur des distances très très courtes. Par contre si vous venez à utiliser en fait votre carte Arduino cette fois-ci pour des distances beaucoup plus longues par le biais notamment d'un protocole rs232, dans ce cas-là il peut s'avérer utile d'utiliser la parité. Dans tous les cas, vous aurez besoin donc la vitesse à savoir par défaut ici 9600 Bauds et aucun autre paramètre supplémentaire puisque de toute façon, nous travaillons vraiment sur des distances qui sont très très courtes, à savoir de l'ordre de quelques dizaines de centimètres qui correspondent donc à la longueur des fils. d'y mettre a minima et c'est ce que l'on fera tout au long de cette formation

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
Mis à jour le:22 sept. 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 !