Étape 6: Référence analogique ajuster
Si nous utilisons une tension plus faible comme une référence pour l’ADC, nous pouvons augmenter la plage qui se rend compte de l’ADC. Selon les dernières arduino analogReference() notes [http://arduino.cc/en/Reference/AnalogReference], une tension qui est appliquée à la broche ARef est nouveau divisée par une résistance interne de 32 K. Leur exemple utilise une entrée à l’A-Ref sous 2, 5V et l’arduino voit 2.2V à la place. Avec une tension élevée de référence de 2.2V, la conversion se résout en ~2.1mV par étape, et la portée de la rétroaction du servo piraté serait de 700 marches. C’est mieux comme ça. L’appel à analogReference(EXTERNAL) dira l’arduino à regarder la broche A-Ref pour mesurer les valeurs analogiques. Heureusement, l’appel à analogReference(DEFAULT) fixera la tension de référence analogique vers une source interne (~ 5V ou ~3.3V selon votre power supply), alors vous pouvez passer en arrière lire les capteurs qui ont besoin de la gamme complète de 5V à travailler;)
J’ai joué un peu avec quelques valeurs différentes (toute résistance standard. rien exotique passe ici) et testé avec l’arduino ADC pour trouver que sous une bonne puissance d’alimentation (9VDC glob de mur de 1. 0 a) j’ai obtenu la plus large gamme en attachant un 3,3 K au GND et un K de 4,7 à + 5. Vous pouvez avoir des résultats différents. Allez-y et jouer avec les valeurs. Si vous êtes au large, l’ADC va cracher de 1023 pour toute lecture au-dessus de la valeur sur A-Réf. Heck, je parie que vous pourriez utiliser un potentiomètre et cadran en live.
Le problème, que nous allons à travers vaut la peine, parce que le signal qui sort le potentiomètre interne a un tas de bruit dedans. L’éventail plus large permettra d’effacer les données incorrectes. Définissez votre platine de la même façon à la façon dont je l’ai et exécuter le code sur la page suivante.