Bibliothèque technique gratuite ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE Arduino. Connexion de capteurs simples. Encyclopédie de l'électronique radio et de l'électrotechnique Encyclopédie de l'électronique radio et de l'électrotechnique / Concepteur radioamateur L'ADC intégré du microcontrôleur, considéré dans la partie précédente de l'examen, facilite la connexion de divers capteurs analogiques à la carte Arduino, qui convertissent les paramètres physiques mesurés en tension électrique. Un exemple de capteur analogique simple est une résistance variable connectée à la carte, comme illustré à la figure 1. 3. Il peut être de n'importe quel type, par exemple SP33-32-2 (Fig. 10). La valeur de la résistance dans le diagramme est indiquée approximativement et peut être inférieure ou supérieure. Cependant, il convient de rappeler que plus la résistance de la résistance variable est petite, plus elle consomme de courant de l'alimentation du microcontrôleur. Et lorsque la résistance de la source de signal (dans ce cas, une résistance variable) est supérieure à XNUMX kOhm, l'ADC du microcontrôleur fonctionne avec de grandes erreurs. Veuillez noter que la résistance d'une résistance variable en tant que source de signal dépend de la position de son curseur. Elle est égale à zéro dans ses positions extrêmes et maximale (égale au quart de la résistance nominale) en position médiane.
Il est pratique d'utiliser une résistance variable lorsque vous souhaitez modifier le paramètre en douceur et non par étapes (discrètement). A titre d'exemple, considérons le travail donné dans le tableau. 1 programme qui modifie la luminosité de la LED en fonction de la position du curseur de résistance variable. La chaîne U = U/4 est nécessaire dans le programme pour convertir le nombre binaire à dix bits renvoyé par l'ADC en un nombre à huit bits, accepté comme deuxième opérande par la fonction analogWrite (). Dans le cas considéré, cela se fait en divisant le nombre d'origine par quatre, ce qui équivaut à écarter les deux bits les moins significatifs. Tableau 1 Une résistance variable de conception appropriée peut servir de capteur d'angle de rotation ou de déplacement linéaire. De même, de nombreux éléments radio peuvent lui être connectés : photorésistances, thermistances, photodiodes, phototransistors. En un mot, des appareils dont la résistance électrique dépend de certains facteurs environnementaux. Sur la fig. 3 montre un schéma de connexion d'une photorésistance à l'Arduino. Lorsque l'éclairage change, sa résistance électrique change et, par conséquent, la tension à l'entrée analogique de la carte Arduino. La photorésistance FSK-1 indiquée sur le schéma peut être remplacée par n'importe quelle autre, par exemple SF2-1.
En tableau. 2 montre un programme qui transforme une carte Arduino avec une photorésistance connectée en un simple luxmètre. Pendant son fonctionnement, il mesure périodiquement la chute de tension aux bornes de la résistance connectée en série avec la photorésistance et transmet le résultat en unités arbitraires via le port série à l'ordinateur. Sur l'écran du terminal de débogage Arduino, ils seront affichés comme indiqué sur la Fig. 4. Comme vous pouvez le voir, à un certain moment, la tension mesurée a fortement chuté. Cela s'est produit lorsqu'une photodiode très éclairée a été obscurcie par un écran opaque. Tableau 2
Pour obtenir des valeurs d'éclairement en lux (unités standard du système SI), vous devez multiplier les résultats obtenus par un facteur de correction, mais vous devrez le sélectionner expérimentalement, et individuellement pour chaque photorésistance. Cela nécessitera un posemètre exemplaire. Un phototransistor [1] ou une photodiode (Fig. 5) est connecté à l'Arduino de la même manière. En utilisant plusieurs dispositifs photosensibles, il est possible de concevoir le système de vision le plus simple pour un robot [2]. Il est également possible de mettre en œuvre de nombreuses conceptions classiques connues d'un large éventail de radioamateurs à un nouveau niveau technique - un modèle cybernétique d'un papillon nocturne [3, p. 134-151] ou une maquette de char se dirigeant vers le feu [4, p. 331, 332].
Comme pour la photorésistance, une thermistance est connectée à l'Arduino (Fig. 6), qui modifie sa résistance électrique en fonction de la température. Au lieu de la thermistance MMT-4 indiquée sur le schéma, dont le principal avantage est un boîtier scellé, vous pouvez utiliser presque n'importe quelle autre, par exemple MMT-1 ou importée.
Après un calibrage approprié [5, p. 231-255] un tel dispositif peut être utilisé pour mesurer la température dans toutes sortes de stations météorologiques domestiques, thermostats et structures similaires [6]. On sait que presque toutes les LED peuvent servir non seulement de sources lumineuses, mais également de récepteurs de lumière - des photodiodes. Le fait est que le cristal LED est dans un boîtier transparent et donc sa jonction pn est accessible à la lumière provenant de sources externes. De plus, le boîtier de la LED a généralement la forme d'une lentille qui concentre le rayonnement externe sur cette transition. Sous son influence, par exemple, la résistance inverse de la jonction pn change. En connectant la LED à la carte Arduino selon le schéma illustré à la fig. 7, une seule et même LED peut être utilisée à la fois pour l'usage auquel elle est destinée et comme photocapteur [7]. Le programme illustrant ce mode est présenté dans le tableau. 3. Son idée est que d'abord, une tension inverse est appliquée à la jonction pn de la LED, chargeant sa capacité. La cathode de la LED est ensuite isolée en configurant la broche de l'Arduino à laquelle elle est connectée en tant qu'entrée. Après cela, le programme mesure la durée, en fonction de la lumière ambiante, de décharge de la capacité de la jonction pn de la LED par son propre courant inverse à un niveau logique zéro.
Tableau 3 Dans le programme ci-dessus, la variable t est déclarée comme entier non signé - un entier non signé. Une variable de ce type, contrairement à un int ordinaire qui prend des valeurs de -32768 à +32767, n'utilise pas son bit le plus significatif pour stocker le signe et peut prendre des valeurs de 0 à 65535. Le programme calcule le temps de décharge dans la boucle while(digitalRead (K)!=0)t++. Cette boucle est exécutée, en incrémentant t de un à chaque fois, jusqu'à ce que la condition entre parenthèses soit vraie, c'est-à-dire jusqu'à ce que la tension de cathode de la LED passe au niveau bas. Parfois, il est nécessaire que le robot non seulement reçoive des informations sur l'éclairage de la surface sur laquelle il se déplace, mais soit également capable de déterminer sa couleur. Un capteur de couleur de la surface sous-jacente est mis en œuvre, l'éclairant alternativement avec des LED de différentes couleurs de luminescence et comparant, à l'aide d'une photodiode, les niveaux de signaux réfléchis par celle-ci sous différents éclairages [8]. Le schéma de connexion des éléments du capteur de couleur avec la carte Arduino est illustré à la fig. 8, et le programme qui le sert - dans le tableau. 4.
Tableau 4 La procédure de mesure des signaux reçus par la photodiode sous différents éclairages de la surface est répétée plusieurs fois et les résultats obtenus sont accumulés afin d'éliminer les erreurs aléatoires. Le programme sélectionne alors la plus grande des valeurs accumulées. Cela vous permet de juger grossièrement de la couleur de la surface. Pour déterminer plus précisément la couleur, il est nécessaire de compliquer le traitement des résultats, en tenant compte non seulement du plus grand d'entre eux, mais également de son rapport avec les plus petits. Il est également nécessaire de prendre en compte la luminosité réelle des LED de différentes couleurs de luminescence, ainsi que les caractéristiques spectrales de la photodiode appliquée. Un exemple de conception de capteur de couleur composé de quatre LED et d'une photodiode est illustré à la Fig. 9. Les axes optiques des LED et de la photodiode doivent converger en un point sur la surface étudiée et les dispositifs eux-mêmes doivent être situés le plus près possible de celle-ci afin de minimiser l'effet d'un éclairage étranger.
Le capteur assemblé nécessite un étalonnage individuel minutieux sur des surfaces de différentes couleurs. Il se réduit à une sélection de coefficients par lesquels les résultats de mesure obtenus sous différents éclairements doivent être multipliés avant comparaison. Un robot équipé d'un tel capteur peut apprendre à exécuter des algorithmes de mouvement intéressants. Par exemple, il pourra se déplacer dans le champ de travail d'une couleur sans violer les limites des zones "interdites" peintes dans une couleur différente. Les programmes discutés dans l'article peuvent être trouvés sur ftp://ftp.radio.ru/pub/2016/10/asensors.zip. littérature
Auteur : D. Lekomtsev Voir d'autres articles section Concepteur radioamateur. Lire et écrire utile commentaires sur cet article. Dernières nouvelles de la science et de la technologie, nouvelle électronique : Cuir artificiel pour émulation tactile
15.04.2024 Litière pour chat Petgugu Global
15.04.2024 L’attractivité des hommes attentionnés
14.04.2024
Autres nouvelles intéressantes : ▪ Les stéréotypes de genre s'appliquent même aux bébés ▪ Voiture électrique Volkswagen e-Golf ▪ En Europe, l'USB Type-C est devenu le port de charge standard des smartphones. ▪ Technologie Qi pour le chargement sans fil de la batterie ▪ Bague intelligente pour femme Evie Fil d'actualité de la science et de la technologie, nouvelle électronique
Matériaux intéressants de la bibliothèque technique gratuite : ▪ rubrique du site Plantes cultivées et sauvages. Sélection d'articles ▪ article Chante bien, chien, chante de manière convaincante. Expression populaire ▪ Directeur des ventes d'articles. Description de l'emploi
Laissez votre commentaire sur cet article : Toutes les langues de cette page Page principale | bibliothèque | Articles | Plan du site | Avis sur le site www.diagramme.com.ua |