Description :
analogReadResolution()
est une extension de l’API analogique pour les familles Zero, Due, MKR, Nano 33 (BLE et IoT) et Portenta.
Définit la taille (en bits) de la valeur renvoyée par analogRead()
. La valeur par défaut est 10 bits (renvoie des valeurs comprises entre 0 et 1023) pour une compatibilité descendante avec les cartes basées sur AVR.
Les cartes Zero, Due, MKR et Nano 33 (BLE et IoT) ont des capacités ADC 12 bits auxquelles il est possible d’accéder en modifiant la résolution sur 12. Cela renverra des valeurs analogRead()
comprises entre 0 et 4095.
Le Portenta H7 a un 16 bits. ADC, qui autorisera des valeurs comprises entre 0 et 65535.
Syntaxe :
analogReadResolution(bits)
Paramètres :
bits
: détermine la résolution (en bits) de la valeur renvoyée par la fonction analogRead()
. Vous pouvez le définir entre 1 et 32. Vous pouvez définir des résolutions supérieures aux 12 ou 16 bits pris en charge, mais les valeurs renvoyées par analogRead()
subiront une approximation. Voir la note ci-dessous pour plus de détails.
Retour :
Rien
Exemple de code :
Le code montre comment utiliser ADC avec différentes résolutions.
Remarques et avertissements :
Si vous définissez la valeur analogReadResolution()
sur une valeur supérieure aux capacités de votre carte, l’Arduino ne rapportera qu’à sa résolution la plus élevée, en remplissant les bits supplémentaires avec des zéros.
Par exemple : l’utilisation de Due avec analogReadResolution(16)
vous donnera un nombre approximatif de 16 bits avec les 12 premiers bits contenant la lecture ADC réelle et les 4 derniers bits seront remplis de zéros .
Si vous définissez la valeur analogReadResolution()
sur une valeur inférieure aux capacités de votre carte, les bits les moins significatifs supplémentaires lus à partir de l’ADC seront ignorés .
L’utilisation d’une résolution de 16 bits (ou de toute résolution supérieure aux capacités matérielles réelles) vous permet d’écrire des esquisses qui gèrent automatiquement les périphériques avec un ADC de résolution plus élevée lorsque ceux-ci deviennent disponibles sur les futures cartes sans changer une ligne de code.
Source : https://www.arduino.cc/reference/en/language/functions/zero-due-mkr-family/analogreadresolution/