Objectif
Obtenir l'état d’une entrée digitale analogique 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.
Info |
---|
Cliquer ici pour en apprendre plus sur les entrées analogues analogiques du CRCduino |
Info |
---|
Les ports analoguesanalogiques, contrairement aux ports digitauxnumériques, ne peuvent pas être utilisés comme sorties. Il n’est donc pas nécessaire de les configurer comme sortieentrées, puisqu’ils le sont par défaut. |
Note |
---|
C’est fonction requiert l’utilisation des fonctions suivantes dans votre programme: |
Valeur de retour
Cette fonction retourne la valeur du port analogue analogique (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
Expand | |||||
---|---|---|---|---|---|
| |||||
|
En apprendre plus
Info |
---|
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. |
Info |
---|
Quel est la plus petite variation de tension qui peut être lue par GetAnalogInput() ?L’entrée analogue analogique 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. |
Info |
---|
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 |
Articles reliés
Filter by label (Content by label) | ||||||
---|---|---|---|---|---|---|
|