Guide du débutant pour Arduino (11 / 15 étapes)

Etape 11 : Entrées et sorties analogiques.

Certains des broches d’e/s de l’Arduino également utilisable comme entrées et sorties, pour mesurer des tensions (entrée) ou protected LED (sortie) par exemple.

Entrées analogiques

La plupart des Arduinos ont entre 6 et 12 broches d’entrée analogiques. Ils peuvent mesurer des tensions allant de 0 v à la tension d’entrée (5v ou 3v3)
Un Conseil, ces broches sont étiquetés A0-A5, et dans le cas de Leonardo, certains des broches sur le côté numérique peuvent également servir comme entrées analogiques. Ils sont marqués par un point, et le nom (A6-A11) est écrit sur le dos.

Notez que la lecture d’une entrée analogique est (relativement) lente, par rapport aux broches numériques de lecture. C’est parce que l’Arduino mesures des tensions à l’aide d’un générateur de tension de référence interne DAC (convertisseur numérique-analogique) et puis en comparant la tension d’entrée à la tension de référence, puis modifier la tension de référence, en comparant à nouveau, modifier la tension de référence, comparant... jusqu'à ce que les deux tensions sont égales. http://apcmag.com/Arduino-Analog-to-Digital-conver...

La résolution de la DAC interne est de 10 bits. Cela signifie que le nombre maximal, il peut lire les 10 bits de long ou 210 = 1024, donc un nombre compris entre 0 (B0000000000) à 1023 (B1111111111). 1023 signifie l’entrée est de 5 v (ou 3v3) et 0 signifie 0v.

Potentiomètres

Un potentiomètre, la résistance variable ou le pot pour faire court, est juste un bouton avec un essuie-glace qui glisse sur une ronde bande de matériau résistif. De cette façon, elle varie la résistance entre le curseur et les points de terminaison.

Nous allons brancher nos potentiomètres et faders comme diviseurs de tension simples. Vous pouvez lire plus sur cette page de Wikipedia si vous n’êtes pas familier avec ce principe.

Si vous regardez le schéma, vous pouvez voir 2 résistances. R1 est la résistance entre la borne droite du potentiomètre et l’essuie-glace (goupille de centrage) et R2 la résistance entre la broche de gauche et l’essuie-glace. Jetez un oeil à la formule ainsi. Puisque notre potentiomètre a un fixe valeur (50kΩ, par exemple), R1 + R2 sera toujours 50kΩ, tandis que R2 peut varier entre 0Ω et 50kΩ. (Si R2 = 50k alors R1 = 0 et vice versa) Par conséquent, la fraction entraînera toujours un nombre compris entre 0 et 1. Multiplier ce taux par 5V (Vsubin/sup), et vous obtiendrez une tension de 0V et 5V sur votre rendement. Cette tension peut être lu par ADC de l’Arduino (convertisseur numérique analogique) et représente la position du potentiomètre (ou fondu). Donc, fondamentalement, vous branchez la broche gauche au sol, la tige droite pour le 5V épingle sur l’Arduino et la goupille de centrage pour une entrée analogique. (image 3)

Raccordez un potentiomètre à broche A0 et ouvrez l’exemple de AnalogReadSerial (fichier > exemples > 01.Basics).

La seule nouvelle fonction est analogRead(pin). Il est tout à fait explicite, qu'il vous donne juste la valeur de 10 bits, représentant la tension sur la broche donnée.
Le programme sera juste imprimez-les au fil de la série, alors ouvrez le moniteur série (CTRL + MAJ + M) ou la planche à dessin série (CTRL + MAJ + L) et tourner le potentiomètre. Vous devriez voir des valeurs comprises entre 0 et 1023.
Réglage du retard à 10 ou plus, au lieu de 1 ms peut vous donner meilleurs résultats du traceur de série.

