Menu English Ukrainian Russe Accueil

Bibliothèque technique gratuite pour les amateurs et les professionnels Bibliothèque technique gratuite


ENCYCLOPÉDIE DE LA RADIOÉLECTRONIQUE ET DU GÉNIE ÉLECTRIQUE
Bibliothèque gratuite / Schémas des appareils radio-électroniques et électriques

Arduino. Opérations d'entrée-sortie analogique, travail avec un son. Encyclopédie de l'électronique radio et de l'électrotechnique

Bibliothèque technique gratuite

Encyclopédie de l'électronique radio et de l'électrotechnique / Concepteur radioamateur

Commentaires sur l'article Commentaires sur l'article

Bien que les opérations d'entrée-sortie numériques permettent de résoudre un large éventail de problèmes, la présence d'un convertisseur analogique-numérique (ADC) intégré dans le microcontrôleur de la carte Arduino et la possibilité de produire des signaux analogiques en utilisant la modulation de largeur d'impulsion ( PWM) assurent le travail avec des capteurs analogiques et toutes sortes d'actionneurs, influençant l'objet proportionnellement au signal de commande.

À proprement parler, en mode sortie, toutes les lignes de port Arduino ne peuvent transmettre que des signaux discrets n'ayant que deux états. Mais le microcontrôleur est capable de changer ces états très rapidement, en générant des impulsions rectangulaires. Si ces impulsions sont appliquées à un dispositif doté de propriétés inertielles, celui-ci commencera à se comporter comme si la tension qui lui est fournie était constante, égale à la valeur moyenne de l'impulsion, et changeait en douceur, et non par sauts entre haut et bas. niveaux logiques.

En mode PWM, le port génère un signal d'impulsion de fréquence constante et de rapport cyclique variable (c'est le rapport entre la période de répétition des impulsions et leur durée). Souvent, au lieu du rapport cyclique, ils fonctionnent avec sa valeur inverse - le rapport cyclique, qui peut être modifié de 0 (pas d'impulsions) à 100 % (les impulsions suivent, fusionnent, sans pauses). Ainsi, même si à un instant donné la tension de sortie correspond à un niveau logique haut ou bas, sa valeur moyenne est proportionnelle au rapport cyclique. Si vous connectez un multimètre ordinaire à cette sortie, il affichera cette valeur (bien sûr, si la fréquence d'impulsion est suffisamment élevée).

Dans Arduino UNO, les sorties D3, D5, D6, D9, D10 et D11 peuvent fonctionner en mode PWM. Ils sont généralement marqués sur le tableau avec des signes « ~ » ou les abréviations « PWM ». Il convient de noter que les cartes Arduino d'autres modifications peuvent avoir plus ou moins de telles sorties.

Dans le cas le plus simple, le PWM peut être utilisé pour contrôler la luminosité d'une LED. Cet appareil est pratiquement sans inertie, mais la vision humaine a une inertie suffisante pour qu'une séquence de flashs rapides de LED soit perçue comme une lueur continue avec une luminosité dépendant du facteur de remplissage.

Les sorties discrètes capables de générer du PWM sont configurées pour utiliser ce mode par défaut, il n'est donc pas nécessaire d'appeler la fonction pinMode() pour les faire fonctionner dans ce mode. Pour définir le rapport cyclique d'un signal PWM, il existe une fonction standard analogWrite(N, M), où N est le numéro de broche, M est un nombre proportionnel au rapport cyclique requis. Il doit être compris entre 0 et 255, 0 correspondant à un rapport cyclique nul (niveau bas constant en sortie), 255 à un rapport cyclique 100 % (niveau haut constant en sortie). Les chronogrammes de la tension de sortie à certaines valeurs de M et, par conséquent, le rapport cyclique de court-circuit sont illustrés à la Fig. 1.

Arduino. Opérations d'E/S analogiques, opérations audio
Riz. 1. Chronogrammes de la tension de sortie

Par exemple, considérons celui donné dans le tableau. 1 programme qui augmente progressivement la luminosité de la LED connectée à la sortie numérique D9, puis la diminue progressivement. Il est basé sur l'exemple standard 3.AnalogFading fourni avec l'IDE Arduino. L'énumération des valeurs du rapport cyclique d'impulsion est implémentée ici en utilisant les opérateurs de boucle for déjà évoqués dans [1].

