Stap 6: Analoge verwijzing aangepast
Als we een lager voltage als referentie voor de ADC gebruiken, kunnen wij het bereik dat de ADC realiseert meer. Volgens de nieuwste arduino analogReference() notes [http://arduino.cc/en/Reference/AnalogReference], wordt alle spanning die is toegepast op de pin ARef weer gedeeld door een interne 32 K weerstand. Hun voorbeeld gebruikt een input voor de A-Ref 2.5V, en de arduino ziet 2.2V in plaats daarvan. Met een hoge spanning van de verwijzing van 2.2V, de conversie wordt omgezet in ~2.1mV per stap, en het bereik van de feedback van de gehackte servo zou 700 stappen. Dat is meer leuk. De aanroep van analogReference(EXTERNAL) zal het vertellen van de arduino te kijken naar de A-Ref pin voor het meten van analoge waarden. Gelukkig genoeg, de aanroep van analogReference(DEFAULT) zal het instellen van de analoge referentie spanning terug naar een interne bron (~ 5V of ~3.3V afhankelijk van uw power supply), zodat u verplaatsen kunt heen en weer om te lezen van de sensoren moeten de volledige 5V tot werken ;)
Speelde ik rond met een paar verschillende waarden (alle standaard weerstand. niets exotisch hier gaande) en getest met de arduino ADC om te vinden dat onder een goed vermogen leveren (9VDC 1.0a muur glob) ik heb het breedste bereik door koppelverkoop van een 3,3 K met GND en een 4.7 K tot + 5. U kan verschillende resultaten hebben. Ga je gang en speel met de waarden. Als je zijn uitgeschakeld, de ADC zal spugen 1023 voor iedere lezing boven de waarde op A-Ref. Heck, ik wed dat je zou kunnen gebruiken een potentiometer en bellen in leven.
De moeite die we gaan via is de moeite waard, omdat het signaal dat uit de interne potentiometer komt een bos van lawaai in het heeft. Het bredere bereik zal bijdragen tot het leeghalen van de onjuiste gegevens. Instellen van uw Raad ook aan de manier waarop ik heb het en voer de code op de volgende pagina.