Lekce 4 - Analogový vstup
11.01.2013 12:53Dneska si vyzkoušíme jak na našem Arduinu fungují analogové vstupy. V připadě Arduino MEGA jich máme k dostpozici 16. Analogový převodník má rozlišení 10 bitů a vrací celá čísla od 0 do 1023. Standardně je referenční napětí nastaveno na 5V resp. při Arduinech s napájením 3,3V na tuto hodnotu. Ttot lze samozřejmně změnit pomocí funkce
analogReference(typ);
kde můžeme typ nastavit podle svého přání na:
- DEFAULT: defaultní nastavení - buď 5V nebo 3,3V dle napájení
- INTERNAL: 1.1V ATmega168 nebo ATmega328 a 2.56V on the ATmega8 (není dostupné na Arduino Mega)
- INTERNAL1V1: 1.1V (pouze Arduino Mega)
- INTERNAL2V56: 2.56V (poutze Arduino Mega)
- EXTERNAL: napětí přivedené na pin AREF (pouze od 0 do 5V) je použito jako referenční
k samontému přečtení hodnoty slouží funkce
analogRead(pin);
která brací jak jsme si již uvedli celé čislo (integer) v tozsahu 0 až 1023. K tomu, aby jsme si naší funkci otestovali, budeme potřebovat:
- Arduino MEGA (UNO nebo jiné)
- nepájivé kontaktní pole
- propojovací vodiče
- odporový trimr nebo poteciometr cca 10k
Obvod zapojíme jako na obrázku níže:
program pro arduino:
———
ZpětDiskusní téma: Lekce 4 - Analogový vstup
Datum | 22.04.2020 |
---|---|
Vložil | Miki |
Titulek | Divné chování ADC vstupů |
Narazil jsem na tento kód:
// program TEST ADC
void setup() {
Serial.begin(9600); // prenos do PC 9600Bd
}
void loop() {
for (int i = 0; i < 8; i++) { // pro AD vstupy 0 - 7
Serial.print(analogRead(i)); // vypis - zmerene napeti
Serial.print(" "); // odsazeni
}
Serial.println(" "); // odradkovani
delay(200);
}
a zjistil jsem že se navzájem ovlivňují ADC vstupy. Zkoušeno na NANO a UNO.
Je to možné nebo je to tím že mam "klony"
Diky
———
Datum | 28.04.2024 |
---|---|
Vložil | bastliř |
Titulek | Re: Divné chování ADC vstupů |
Ano potvrzuji opravdu se AD vstupy nějakým neznámým způsobem nějak ovlivňují. Potýkám se s velkou nestabilitou. Využívám všechny analogové vstupy a všechny digitální na ARDUINU NANU. Celková délka kódu 1200 řádků. Mám podezření na šum v 5V rozvodu, ale můj osciloskop postavený z PI PICO připojenný k chytrému telefonu to nějak nezvládá dopodrobna zobrazit.
———
Datum | 24.03.2015 |
---|---|
Vložil | Gabi |
Titulek | vzorkovacia frekvencia |
Prosím Vás, nevedeli by ste mi povedať, akú vzorkovaciu frekvenciu má arduino uno?
———
Datum | 30.10.2014 |
---|---|
Vložil | LuBoss |
Titulek | Napětí |
Je to tak, že maximální napětí, které lze změřit na analogovém vstupním pinu je rovno referenčnímu napětí?
Pak by bylo šikovné doplnit začátečnické vysvětlení v tom smyslu, že pokud se použije jako referenční napětí napájecí (defaulní stav), tak je možné na analogovém vstupu měřit napětí od 0V do napájecího (např. 3.3V nebo 5V). V takovém případě bude naměřená hodnota 1023 odpovídat napájecímu napětí. A pokud jsem to správně pochopil, tak při použití jiného referenčního napětí bude max. naměřená hodnota rovna použitému referenčnímu napětí, je to tak? Pak bych tento velice pěkný článek doplnil o základní informaci, že naměřené hodnoty mikroprocesorem jsou vždy od 0 do 1023 a je nutno si je přepočítat v závislosti na tom, jaké je použito referenční napětí. Nejsem si ale jist, zda to říkám správně, protože osobně používám jenom referenční napětí = napájecí a proto bych si toto rád nechal od někoho objasnit.
———
Datum | 18.10.2014 |
---|---|
Vložil | Radek |
Titulek | Wau |
nemám slov wau
———
Datum | 21.01.2014 |
---|---|
Vložil | Basty |
Titulek | loop |
Zdravím chtěl bych se zeptat jestli a jak lze vložit více hlavních smyček programu:
void loop()
Předem děkuji.
———
Datum | 13.05.2014 |
---|---|
Vložil | STaRDuST |
Titulek | Re: loop |
Pokud se nepletu tak to už pak musíš dělat přes pole. Ale nechci kecat nejsem v tom až takový profík jak Admin webu ale myslím, že do loopu lze vložit pouze jednu hlavní smyčku a do ní pak vkládat příslušné příkazy. Jestli kecám tak sorry ;)
———
Datum | 27.05.2015 |
---|---|
Vložil | gilhad |
Titulek | Re: Re: loop |
Arduinový framework zavolá jednou setup() a pak v nekonečném cyklu volá loop(). Jednoduchá cesta je ty "další loop" prostě vypsat za sebe do loop(), složitá cesta je taky možná, ale podstatně složitější, než pouhé pole.
———
Datum | 16.01.2014 |
---|---|
Vložil | Luko |
Titulek | Port Com |
Mohl by jsi mi prosím tě nastínit jak zapojit arduino do portu COM?
Předem děkuji.
———
Datum | 22.04.2014 |
---|---|
Vložil | adam |
Titulek | Re: Port Com |
pokud to dobře chápu, tak tady meleš úplný nesmysly.
když arduino připojíš usb k počítači, tak se samo připojí na port COM# , kde # se vybere podle nejnižší volné při prvním připojením. když se podíváš do správce zařízení, tak to tam najdeš a vyčteš ho i z arduino ide.
radši si přečti tohle:
https://arduino8.webnode.cz/news/zaciname-s-arduinem/