StudyFiWiki
WikiWebová aplikace
StudyFi

AI studijní materiály pro každého studenta. Shrnutí, kartičky, testy, podcasty a myšlenkové mapy.

Studijní materiály

  • Wiki
  • Webová aplikace
  • Registrace zdarma
  • O StudyFi

Právní informace

  • Obchodní podmínky
  • GDPR
  • Kontakt
Stáhnout na
App Store
Stáhnout na
Google Play
© 2026 StudyFi s.r.o.Vytvořeno s AI pro studenty
Wiki⚡ ElektrotechnikaZáklady digitální logiky a pamětiShrnutí

Shrnutí na Základy digitální logiky a paměti

Základy digitální logiky a paměti: Kompletní průvodce

ShrnutíTest znalostíKartičkyPodcastMyšlenková mapa

Úvod

Tento materiál se zaměřuje na programování mikrokontrolérů v kontextu hardwarového ovládání a základních programovacích konstrukcí nezahrnutých v jiných kapitolách. Cílem je poskytnout ucelený přehled o práci s digitálními vstupy/výstupy, analogovými funkcemi, časováním, aritmetickými a logickými operátory, náhodnými čísly a sériovou komunikací — vše s důrazem na praktické použití a porozumění chování při interakci se skutečným hardwarem.

Obsah

  1. Konstanty a jejich význam
  2. Digitální vstupy a výstupy (přehled funkcí)
  3. Analogové vstupy a PWM výstupy
  4. Aritmetika, převody typů a přetečení
  5. Složené přiřazení a operátory
  6. Relační a logické operátory
  7. Časování: delay a millis
  8. Náhodná čísla a inicializace generátoru
  9. Seriová komunikace
  10. Praktické příklady a aplikace

1. Konstanty a jejich význam

Konstanty: Neměnné názvy nebo hodnoty v programu, které zvyšují čitelnost a snižují chyby při úpravách kódu.

  • Konstanty se používají pro popis logických úrovní, režimů pinů nebo stavů zařízení.
  • Příklady hodnot: HIGH/LOW, INPUT/OUTPUT, TRUE/FALSE.

V praxi: používejte názorné konstanty místo „magických čísel“, např. místo 13 použijte konstanta LED_PIN.

2. Digitální vstupy a výstupy (přehled funkcí)

Hlavní operace

  • Nastavení režimu pinu: pinMode(pin, MODE) — MODE typicky INPUT nebo OUTPUT.
  • Čtení stavu pinu: value = digitalRead(pin) — vrátí HIGH nebo LOW.
  • Nastavení stavu pinu: digitalWrite(pin, value) — nastaví HIGH nebo LOW.

Poznámka: Pokud je pin nakonfigurován jako výstup, může poskytnout omezený proud (obecně do stovek mA v celém čipu, jednotlivé piny méně) — při připojování zátěže vždy použijte vhodné mezní součástky (rezistory, tranzistory, driver).

Tabulka: srovnání režimů pinu

RežimCo děláKdy použít
INPUTčtení logické úrovnětlačítka, senzory
OUTPUTvýstup logické úrovněLED, ovládání driverů (přes tranzistor)
(vnitřní pull-up)udržuje pin v definovaném stavu při nepřipojeníjednoduché tlačítkové vstupy bez externího rezistoru

Praktické doporučení:

  • Při čtení tlačítek použijte debouncing (softwarový filtr) pro potlačení chvění kontaktů.
  • Pokud ovládáte relé, motory nebo solenoidy, použijte externí tranzistor/MOSFET a ochranné diody.

3. Analogové vstupy a PWM výstupy

Analogové čtení

  • Funkce pro čtení analogového napětí vrací hodnotu v rozlišení daného ADC (typicky $0$ až $1023$ pro 10 bitů).
  • Naměřená hodnota se mapuje na měřené napětí podle referenčního napájení.

PWM výstup (pseudo-analog)

  • PWM (pulsně-šířková modulace) generuje průměrné napětí změnou poměru doby HIGH a LOW.
  • Hodnoty se typicky zadávají v rozsahu $0$ až $255$; $0$ odpovídá stále LOW, $255$ stále HIGH.