Tableau 1.

Arduino. Opérations d'E/S analogiques, opérations audio

Pour recevoir des signaux analogiques de périphériques externes dans Arduino, les entrées A0-A5 sont destinées, qui sont définies par défaut sur l'état requis pour cela, aucune initialisation supplémentaire n'est donc requise. L'ADC intégré à l'Arduino UNO génère des codes binaires de 10 bits et convertit la tension d'entrée, comprise entre 0 et +5 V, en un nombre entier de 0 à 1023 (210-1).

Pour lire le résultat de la conversion, utilisez la fonction analogRead(N), où N est le numéro de l'entrée analogique.

Vous pouvez connecter divers capteurs aux entrées analogiques Arduino, dont la tension de sortie est proportionnelle à la valeur mesurée (résistances variables, thermistances, photorésistances, etc.). Cependant, il ne faut pas oublier que l'entrée analogique ne peut être alimentée qu'avec une tension de 0 à +5 V. Si la tension de sortie du capteur se situe dans une plage différente ou est de polarité négative, le signal doit d'abord être placé dans la plage spécifiée. gamme. L'entrée analogique est interrogée à une fréquence inférieure à 10 kHz [2], ce qui peut ne pas être suffisant pour analyser certains signaux changeant rapidement.

La présence d'entrées analogiques vous permet de transformer Arduino en un simple voltmètre numérique qui mesure la tension continue de 0 à +5 V et transmet le résultat de la mesure à l'ordinateur. Pour ce faire, chargez simplement le programme indiqué dans le tableau dans Arduino. 2.

Tableau 2

Arduino. Opérations d'E/S analogiques, opérations audio

Veuillez noter que dans le programme, la tension ADC de référence Uref (en millivolts) et le facteur de conversion du code de sortie ADC en tension Ku sont spécifiés comme constantes. La valeur du coefficient est calculée en divisant la tension de référence donnée par 1023. Le coefficient est généralement fractionnaire, donc la constante Ki est de type float (nombre à virgule flottante). La constante Uref a le même type pour calculer correctement le coefficient. Puisque le côté droit de la formule ne contient que des constantes, le coefficient n'est pas calculé par le microcontrôleur lors de l'exécution du programme, mais par le compilateur lui-même au stade de sa traduction.

Tout cela vous permet d'augmenter la précision du voltmètre en mesurant avec un multimètre la valeur exacte de la tension de référence au niveau de la broche Uref de la carte Arduino et en l'écrivant dans le programme, en l'attribuant à la constante Uref. Vous pouvez découvrir d'autres moyens d'améliorer la précision de la conversion analogique-numérique dans [3, 4].

Lorsque le programme en question est en cours d'exécution, la LED TX de la carte clignote, signalant le transfert d'informations via le port série. La LED RX n'est pas allumée car l'ordinateur ne renvoie rien. Le terminal Arduino IDE intégré affiche les informations reçues (Fig. 2) - les résultats de la mesure de la tension d'une batterie galvanique 3332.

Arduino. Opérations d'E/S analogiques, opérations audio
Riz. 2. Fenêtre du programme

Arduino peut fournir non seulement de la lumière, mais également des signaux sonores. Pour ce faire, vous devez connecter un émetteur sonore piézo, par exemple ZP-1, à l'une de ses sorties (Fig. 3).

Arduino. Opérations d'E/S analogiques, opérations audio
Riz. 3. Connexion d'un émetteur de son piézo

Pour travailler avec le son, une fonction spéciale est fournie : tonalité(N, F, T), où N est le numéro de broche sur lequel les impulsions rectangulaires seront générées ; F - fréquence sonore, Hz ; T - durée du son, ms. Le dernier paramètre est facultatif. En son absence, le son sera continu. Pour l'éteindre, la fonction noTone(N) est fournie.

Bien entendu, l'émetteur sonore piézocéramique peut difficilement être qualifié d'appareil de lecture de haute qualité, et le signal généré par le microcontrôleur a une forme rectangulaire, cependant, l'utilisation de ces fonctions vous permet de jouer des mélodies simples. Un exemple est donné dans le tableau. 3. Il s'agit d'un exemple de programme légèrement modifié 02.Digital oneMelody, inclus dans l'IDE Arduino. Comme il n'est pas pratique de régler manuellement la fréquence de chaque note d'une mélodie, le fichier pitchs.h est attaché au programme dans son en-tête à l'aide de la directive #include. Cette opération équivaut à inclure le texte intégral de ce fichier dans le programme. Dans ce cas, il contient une liste des noms des notes pouvant être jouées et leurs fréquences.