Vous pouvez mapper les valeurs de la 0-1023 vont à une autre plage, par exemple de 0 à 100. Cela peut être fait à l’aide de la fonction de la carte. Jetez un oeil à l’exemple AnalogReadSerialMap. La syntaxe de la fonction map est : valeur de la carte (valeur, lowerLimitInput, upperLimitInput, lowerLimitOutput, upperLimitOutput) est juste la valeur de la carte, dans ce cas, notre lecture du capteur. La gamme de cette entrée est 0 à 1023, donc ce sont nos limites d’entrée. Nous voulons que la sortie de la gamme de 0 à 100, donc ce sont nos limites de sortie. Cela signifie que si le capteur mesure 1023, la valeur de sortie sera de 100.
Nous serions parvenus au même résultat en utilisant sensorValue * 100 / 1023.

Pour convertir un ratio, il faut utiliser un type de données autre qu’int : flotteur (virgule flottante). Si nous divisons notre valeur capteur de 1023, on obtient un ratio entre zéro et un.
Nous pouvons changer le type de données de la variable sensorValue à flotteur, ou convertir la valeur d’un int en un flotteur. La première méthode est utilisée dans AnalogReadSerialRatio-celui-ci a, le AnalogReadSerialRatio-b.

Si nous ne convertissez pas notre valeur à un flotteur tout d’abord, le résultat est considéré comme un int aussi bien. Les valeurs après la virgule sera juste être ignorées, par exemple, 1/2 = 0, mais 1.0/2 = 0,5. Nombres normaux comme « 1 » est considérée comme ints, sauf si vous ajoutez un point décimal (1.0), puis il sera traité comme un flotteur. Si l’un des facteurs dans un calcul est un flotteur, le résultat sera aussi un flotteur.

Pour convertir un int en un flotteur, vous pouvez utiliser la fonction float(number) , ou vous pouvez utiliser la notation c ++ pour transtypage (conversion d’un type de données à un autre) nombre (flotteur) .
Pour convertir un float en int, vous pouvez le faire de la même manière : int(number) ou nombre (entier), mais note que cela tronquera juste le nombre à la virgule, il ignorera simplement les valeurs qui suivent la marque décimale. Par exemple, int(1.1) = 1, mais int(1.9) = 1 aussi bien, voire int(1.99999) donnera 1. Pour arrondir le nombre, utilisez la fonction round(number) , par exemple, round(1.1) = 1, round(1.5) = 2, tour(1.99) = 2.

https://www.Arduino.cc/en/Reference/cast

https://www.Arduino.cc/en/Reference/FloatCast

Mesurer les tensions

Puisqu’une valeur analogique de 1023 correspond à 5 v (ou 3,3 v pour 3.3V microcontrôleurs), vous pouvez facilement convertir ceci à une tension à l’aide de analogRead(A0) * 5.0 / 1023. Il est utilisé dans l’exemple AnalogReadSerialVoltage.

Pour lire les tensions supérieures à 5v (3.3V), vous aurez besoin de 2 résistances, pour créer un diviseur de tension. Nous pouvons transformer la formule ci-dessus pour obtenir Vsubin/sup si nous savons Vsubout/sup. (Voir l’image)
Connecter une résistance (R2) du sol à l’entrée analogique, puis connecter la masse de la tension à mesurer à la masse de l’Arduino et puis connectez une autre résistance (R1) la tension à mesurer sur la broche analogique. (Voir l’image) La formule ci-dessus permet de calculer les valeurs de résistance appropriée. Toutes les valeurs entre 10k et 100 k devraient fonctionner correctement. Si la résistance est trop faible, il va exiger trop de courant et d’influencer la lecture beaucoup.

Trop mesurer 12v par exemple, j’utilise R1 = 47k et R2 = 22k. Cela me donne une tension maximale de 15.87v, si j’irais supérieure à cette tension, j’ai casser mon Arduino.

Remarque : si R2 est - pour une raison quelconque - déconnecté ou interrompu, les haute tension sera reliée à l’Arduino directement (par la R1) et sera probablement endommagent ou détruisent il. Donc ne changez pas les résistances si une tension élevée est appliquée.

Ouvrez l’exemple de AnalogReadSerialHighVoltage.

En haut du fichier, il y a certaines déclarations de constante . Comme une variable, constantes peuvent stocker les valeurs de toutes sortes, mais contrairement aux variables, les constantes ne peuvent pas être modifiés alors que le programme est en cours d’exécution. Cela signifie qu’ils sont stockés dans l’espace de stockage de programme, au lieu de la dynamique de la mémoire (RAM), laissant plus d’espace pour les variables et les tableaux etc..