Definice: PWM je technika řízení průměrného napětí na výstupu postupným zapínáním a vypínáním signálu s pevnou frekvencí a proměnnou šířkou pulzu.

Praktická poznámka:

  • Pokud chcete hladké analogové řízení např. intenzity LED nebo rychlosti malého motoru, PWM je efektivní; pro silnější zátěže použijte driver.

4. Aritmetika, převody typů a přetečení

Základní aritmetické operátory

  • Sčítání: $+$, odčítání: $-$, násobení: $*$, dělení: $/$.
  • Výsledek operace má typ podle operandů; pokud jsou oba celočíselné, výsledkem je celočíselné dělení (truncace desetinné části).

Poznámka: Při výpočtech s celočíselnými typy např. $11/5$ bude výsledek $2$, protože se jedná o celočíselné dělení.

Přetečení

  • Při dosažení limitu datového typu dojde k přetečení (wrap-around). Např. u 8bitového unsigned typu hodnota nad $255$ přeteče na hodnoty od $0$.
  • Dávejte pozor na operace, které mohou přetéci během mezivýpočtů (použijte širší typy pro mezivýpočty).

Přetypování

  • Explicitní přetypování (cast) změní typ výpočtu: např. $(int)$ pro převod float na int.

Praktické zásady:

  • Používejte vhodné typy (int, long, float) podle rozsahu očekávaných hodnot.
  • Pro práci se zlomky použijte float, ale mějte na paměti omezení přesnosti a rychlosti.
Zaregistruj se pro celé shrnutí
KartičkyTest znalostíShrnutíPodcastMyšlenková mapa
Začni zdarma

Už máš účet? Přihlásit se

Programování mikrokontrolérů - hardware

Klíčová slova: Integrované obvody – návrh a technologie, Digitální logika - obvody a IC, Digitální logika - signály a rušení, Digitální logika - návrh systémů, Digitální logika - kombinační funkce, Digitální logika - kombinační bloky, Digitální logika - paměti a klopné obvody, Polovodičové paměti, Paměťové technologie zapisovatelných pamětí, Paměti RAM a dynamické paměti, Integrované obvody – digitální obvody, TTL, CMOS invertor a technologie, CMOS šumová imunita a odolnost, Časování, CMOS logické obvody, Úrovňové převodníky, Digitální vstupy a výstupy, Napájení a desky, Oživování systémů, Elektromagnetická kompatibilita a normy, Rušení, vazby a potlačení v EMC, Programování mikrokontrolérů v Arduino, Základy programování mikrokontrolérů, Programování mikrokontrolérů a hardware

Klíčové pojmy: Používejte názorné konstanty místo magických čísel, pinMode(pin, INPUT/OUTPUT) nastavuje režim pinu před použitím, digitalRead vrací HIGH nebo LOW, digitalWrite nastavuje stav pinu, PWM simuluje analogové napětí změnou poměru HIGH/LOW (0-255), Celočíselné dělení zkracuje desetinnou část (např. $11/5 = 2$), Používejte širší typy pro mezivýpočty, aby se zabránilo přetečení, Pro neblokující časování použijte millis() místo delay(), Inicializujte randomSeed(seed) z proměnné, která se mění mezi spuštěními, Serial.begin(rate) a Serial.println() pro debug a logování, Používejte ochranné prvky (tranzistory, diody, rezistory) při ovládání zátěží

