Ik gebruik arduino voor de eerste keer en begrijp niet echt wat ik veronderstel te pluggen op de ADC referentie-PIN … of dat ik je moet het zelfs gebruiken terwijl je de analoge sensor op de arduino aansluit, bedankt!
Opmerkingen
- Doet arduino.cc/reference/en/language/functions/analog-io/ … help? U hoeft het ' niet te gebruiken.
Antwoord
De AD-converter in de ATMega-microcontroller (zoals gebruikt in Arduino) converteert een ingangsspanning naar een nummer .
Deze ADC is toevallig 10 bit, wat 2 ^ 10 toestanden betekent, wat 1024 is.
Het getal 0 (nul) betekent een ingangsspanning van 0 Volt.
Het getal 1023 betekent het maximum ingangsspanning.
Omdat 0 ook een waarde is, loopt de schaal van 0 tot 1023, dus 1024 waarden.
De schaal is lineair, dus 511 betekent de helft van die maximale spanning.
Wat is deze maximale ingangsspanning?
Dat is de ADC-referentiespanning . Standaard wordt de voedingsspanning gebruikt, dus als je je Arduino op 5 V draait, dan is 1023 = 5 V. Maar als je je Arduino op 3,3 V draait, dan is 1023 = 3,3 V.
Er is ook in interne referentie van 2,56 V (of 1,1 V afhankelijk van je Arduino), als je dat dan gebruikt, raadt je het al, 1023 = 2,56 V (of 1,1 V).
Misschien heb je een heel mooie externe referentiespanning al beschikbaar en als je die wilt gebruiken, gebruik dan de externe instelling en sluit die referentiespanning aan op de AREF-pin.
Als je analoge sensor 0 tot 5 V geeft en je Arduino ook wordt gevoed door 5 V dan zou je de standaardinstelling moeten gebruiken zodat de VCC als ADC-referentie wordt gebruikt.
Als je sensor een spanning tussen 0 en 1 V geeft, dan zou je de interne referentie kunnen gebruiken zodat meer van de 0 naar 1023-bereik is bruikbaar. Dit geeft je een betere resolutie.
Answer
Het standaardgedrag is dat de analoge referentie Vcc is, wat op veel Arduinos 5V is . In dat geval niets aansluiten op AREF.
Als je echter een precisie spanningsreferentie hebt, dan kun je die aansluiten op AREF (en GND) en specificeer in je sketch voordat je een analogRead doet :
analogReference (EXTERNAL);
Ik heb een pagina over de ADC-converter die kan helpen bij het uitleggen, of die te gedetailleerd kan zijn. 🙂
of als ik het zelfs moet gebruiken terwijl ik een analoge sensor op de arduino aansluit
Tenzij je van plan bent een ander referentiespanning te gebruiken, gebruik deze dan helemaal niet.
Voor een 5V Arduino zou de spanning gemeten met de standaard AREF ruwweg 4,88 mV zijn per meeteenheid (bijv. 5V / 1024), maar nauwkeuriger:
float voltage = ((float) rawADC + 0.5 ) / 1024.0 * Vref;
De spanning die u aan VREF levert (als u deze levert op all) moet tussen 1,0 V en Vcc liggen, waar Vcc 5 V zou zijn voor een Arduino Uno.
Opmerkingen
- “ niet verbind alles met AREF ”en“ [call
analogReference(EXTERNAL)
] voordat een analogRead doet “(amphasis mine). Deze zijn erg belangrijk punten die niet in de andere antwoorden worden genoemd. - Ik heb de nadruk in mijn antwoord toegevoegd voor het geval het al te mild was.;)
Antwoord
Nou, ik denk dat je eerst de handleiding moet lezen voordat je het gebruikt (en misschien zelfs remt).
Over het algemeen is analoge referentie een spanningswaarde tussen 0,00 en 5,00 V, die zal worden gebruikt als virtuele referentie voor alle analoge ingangen die je op je arduino-bord.
Over analoge referentie staat op de Arduino-site: https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/
Answer
De AREF is een referentie-spanningsingangspen.
De referentiespanning is de maximale spanning wanneer u een analoog signaal meet.
Met andere woorden, u kunt 0V ~ AREF-spanning meten door de ADC-poort te gebruiken.
Houd er rekening mee dat de minimumspanning van AREF 1,0 V is.