Modifiez les valeurs de ces constantes en fonction de votre configuration. Le ratio est calculé automatiquement, donc vous n’avez pas à le changer. Vous pouvez utiliser les codes de couleur de votre résistance pour obtenir une valeur théorique, mais vous aurez une bien meilleure approximation si vous mesurez les résistances à l’aide d’un multimètre. Il en va de même pour la tension de service.

Sorties analogiques

Tensions analogiques de sortie ne peut pas l’Arduino, il peut seulement sortie 5v ou 0v. À la sortie des tensions entre les deux, il utilise une technique appelée PWM (Modulation de largeur d’impulsion).
L’Arduino crée une onde carrée et puis varie les sur - et hors-temps de la vague. Par exemple, 2ms sur, 2ms ou 1 ms sur 3ms off. Ceci est dénommé le facteur de marche de l’onde carrée. 2ms sur, 2ms off est un facteur de marche de 50 % ; 1 ms sur 3ms off est un facteur de marche 25 %. (Voir l’image)

Vous pouvez maintenant calculer la tension moyenne, qui est l’aire sous la courbe divisée par la quantité de cycles. Nous allons jeter un oeil à l’exemple de 50 % duty cycle : du domaine (évalué au cours d’un cycle) est juste un rectangle de 5 par 0,5, si la superficie est de 2,5. Divisé par la quantité de cycles toujours donne 2.5, donc la tension moyenne est de 2.5V.
En d’autres termes, la tension moyenne peut être écrite comme le facteur d’utilisation multipliée par la tension d’alimentation. Par exemple, un facteur de marche 25 % serait 5v · 0.25 = 1.25V.
Ces tensions moyennes sont indiquées en rouge dans les images.

Vos yeux sont beaucoup trop lents à voir l’onde carrée sous-jacente, alors cette méthode est parfaitement bien pour LEDs de gradation.

Ouvrez l’exemple analogPotDimmer.

Brancher une LED (+ résistance) à la broche numérique 5 et un potentiomètre à broche analogique A0. En tournant le potentiomètre réduit la luminosité de la LED.

La seule nouvelle fonction est analogWrite (pin, rapport cyclique). Il définit simplement le rapport cyclique de la pwm sur une broche. Notez que le rapport cyclique est une valeur comprise entre 0 et 255, ce qui correspond à 0 % - 100 %

Un autre exemple est analogWriteDimmer. Raccorder un bouton poussoir de la broche 2 et une LED à la broche 5. Lorsque vous maintenez le bouton enfoncé, la LED est plus lumineuse, quand vous relâcherez, puis appuyez sur et maintenez à nouveau, sa luminosité diminue.

https://www.Arduino.cc/en/Reference/AnalogWrite

Articles Liés

Guide d’installation rapide pour Arduino LCD 2004 avec PCF8574

Guide d’installation rapide pour Arduino LCD 2004 avec PCF8574

Il s'agit d'un guide d'installation rapide pour votre Arduino LCD.Ce que vous devez savoir avant de commencer :1. écrans LCD n'est pas créés égaux, certains ont des broches différentes que l'autre.2. principaux éléments de la mise en place : l'écran
Un Guide de débutants pour dispositifs logiques programmables

Un Guide de débutants pour dispositifs logiques programmables

J'ai mis ce instructable ensemble après avoir remarqué qu'il n'est pas vraiment quoi que ce soit sur le site Web sur les automates programmables industriels à l'exception d'une question et une instructable sur un programmateur (voir liens ci-dessous)
Guide #4 débutants Hardware Arduino partie 2

Guide #4 débutants Hardware Arduino partie 2

Suite à la partie 1, cette vidéo sur Arduino Hardware pour débutants jette un regard sur certains périphériques de nouvelle Arduino matériel pour vous rendre sur la route à un projet.Nous examinons ici les écrans Afficheurs à cristaux liquides (LCD)
Simple guide de débutants pour faire un « BIODIESEL » alimenté voiture

Simple guide de débutants pour faire un « BIODIESEL » alimenté voiture

