Vstupně výstupní porty mikrokontrolérů a PLC Flashcards

1
Q

Režimy pinů

A

pinMode() dvě konstanty - OUTPUT a INPUT nebo INPUT_PULLUP

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

OUTPUT

A

Při stavu HIGH výstup poskytne max I=40 mA Při stavu LOW může stejně velký proud přijmout

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

INPUT

A

ke čtení hodnot z digitálních senzorů (nejjednodušší jsou tlačítka), ale i ke komunikaci. Při použití s tlačítkem si všimněme, že je tento pin stále připojen ke GND přes 10k ohm rezistor. Při nezmáčknutém tlačítku je tedy výsledek funkce digitalRead() hodnota LOW. Po zmáčknutí tlačítka dojde k připojení k +5 V a změny hodnoty funkce na HIGH.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

INPUT_PULLUP

A

podobně, jako INPUT Rozdíl je v tom, že dojde k připojení interního rezistoru. Ten je uvnitř čipu zapojen mezi digitálním vstupem a +5V. Výchozí hodnota funkce digitalRead() je tedy HIGH. Když chceme hodnotu změnit, musíme vstup připojit na GND. Při použití příkladu s tlačítkem má tedy funkce hodnotu HIGH, když je tlačítko uvolněno a LOW, když je zmáčknuto
Jsou pouze dvě možné hodnoty, jaké může mít proud při čtení a zápisu pomocí funkcí digitalRead() a digitalWrite(). Jsou to hodnoty LOW a HIGH.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

HIGH

A

při čtení pomocí funkce digitalRead() je vyhodnocena hodnota napětí jako HIGH, pokud je větší než 3V. Když použijeme funkci digitalWrite(pin, HIGH), na výstupu bude právě 5V.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

LOW

A

Při čtení je stav napětí vyhodnocen jako LOW, pokud je jeho velikost menší než 2V. Při zápisu je hodnota 0V.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Analogový vstup a výstup

A

Co když ale potřebujeme pracovat i s analogovými hodnotami?
Na to má Arduino ve výbavě užitečné funkce. Ke čtení a zápisu se zde používají funkce analogRead() a analogWrite(). Ty jsou však limitovány pro použití pouze na určených pinech

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

analogWrite(číslo_pinu, hodnota)

A

rozsah hodnoty 0-255 sloužící k nastavení “analogové” hodnoty na pinu. Můžeme ji použít pouze na pinech označených PWM (u Arduina UNO jsou to piny: 3, 5, 6, 9, 10, 11) generuje PWM signál, což je jakási digitální “náhražka” analogového signálu. rychle střídá 0 a 5V
analogWrite(pin, 127) // 50% 5 V a 50% 0V

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

analogRead()

A

slouží ke čtení analogové hodnoty na vstupech (A0-A5) Většina desek Arduina má rozlišení 10 bitů, což odpovídá hodnotám od 0 do 1023
proměnná = analogRead(pin)
Z funkce analogRead() vychází hodnoty 0 až 1023, kdežto analogWrite() čeká na rozsah hodnot 0 až 255. Musíme tedy zajistit převod hodnot. To je v tomto případě jednoduché, protože 256 (28) se vejde do 1024 (210) čtyřikrát. Nejjednodušším způsobem je tedy vydělení hodnot z analogRead() čtyřmi.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly