Používám arduino poprvé a opravdu nechápu, co mám předpokládat k připojení k ADC referenčnímu PIN … nebo pokud dokonce jej musíte použít při připojování analogového senzoru k Arduinu, díky!
Komentáře
- Má arduino.cc/reference/en/language/functions/analog-io/ … pomoc? Nemusíte to ' používat.
Odpovědět
Převaděč AD v mikrokontroléru ATMega (použitý v Arduinu) převádí vstupní napětí na number .
Tento ADC má 10 bitů, což znamená 2 ^ 10 stavů, což je 1024.
Číslo 0 (nula) znamená vstupní napětí 0 V.
Číslo 1023 znamená maximum vstupní napětí.
Protože 0 je také hodnota, stupnice běží od 0 do 1023 a vytváří 1024 hodnot.
Stupnice je lineární, takže 511 znamená polovinu tohoto maximálního napětí.
Jaké je toto maximální vstupní napětí?
To je referenční napětí ADC . Ve výchozím nastavení se používá napájecí napětí, takže pokud používáte Arduino na 5 V, pak 1023 = 5 V. Pokud však používáte Arduino na 3,3 V, pak 1023 = 3,3 V.
K dispozici je také při interním odkazu 2,56 V (nebo 1,1 V v závislosti na vašem Arduinu), pokud to použijete, uhodli jste, 1023 = 2,56 V (nebo 1,1 V).
Možná máte velmi efektní externí referenční napětí je již k dispozici a pokud jej chcete použít, použijte externí nastavení a připojte toto referenční napětí ke kolíku AREF.
Pokud váš analogový snímač dává 0 až 5 V a vaše Arduino je napájeno také 5 V pak byste měli použít výchozí nastavení, aby se VCC použilo jako reference ADC.
Pokud váš senzor dává napětí mezi 0 a 1 V, můžete použít interní referenci tak, aby více z 0 na Rozsah 1023 je použitelný. Získáte lepší rozlišení.
Odpověď
Výchozí chování je pro analogový odkaz Vcc, který na mnoha Arduinech je 5V . V takovém případě nepřipojujte nic k AREF.
Pokud však máte přesnou referenční hodnotu napětí , můžete to připojit k AREF (a GND) a v náčrtu zadejte před provedením analogRead :
analogReference (EXTERNAL);
Mám stránku o převaděči ADC , která může pomoci vysvětlit nebo být příliš podrobná. 🙂
nebo pokud ho dokonce musím použít při připojování analogového senzoru k arduino
Pokud neplánujete použít jiné referenční napětí, nepoužívejte ho vůbec.
U 5V Arduina by napětí naměřené pomocí výchozího AREF bylo zhruba 4,88 mV na jednotku měření (tj. 5 V / 1024), ale přesněji:
float voltage = ((float) rawADC + 0.5 ) / 1024.0 * Vref;
Napětí, které dodáváte do VREF (pokud dodáváte nějaké na all) musí být mezi 1,0 V a Vcc, kde Vcc by pro Arduino Uno bylo 5 V.
Komentáře
- „ ne připojit cokoli k AREF “a„ [zavolat
analogReference(EXTERNAL)
] před provedením analogRead „(důl pro zvýraznění). Jedná se o velmi důležité body neuvedené v ostatních odpovědích. - V odpovědi jsem přidal důraz v případě, že by to bylo příliš mírné.;)
Odpověď
Myslím, že byste si měli nejprve přečíst příručku před použitím (a možná ho dokonce zabrzdíte).
Obecně řečeno, analogová reference je hodnota napětí mezi 0,00 a 5,00 V, která bude použita jako virtuální reference pro všechny analogové vstupy, připojíte se ke svému deska Arduino.
O analogovém odkazu se dozvíte na webu Arduino: https://www.arduino.cc/reference/en/language/functions/analog-io/analogreference/
Odpověď
AREF je vstupní pin referenčního napětí.
Referenční napětí je maximální napětí při měření analogového signálu.
Jinými slovy můžete měřit napětí 0V ~ AREF pomocí portu ADC.
Uvědomte si, že minimální napětí AREF je 1,0 V.