## Úvod Tento materiál se zaměřuje na programování mikrokontrolérů v kontextu hardwarového ovládání a základních programovacích konstrukcí nezahrnutých v jiných kapitolách. Cílem je poskytnout ucelený přehled o práci s digitálními vstupy/výstupy, analogovými funkcemi, časováním, aritmetickými a logickými operátory, náhodnými čísly a sériovou komunikací — vše s důrazem na praktické použití a porozumění chování při interakci se skutečným hardwarem. ## Obsah 1. Konstanty a jejich význam 2. Digitální vstupy a výstupy (přehled funkcí) 3. Analogové vstupy a PWM výstupy 4. Aritmetika, převody typů a přetečení 5. Složené přiřazení a operátory 6. Relační a logické operátory 7. Časování: delay a millis 8. Náhodná čísla a inicializace generátoru 9. Seriová komunikace 10. Praktické příklady a aplikace ## 1. Konstanty a jejich význam > Konstanty: Neměnné názvy nebo hodnoty v programu, které zvyšují čitelnost a snižují chyby při úpravách kódu. - Konstanty se používají pro popis logických úrovní, režimů pinů nebo stavů zařízení. - Příklady hodnot: HIGH/LOW, INPUT/OUTPUT, TRUE/FALSE. V praxi: používejte názorné konstanty místo „magických čísel“, např. místo 13 použijte konstanta LED_PIN. ## 2. Digitální vstupy a výstupy (přehled funkcí) ### Hlavní operace - Nastavení režimu pinu: pinMode(pin, MODE) — MODE typicky INPUT nebo OUTPUT. - Čtení stavu pinu: value = digitalRead(pin) — vrátí HIGH nebo LOW. - Nastavení stavu pinu: digitalWrite(pin, value) — nastaví HIGH nebo LOW. > Poznámka: Pokud je pin nakonfigurován jako výstup, může poskytnout omezený proud (obecně do stovek mA v celém čipu, jednotlivé piny méně) — při připojování zátěže vždy použijte vhodné mezní součástky (rezistory, tranzistory, driver). Tabulka: srovnání režimů pinu | Režim | Co dělá | Kdy použít | | --- | --- | --- | | INPUT | čtení logické úrovně | tlačítka, senzory | | OUTPUT | výstup logické úrovně | LED, ovládání driverů (přes tranzistor) | | (vnitřní pull-up) | udržuje pin v definovaném stavu při nepřipojení | jednoduché tlačítkové vstupy bez externího rezistoru | Praktické doporučení: - Při čtení tlačítek použijte debouncing (softwarový filtr) pro potlačení chvění kontaktů. - Pokud ovládáte relé, motory nebo solenoidy, použijte externí tranzistor/MOSFET a ochranné diody. ## 3. Analogové vstupy a PWM výstupy ### Analogové čtení - Funkce pro čtení analogového napětí vrací hodnotu v rozlišení daného ADC (typicky $0$ až $1023$ pro 10 bitů). - Naměřená hodnota se mapuje na měřené napětí podle referenčního napájení. ### PWM výstup (pseudo-analog) - PWM (pulsně-šířková modulace) generuje průměrné napětí změnou poměru doby HIGH a LOW. - Hodnoty se typicky zadávají v rozsahu $0$ až $255$; $0$ odpovídá stále LOW, $255$ stále HIGH. > Definice: PWM je technika řízení průměrného napětí na výstupu postupným zapínáním a vypínáním signálu s pevnou frekvencí a proměnnou šířkou pulzu. Praktická poznámka: - Pokud chcete hladké analogové řízení např. intenzity LED nebo rychlosti malého motoru, PWM je efektivní; pro silnější zátěže použijte driver. ## 4. Aritmetika, převody typů a přetečení ### Základní aritmetické operátory - Sčítání: $+$, odčítání: $-$, násobení: $*$, dělení: $/$. - Výsledek operace má typ podle operandů; pokud jsou oba celočíselné, výsledkem je celočíselné dělení (truncace desetinné části). > Poznámka: Při výpočtech s celočíselnými typy např. $11/5$ bude výsledek $2$, protože se jedná o celočíselné dělení. ### Přetečení - Při dosažení limitu datového typu dojde k přetečení (wrap-around). Např. u 8bitového unsigned typu hodnota nad $255$ přeteče na hodnoty od $0$. - Dávejte pozor na operace, které mohou přetéci během mezivýpočtů (použijte širší typy pro mezivýpočty). ### Přetypování - Explicitní přetypování (cast) změní typ výpočtu: např. $(int)$ pro převod float na int. Praktické zásady: - Používejte vhodné typy (int, long, float) podle rozsahu očekávaných hodnot. - Pro práci se zlomky použijte float, ale mějte na paměti omezení přesnosti a rychlosti.

Další materiály

ShrnutíTest znalostíKartičkyPodcastMyšlenková mapa
← Zpět na téma