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 

Étudier le fonctionnement du capteur TC74

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Avec votre formateur, vous étudierez la notice technique du capteur de température TC74, qui fonctionne avec le protocole I²C.
09:34

Transcription

Dans cette vidéo, nous allons essayer de voir de façon un peu plus spécifique le fonctionnement de l'I2C sur un composant, à savoir si le TC74, qui est en fait un simple capteur de température, qui fonctionne sur le protocole I2C. Donc en fait nous allons utiliser ce boîtier là, donc le TO-220 donc vous retrouvez bien les broches SDA et SCL, ainsi que le GND et le VDD, qui sont donc le 0 volts et le + de l'alimentation. À partir de là, on va essayer de retrouver les choses importantes au niveau des caractéristiques techniques, à savoir que par exemple, la capacitance d'entrée, ce fameux condensateur équivalent que l'on trouve sur l'entrée, en fonctionnement à 100 kHz et de 80 pF. Donc vous voyez que vous Attention, il ne faut pas le confondre avec le Cin qui est ici, qui est en fait la capacitance en fonctionnement hors fréquence d'horloge. Celle-ci évolue en fonction de la fréquence de l'horloge, et ici, c'est bien la capacitance statique, on va dire. Ensuite, vous avez toujours vos 4,7 ms, qu'il ne faut pas dépasser, sinon le maître perd en fait la main sur le bus, et un autre maître peut prendre dans ce cas la main sur ce même bus. Alors on va continuer un peu notre prospection. On vous rappelle des petites choses. Donc on va continuer. Et puis nous allons descendre jusqu'ici. Alors en fait sur ce capteur, vous avez la possibilité de lui donner des commandes. En fait il n'y a vraiment qu'une seule commande qui est intéressante, c'est la commande de mise en sommeil. Alors en blanc, vous avez tout ce que le maître va devoir envoyer, et en gris ce que l'esclave, donc le TC74, va devoir répondre. Vous aurez une condition de start, vous aurez votre adresse sur 7 bits, pour l'identifiant, vous allez dire que vous allez vouloir écrire, il va vous faire un acknowledge, et vous allez envoyer le registre qui correspond donc au nom du registre de la commande, et après la donnée que vous voulez mettre dans cette commande. Alors ici, c'est vrai qu'il n'y en a pas cinquante, il n'y en a que deux, donc c'est assez rapide. Alors nous, par contre, on va vite converger vers ce schéma-là, qui est le plus simple. En fait, on va simplement demander à notre capteur de nous donner la température de façon continue. Donc on va envoyer une condition de start, on va lui envoyer son adresse, puis on va envoyer un read, pour pouvoir lire des données, et dans ce cas-là, on va attendre simplement que le TC74 nous renvoie un acknowledge, puis la donnée sur 8 bits, qui est l'image de la température. Puis on fera un non-acknowledge et un stop pour clôturer la session. Alors, vous voyez ici, on vous donne en fait le format de la température sur les 8 bits qui vous seront envoyés. Et il y a une question qu'on peut se poser : comment fait-on pour connaître l'adresse ? Alors en fait, l'adresse va dépendre des boîtiers. Là, c'est gravé dans le silicium, si vous prenez un TC74 à 0, son adresse physique sera celle-ci. Si vous prenez un à 3, c'est ce que l'on va faire, par exemple, son adresse sera celle-ci. Alors vous voyez, les sur 7 bits, normal parce que le 8ème bit sert au read ou au write. Donc voilà comment on retrouve l'adresse qui nous intéresse sur le TC74. Alors il y a aussi d'autres possibilités, vous avez des composants où vous pouvez vous même affecter l'adresse, de façon soft, notamment si vous voulez faire communiquer en I2C deux cartes Arduino entre elles. Et puis après vous avez d'autres composants, où cette fois-ci c'est en soudant les pattes en fait sur le GND, donc à savoir au 0 volts, et au VDD ou VCC, donc à savoir au 5 volts, par exemple, vous allez obtenir une combinaison qui va vous donner une adresse qui va être physique, parce que vous aurez soudé les bonnes pattes au bon endroit. Et là je pense notamment aux mémoires EEPROM (?) externes qui fonctionnent beaucoup sur ce principe. Donc voilà un peu comment nous allons utiliser notre TC74. Alors au niveau de notre carte Arduino, on vous rappelle simplement que les broches SDA et SDL, donc se trouvent bien en A4 et A5, et à partir de là, vous avez toute une pléthorique de méthodes qui vont vous permettre de configurer votre bus I2C, à savoir par exemple le begin, pour pouvoir le configurer, soit en maître, soit en esclave, envoyer une requête, commencer une transmission, une fin de transmission, enfin tout cela est fortement typé. Le nom de la classe parle d'elle-même, et c'est ce que nous allons utiliser pour notre programme, pour pouvoir effectuer la mise en service de notre TC74. Dans cette vidéo, nous allons mettre en œuvre le protocole I2C. Alors pour cela, on va sortir depuis A4 le SDA, et depuis A5 le SCL, respectivement en vert et jaune, et nous allons mettre en faite trois TC74 l'un derrière l'autre sur notre plaque. Et puis nous allons ajouter nos résistances de tirage, que nous allons mettre en fait simplement au + 5 volts. On met aussi le GND, forcément, pour pouvoir avoir notre alimentation dans nos capteurs, et puis là pour le coup c'est plutôt rare, mais toutes les broches doivent être mises sur les mêmes rangées, puisque de toutes façons elles se partagent le même bus. Alors tout de suite on va regarder au niveau du code, donc là je vous rappelle les valeurs qui sont affectées donc A4 pour SDA et A5 pour SCL, et je reprends en fait les valeurs des différents boîtiers TC74 vus précédemment. Alors je les ai convertis de binaire en hexadécimal, pour dire de changer un petit peu de base, et puis, plutôt que de mettre ceci en adresse, ce qui est totalement indigeste, je mets adresseTC7410, 13, et 15, qui sont les cinq boîtiers que j'ai actuellement sous la main. Après, je vais définir le baudrate, que je vais passer en paramètre, et puis aussi le temps d'échantillonnage entre plusieurs acquisitions de température. Et puis à partir de là, je vais aussi créer deux variables qui vont me permettre de convertir la température reçue en degrés Celsius, ce sera donc pour l'affichage, mais surtout d'effectuer aussi le calcul pour l'avoir par exemple en degrés Fahrenheit. Vu que je vais effectuer de l'affichage une fois de plus, donc je fais mon Serial.begin avec mon 9600 au niveau du baudrate. Alors c'est pareil niveau du baudrate, je voudrais m'arrêter juste dix petites secondes pour vous dire que 9600 est la valeur la plus standard, simplement parce que dès que vous ouvrez en fait votre moniteur, il est à 9600. Donc pour ne pas se donner la peine de changer, on le met toujours à 9600. Par ailleurs, on va donc initialiser notre ISO I2C. Alors pour cela on va simplement écrire Wire.begin, et puis la fréquence d'horloge va se mettre automatiquement à 100 kHz. Alors ça, moi je vais vous dire, il faut creuser un peu pour le savoir, si c'est du 100 ou du 400 kHz, parce que, comme vous pouvez le constater, on ne vous dit absolument rien sur la page officielle de chez Arduino. Et après donc, on va faire un Serial.print, voilà, et puis on va commencer donc dans notre boucle principale, on va commencer à s'adresser à nos différents esclaves. Alors je commence par le premier, ou, en fait il a l'adresse, et puis je mets un deuxième paramètre derrière cette méthode, que l'on retrouve d'ailleurs ici, qui vous dit que, simplement, l'adresse de l'esclave que vous avez interrogé, et puis surtout la quantité d'octets que vous allez lui transmettre, afin de ne pas perdre l'arbitrage du bus. Alors ici, nous on ne va envoyer qu'un seul octet, puisque en fait, ce qui nous intéresse, c'est de recevoir la température. À partir de là, dès que l'adresse est envoyée sur le bus, je n'ai plus qu'à lire cette valeur sur le bus avec Wire.read, que je vais stocker dans Température en degrés Celsius. Après, pour voir ma température en degrés Fahrenheit, j'utilise la simple petite relation que l'on trouve expressément sur votre moteur de recherche préféré, et puis vous pouvez afficher la température en degrés Celsius et en degrés Fahrenheit. Évidemment, j'ai fait trois fois la même chose, simplement en changeant l'adresse de mes différents esclaves. Alors voyons tout de suite si ça fonctionne. Donc le téléversement se fait juste après la compilation, je vais dans Outils, je vais dans Moniteur série, et là je vois la température qui s'affiche. Alors, mes différents esclaves sont l'un à côté de l'autre, normalement je devrais quasiment avoir la même température. Là, je vais commencer à mettre mes doigts un peu sur les boîtiers, on va voir si A0 doit commencer à grimper aussi, voilà. Donc tout doucement mais sûrement, je n'ai pas de sèche-cheveux sous la main donc je ne peux pas vraiment influencer de façon radicale la température, mais vous voyez que ça monte tout doucement, il n'y a aucun problème avec ça. à vos 400 pF en termes de limite.

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 !