Tableau 3

Arduino. Opérations d'E/S analogiques, opérations audio

L'émetteur de son doit être connecté à la sortie D8.

Pour un programme, une mélodie est une séquence de constantes du même type (valeurs de fréquence), qui sont commodément combinées dans un tableau - une liste numérotée d'éléments du même type. Lors de la déclaration d'un tableau, vous devez soit lister tous ses éléments, soit indiquer leur nombre total. Veuillez noter que la numérotation des éléments du tableau commence toujours à zéro.

Dans l'exemple considéré, deux tableaux sont utilisés : int melody[] contient les noms des notes mélodiques, int note Durations[] - leur durée en millisecondes. Pour faire référence à un élément du tableau, indiquez son nom avec un numéro de série entre crochets. Pour pouvoir modifier facilement le nombre de notes d'une mélodie, il est calculé à l'aide des fonctions sizeof(V), qui renvoient le nombre d'octets occupés par son argument (variable ou tableau de celles-ci) dans la mémoire du microcontrôleur. Dans ce cas, le tableau melody occupe 16 octets et la longueur de ses éléments int est de deux octets. Par conséquent, la variable Note reçoit la valeur 8 et c'est le nombre de fois que le corps de la boucle for sera répété, une à une en jouant les notes.

Si vous ajoutez plusieurs notes au tableau melody[], la valeur de la note changera en conséquence. N'oubliez pas d'ajouter le tableau noteDurations[] avec les durées de ces notes.

Puisque la mélodie n’est exécutée qu’une seule fois, toutes les opérations nécessaires sont placées dans la fonction setup().

Pour réexécuter, vous devez réinitialiser le microcontrôleur à son état d'origine en appuyant sur le bouton RESET situé sur la carte Arduino.

Les programmes pour Arduino discutés dans l'article peuvent être téléchargés à partir de ftp://ftp.radio.ru/pub/2016/09/aninout.zip.

littérature

  1. Lekomtsev D.Arduino. Opérations d'entrée/sortie numérique. - Radio, 2016, n°8, p. 51-54.
  2. Mesures analogiques avec Arduino. - URL : robotosha.ru/arduino/analog-measurements-arduino.html.
  3. Référence du langage Arduino. E/S analogiques - analogReference(). - URL : arduino.cc/en/Reference/AnalogReference.
  4. Fonction analogReference(). - URL : arduino.ru/Reference/AnalogReference.

Auteur : D. Lekomtsev

Voir d'autres articles section Concepteur radioamateur.

Lire et écrire utile commentaires sur cet article.

<< Retour

Dernières nouvelles de la science et de la technologie, nouvelle électronique :

Cuir artificiel pour émulation tactile 15.04.2024

Dans un monde technologique moderne où la distance devient de plus en plus courante, il est important de maintenir la connexion et un sentiment de proximité. Les récents développements de la peau artificielle réalisés par des scientifiques allemands de l'Université de la Sarre représentent une nouvelle ère dans les interactions virtuelles. Des chercheurs allemands de l'Université de la Sarre ont développé des films ultra-fins capables de transmettre la sensation du toucher à distance. Cette technologie de pointe offre de nouvelles opportunités de communication virtuelle, notamment pour ceux qui se trouvent loin de leurs proches. Les films ultra-fins développés par les chercheurs, d'à peine 50 micromètres d'épaisseur, peuvent être intégrés aux textiles et portés comme une seconde peau. Ces films agissent comme des capteurs qui reconnaissent les signaux tactiles de maman ou papa, et comme des actionneurs qui transmettent ces mouvements au bébé. Les parents touchant le tissu activent des capteurs qui réagissent à la pression et déforment le film ultra-fin. Ce ...>>

Litière pour chat Petgugu Global 15.04.2024