plus personnes ne réalisent pas un moteur diesel peut fonctionner sur l'huile usée de friteuseIl s'agit en aucun cas une méthode parfaite, ou la meilleure façon de le faire, juste un moyen facile d'apprendre pour les débutants d'entrer dans ce. Consi
Guide du débutant pour la découpe de papier

Guide du débutant pour la découpe de papier

Voici un guide simple pour vous aider à faire des coupes de papier.J'ai eux font depuis plusieurs années et ont découvert qu'ils sont un très bon moyen de faire une belle carte, surtout quand le temps joue contre vous. Je fais ces chaque fois qu'un a
Guide #3 débutants Hardware Arduino partie 1

Guide #3 débutants Hardware Arduino partie 1

Parfois, c'est les petites choses dans la vie qui peut se transformer en grandes pierres d'achoppement, et cela vaut certainement pour noobs commençant leur voyage Arduino. Il était certainement si dans mon cas.Donc dans cette vidéo, j'ai aperçu quel
Un Guide de débutants pour l’émulation du monde.

Un Guide de débutants pour l’émulation du monde.

Avant de vous critiquez et dire que c'est illégal, il est seulement illégal si vous le marché des jeux.Émulation est mieux expliquée grâce à wikipedia, bien que vous y trouverez un petit résumé de ce nouveau monde impressionnant. Émulation est fondam
Expérimentateurs guident pour Arduino interprété à OIT

Expérimentateurs guident pour Arduino interprété à OIT

ressourcesAdafruit ARDX - v1.3 expérimentation Kit pour ArduinoGuide des expérimentateurs pour Arduino (PDF)Mises en page Conseil de pain (PDF)Tutorial Arduino Bundle (Instructable)Ce Arduino Tutorial va être très similaire à l'Arduino tutoriel Bundl
Guide d’achat pour Arduino Uno

Guide d’achat pour Arduino Uno

Choisir un Arduino acheter peut être source de confusion, surtout si vous envisagez d'acheter un Uno. Vendeurs en ligne peuvent omettre des renseignements importants, vendre obsolète ou mal au prix de planches, et certains peuvent être carrément trom
Guide d’assemblage V2 KIT de couleur RGB LCD Shield pour Arduino 65K

Guide d’assemblage V2 KIT de couleur RGB LCD Shield pour Arduino 65K

The RGB LCD shield pour Arduino 65K couleur KIT comprend tous les composants pour assembler un prêt à l'emploi LCD shield pour Arduino et conseils compatibles comme Freeduino.(visitez http://store.nkcelectronics.com/rgb-lcd-shield-for-arduino-65k-col
Arduino Anti vol alarme (avec sirène de Police): Remplir Guide de débutante

Arduino Anti vol alarme (avec sirène de Police): Remplir Guide de débutante

Vous ont peur des voleurs qui peuvent voler tous vos projets??? :) :) Puis cette l'INSTRUCTABLE parfait pour vous. Il s'agit d'une alarme antivol. Lorsqu'il n'y a aucun voleur autour, puis une LED bleue s'estomperont sur et en dehors ; mais si un vol
Un Guide complet des cavaliers à bord sur le kit Intel Edison pour Arduino

Un Guide complet des cavaliers à bord sur le kit Intel Edison pour Arduino

Intel® Edison kit pour Arduino permet l'Intel® Edison pour être compatible avec Arduino shields, conçus pour le R3 de UNO. La carte d'extension Arduino inclut plusieurs en-têtes de cavalier pour configurer le jury avec des paramètres différents comme
Guide du débutant à ESP8266 et Twitter à l’aide de ESP8266

Guide du débutant à ESP8266 et Twitter à l’aide de ESP8266

J'ai appris sur Arduino 2 ans. Alors j'ai commencé à jouer avec des choses simples comme LED, boutons, moteurs etc. Puis j'ai pensé qu'il ne serait pas cool de se connecter pour faire des choses comme l'affichage de la météo du jour, prix de stock, f
Construire un Quadcopter bricolage : Guide du débutant complet

Construire un Quadcopter bricolage : Guide du débutant complet

Il s'agit d'un véritable petit clip de mon quadcopter planant de haut en bas et déplaçant latéralement. J'ai essayé de garder la hauteur aussi minimes que possible car je suis à l'intérieur de mon salon, mais comme vous pouvez le voir, même avec ça i