Programování | Pojďme programovat elektroniku

Pojďme programovat elektroniku: Logický simulátor aneb Angry Birds pro nerdy

  • Dnes si vyzkoušíme logický simulátor
  • Složíme v něm několik digitálních obvodů
  • Uvidíme, jak se na logické úrovni chovají binární čísla

Možná právě teď sedíte ve vlaku a máte před sebou dvouhodinovou cestu do Brna. Možná sedíte na palubě A380, máte před sebou jedenáctihodinový let a pohled na obraz z kamery na ocasním křídle vás přestal bavit už při přeletu Skotska. Anebo možná jen sedíte v gauči a chcete prokrastinovat.

Celá jedna generace v těchto situacích dlouhé roky vytahovala z kapsy mobil, spustila Angry Birds a strefovala se ptáky do zelenkavých vepřů. Ačkoliv tuto kratochvíli chápu, nabízím kreativnější způsob zabíjení času – alespoň tedy pro bastlíře všeho druhu.

Namísto ptáků raději spusťte logický simulátor!

(Ticho... Polovina čtenářů právě zklamaně zavřela článek.)

Nedělejte to, vážně je to zábava!

V našem seriálu jsme doposud vše programovali pomocí vysoce abstraktních vysokoúrovňových jazyků C a C++. Jistě, milovníci Pythonu, Javascriptu, Javy a C# možná namítnou, že jsou to jazyky nízkoúrovňové, to je však jen klam daný úhlem pohledu.

I ten nejprimitivnější program pro destičku Arduino Uno, který se bude skládat třeba jen z funkce setup, ve které nastavíme logický stav na pinu 13 na HIGH, což způsobí rozsvícení systémové LED, se totiž po překladu do strojového kódu skládá z ohromného množství procesorových instrukcí, které musí řídící čip vykonat.

Suma sumárum, na té nejnižší úrovní se aktivuje celá armáda tranzistorů – atomů digitální elektroniky, které elektrický obvod buď uzavírají, nebo otevírají a tím tvoří digitální logiku složenou z nul a jedniček.

A to vše, kvůli jednomu pitomému světýlku!

797b77ea-9eea-48c0-abe6-d13129eb40b1
Příklad konstrukce logického hradla OR pomocí dvou tranzistorů. Pokud je alespoň jeden ze vstupů A a B roven logické jedničce (vyšší napětí), jeho rezistor tranzistor uzavře obvod a logická jednička se nastaví i na výstupu Out.

Z tranzistorů, rezistorů, diod aj. pak můžeme skládat složitější logické celky, kterým se v angličtině říká gates, česky logické členy nebo hradla, a jsou základními logickými elementy, ze kterých už můžeme postavit jakýkoliv digitální obvod, který, podle své složitosti, rozbliká třeba zrovna tu LED, anebo dekóduje MP4 video a skrze rozhraní HDMI zobrazí na připojeném televizoru 4K obraz.

Právě tyto abstraktní členy za sebe můžeme skládat v každém logickém simulátoru a zkoumat, co se stane na konci, když do obvodu konečně pustíme šťávu.

Simulator.io: Angry Birds pro nerdy

Simulátorů je celá řada, počínaje těmi jednoduššími pro naprosté zelenáče, kteří si chtějí jen jako my pohrát, a konče profesionálními programy pro testování praktických obvodů, které si pak necháte vyrobit třeba kdesi v Číně.

Pokud chcete zabít jen pár minut času a bez velkých řečí něco rychle sestavit, pomůže jednoduchý, ale skvělý webový simulator.io, který poběží v každém moderním prohlížeči (na mobilu mu to ale moc nejde – je optimalizovaný pro ovládání myší).


V následujících kapitolách si vysvětlíme osm obvodů od naprosto primitivních po složitější. Všechny si budete moci vyzkoušet přímo v simulator.io.

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,