Prendre soin de vos animaux de compagnie peut souvent être un défi, surtout lorsqu'il s'agit de garder votre maison propre. Une nouvelle solution intéressante de la startup Petgugu Global a été présentée, qui facilitera la vie des propriétaires de chats et les aidera à garder leur maison parfaitement propre et bien rangée. La startup Petgugu Global a dévoilé des toilettes pour chats uniques qui peuvent automatiquement chasser les excréments, gardant votre maison propre et fraîche. Cet appareil innovant est équipé de divers capteurs intelligents qui surveillent l'activité des toilettes de votre animal et s'activent pour nettoyer automatiquement après utilisation. L'appareil se connecte au réseau d'égouts et assure une élimination efficace des déchets sans intervention du propriétaire. De plus, les toilettes ont une grande capacité de stockage jetable, ce qui les rend idéales pour les ménages comptant plusieurs chats. La litière pour chat Petgugu est conçue pour être utilisée avec des litières solubles dans l'eau et offre une gamme de ...>>

L’attractivité des hommes attentionnés 14.04.2024

Le stéréotype selon lequel les femmes préfèrent les « mauvais garçons » est répandu depuis longtemps. Cependant, des recherches récentes menées par des scientifiques britanniques de l’Université Monash offrent une nouvelle perspective sur cette question. Ils ont examiné comment les femmes réagissaient à la responsabilité émotionnelle des hommes et à leur volonté d'aider les autres. Les résultats de l’étude pourraient changer notre compréhension de ce qui rend les hommes attrayants aux yeux des femmes. Une étude menée par des scientifiques de l'Université Monash aboutit à de nouvelles découvertes sur l'attractivité des hommes auprès des femmes. Dans le cadre de l'expérience, des femmes ont vu des photographies d'hommes avec de brèves histoires sur leur comportement dans diverses situations, y compris leur réaction face à une rencontre avec une personne sans abri. Certains hommes ont ignoré le sans-abri, tandis que d’autres l’ont aidé, par exemple en lui achetant de la nourriture. Une étude a révélé que les hommes qui faisaient preuve d’empathie et de gentillesse étaient plus attirants pour les femmes que les hommes qui faisaient preuve d’empathie et de gentillesse. ...>>

Nouvelles aléatoires de l'Archive

Trottinette électrique Xiaomi 18.12.2016

Xiaomi a introduit une autre nouveauté - un scooter électrique, qui peut être acheté à un prix estimé de 240 $.

La nouveauté a un design minimaliste. Le cadre est en aluminium de qualité aéronautique. Le véhicule pèse 12,5 kg.
La batterie lithium-ion offre une autonomie allant jusqu'à 30 km. Dans le même temps, le scooter est capable d'atteindre des vitesses allant jusqu'à 25 km / h.

La nouveauté se caractérise par un design pliant. Des freins à disque avant et arrière sont installés. Soit dit en passant, l'efficacité du freinage est augmentée par le système de freinage antiblocage E-ABS.

Le scooter est équipé de feux de position. Il y a un indicateur de quatre LED qui informe sur le niveau de charge de la batterie.

Les informations sur l'état du véhicule peuvent être consultées sur l'application mobile associée pour smartphones et tablettes.

La nouveauté sera mise en vente le 15 décembre.

Autres nouvelles intéressantes :

▪ Les robots apprennent en regardant les gens

▪ Trouvé l'endroit le plus radioactif sur Terre

▪ Le cerveau des personnes seules fonctionne différemment.

▪ Compteur de bonheur électronique Hitachi

▪ Batterie de photosynthèse

Fil d'actualité de la science et de la technologie, nouvelle électronique

 

Matériaux intéressants de la bibliothèque technique gratuite :

▪ » du site Instructions standard de sécurité et de santé au travail (TOI). Sélection d'articles

▪ Article Chaque nation a le gouvernement qu'elle mérite. Expression populaire

▪ article L'acné est-elle dangereuse ? Réponse détaillée

▪ article Morelle noire. Légendes, culture, méthodes d'application

▪ article Produits isolants électriques bobinés. Encyclopédie de l'électronique radio et de l'électrotechnique

▪ article Générateur de signal KB simple. Encyclopédie de l'électronique radio et de l'électrotechnique

Laissez votre commentaire sur cet article :

Nom:


E-mail (facultatif) :


commenter:





Toutes les langues de cette page

Page principale | bibliothèque | Articles | Plan du site | Avis sur le site

www.diagramme.com.ua

www.diagramme.com.ua
2000-2024