Objectif
Obtenir l'état d’une entrée digitale du CRCduino
Quand l’utiliser
Dès que vous voulez mesurer un voltage.
Où l’utiliser
Typiquement dans la section void loop()
de votre programme, pour mesurer continuellement sa valeur.
Cliquer ici pour en apprendre plus sur les entrées analogues du CRCduino
Les ports analogues, contrairement aux ports digitaux, ne peuvent pas être utilisés comme sorties. Il n’est donc pas nécessaire de les configurer comme sortie, puisqu’ils le sont par défaut.
C’est fonction requiert l’utilisation des fonctions suivantes dans votre programme:
Valeur de retour
Cette fonction retourne la valeur du port analogue (ANA) correspondant dans une valeur de type unsigned int
. Cette valeur sera entre 0 (0 V) et 1023 (7.5 V), proportionnellement à la tension présente sur le port (broche SIG
).
Prototype principal
static unsigned int CrcLib::GetAnalogInput(unsigned char pin)
Les paramètres suivants sont requis par la fonction:
pin
: Le nom de la broche à vérifier, de typeunsigned char
.
Overloads
Cette fonction n’a pas d’overloads, elle ne peut être utilisée qu’avec le prototype principal.
Exemples
En apprendre plus
Pourquoi est-ce que la fonction ne retourne des valeurs qu’entre 0 et 1023, alors qu’un unsigned int peut théoriquement avoir des valeurs entre 0 et 65 535 ?
Les lectures analogues sur des micro-contrôleurs sont effectuées par des convertisseurs analogique-numérique (ADC). Celui du CRCduino a une résolution de 10 bits, ce qui veut dire qu’il ne peut mesurer que 1024 divisions de son voltage de référence (maximum). La fonction est donc limitée à 1024 valeur, soit de 0 à 1023.
L’ADC par défaut du Arduino Mega est de 5V, mais un diviseur de tension incorporé au circuit du CRCduino divise la tension lue par 1.5, augmentant ainsi la valeur maximum à 7.5 V.
Quel est la plus petite variation de tension qui peut être lue par GetAnalogInput() ?
L’entrée analogue divise la plage d’entrée de 0 à 7.5 V en 1024 pas. Par conséquent, chaque pas englobe 7.5 V / 1024 = 0.007 V. La résolution de la lecture est de 7 mV, alors une variation de moins de 7 mV ne peut pas être nécessairement détectée. 7 mV, c’est très petit, et amplement suffisant en considérant la précision des composantes et capteurs des robots amateurs.
Rien n’est connecté à la broche que nous lisons, mais la valeur retournée n’est pas 0.
C’est normal : cette valeur fluctue en fonction d’une multitude de facteurs qui à première vue ne devraient pas avoir d’impact, comme la proximité d’une main ou la tension de circuits à proximité. Une valeur de 0 est presque uniquement possible à obtenir si la broche SIG
est directement connectée à la broche GND
.
Articles reliés
-
CrcDuino Hardware Details (Système CrcDuino System) —
This page details the different physical components found on the CrcDuino. Although quite dense in information, it’s a must read!
All voltage values given on this page are using a
GND
pin as reference. AllGND
pins are connected to one another, so using any of them in all situation is acceptable.Page table of content
-
CrcLib: How to access IO pins (Système CrcDuino System) —
This page presents how to access the CrcDuino IO pins using CrcLib.
Pins
-
Debugging - CrcLib Error Codes (Système CrcDuino System) —
What is it?
CrcLib is equipped with a functionality that helps troubleshooting common programming mistakes that cannot be recognize by the compiler before loading the code into the micro-controller.
As your program is executed by the CrcDuino, CrcLib actively monitors the code execution and falls into Error mode if a CrcLib component is incorrectly used.
-
GetAnalogInput() (Système CrcDuino System) —
Purpose
Get the value of an Analog Input (AI) of the board.
When to use
0 Comments