Vstupy a výstupy IO
Arduino obsahuje různé druhy vstupů a výstupů. Jsou to digitální a analogové. Analogové výstupy můžeme rozdělit na tzv. pseudo analogové, které jsou pulzně modulované PWM a jsou označené vlnovkou ~ a lze u nich použít funkci analogWrite(). Nebo klasické analogové výstupy s číslicově analogovým převodníkem označené DACx.
Digitální vstupy a výstupy
Vstupy a výstupu nabývají hodnot 0 a 1. Kdy arduino využívá pozitivní TTL kdy logická 1 zhruba odpovídá napájecímu napětí. Dle typu arduina nabývá hodnota napětí logické jedničky 5V u UNO a ve verzi Nano 3,3V.
Pomocí funkce pinMode(<číslo digit. výstupu>,<INPUT|OUTPUT|INPUT_PULLUP>) nastavíme čtení nebo zápis na daný výstup/pin. Hodnota INPUT_PULLUP nám aktivuje vnitřní pullup rezistor na vstupu, který je vhodný například pro tlačítka atd. Funkcí digitalWrite(<číslo digit. výstupu>,<HIGH|LOW>) zapíšeme hodnotu na výstup. Pomocí funkce digitalRead(<číslo digit. vstupu>) načteme hodnotu z daného vstupu/pinu. Analogové vstupy jsou označeny Axx a DACxx, digitální xx, kde xx je číslo pinu.
Analogové vstupy a výstupy
Analogový vstup je označený jako A a jde o desetibytový tj 2^10 vstup a pracuje v rozpětí 0 – 5V.
Kde hodnota napětí analogRead() se vypočítá dle U=Vcc*x/2^10. Kde U je vypočtené napětí, Vcc napájecí napětí, x vyčtená hodnota z funkce analogRead(), 2^10 tj. 0-1024 možných stavů .
Běžné artduino nemá standardní analogový výstup, ale jen PWM modulovaný výstup obdelníkového tvaru. Je to tzv. pulzně šířková modulace. Hodnotou analogWrite() měníme tzv. střídu, to je podíl délky pulzu a celkového času periody. Výstup pracuje na frekvenci 490Hz. Piny 5 a 6 mají vyšší frekvenci vzorkování a to 980Hz.
Hodnotu napětí výstupu vypočteme dle vzorce U = Vcc * x / 256 [V], kde Vcc je napájecí napětí (5V nebo 3,3V), x hodnota funkce analogWrite(), 256 je 2^8 což je rozsah hodnota analogWrite() od 0 do 255.
Jednou z vyjímek, která obsahuje opravdový analogový výstup je andruino due. Konkrétně jsou to výstupy označené DAC0 a DAC1.
Sériová linka
Obvykle na pinu D0 a D1. Více na stránce
https://www.arduino.cc/en/Reference/Serial
Datové typy, výrazy a operátory a funkce
https://www.arduino.cc/en/Reference/HomePage
Ohmův a Kirchhoffovy zákony
Ohmův zákon
U= R * I [V, Ω, I]
Často při výpočtu předřadného odporu budeme vycházet z nominálního proudu a napětí součástky. U LED diod je proud v propustném směru kolem 20mA a v katalogu jej najdeme pod hodnotou Forward Current neboli IF a napětí v propustném směru (také úbytek napětí na diodě) Forvard Voltage Vf 2,5V. Takže předřadný odpor vypočteme VCC – VF = R * IF takže R = (5-2,5)/0,02 tj. R=125Ω. Aby nedošlo k poškození LED vždy dáme odpor s vyšší hodnotou než je vypočtená. Více o charakteristikách LED diod v propustném směru najdete https://cs.wikipedia.org/wiki/LED#Charakteristick.C3.A9_hodnoty_nap.C4.9Bt.C3.AD_v_propustn.C3.A9m_sm.C4.9Bru
První Kirchhoffův zákon
Součet proudů vstupujících do uzlu se rovná součtu proudů z uzlu vystupujících. Jinými slovy též: Algebraický součet proudů v uzlu je roven nule.
Metoda uzlů:
V obvodu se najdou a označí všechny uzly.
Libovolně zvolenému uzlu se přiřadí nulový elektrický potenciál.
Všem zbývajícím se přiřadí neznámá napětí oproti referenčnímu uzlu.
Pro každý z uzlů kromě referenčního se sestaví rovnice podle 1. Kirchhoffova zákona.
Tato soustava rovnic se poté vyřeší.
Druhý Kirchhoffův zákon
Součet úbytků napětí na spotřebičích se v uzavřené části obvodu (smyčce) rovná součtu elektromotorických napětí zdrojů v této části obvodu. Jinými slovy též: Algebraický součet napětí ve smyčce je roven nule.
Metoda smyček:
Na schématu se najdou elementární smyčky, tzn. smyčky, které neobsahují menší vnořené smyčky.
Každé takové smyčce se přidělí proud, který jí obíhá.
Pro každou smyčku se zapíše rovnice podle 2. Kirchhoffova zákona, ve které se jako neznámá použije proud protékající smyčkou.
Tato soustava rovnic se poté vyřeší.
Zkratky
ADC – analogově digitální převodník
DAC – digitálně analogový převodník
PWM – pulzně šířková modulace
UART – univerzální asynchronní vysílač a přijímač
RX – receive, příjem (název signálu v rozhraní UART)
TX – transmit, transmission, vysílání (název signálu v rozhraní UART)
Vcc – napájecí napětí
GND – uzemnění
Zajímavé odkazy a zdroj
Arduino https://www.arduino.cc/ http://docs.uart.cz/docs/obsah/ Ohmův a Kirchhoffův zákon http://uart.cz/30/metoda-smyckovych-proudu/ http://elektross.gjn.cz/elektrina/el_proud/vedeni_proudu/kovy/kirch_zak.html https://cs.wikipedia.org/wiki/Kirchhoffovy_z%C3%A1kony Sériová komunikace http://arduino.cz/arduino-a-processing/ Zapojení LED diod: http://www.tajned.cz/2015/08/zakladni-zapojeni-led-diod-ii-spojovani/ Ostatní: http://www.arduino8.cz/category/projekty-s-arduinem/ https://cs.wikipedia.org/wiki/Pull_up_rezistor https://www.arduino.cc/en/Tutorial/DigitalPins