Chcete?

Před nějakou dobou jsem si tak trošku postěžoval (tady třeba, nebo tady, nepřímo i tady), že mi připadá trochu nevyužitý potenciál současné elektroniky. Když to srovnám s dobou před třiceti lety, kdy jsem nesehnal skoro nic, ale zato jsem měl knížky s návody na stavbu lecčeho, tak mi přijde, že dneska máme skvělé a levné možnosti naučit se pracovat s elektronikou (kity za hubičku, součástky za půl darma, nástroje za cenu jednoho obědu s polévkou a limonádou), máme i lidi, které by to bavilo, ale nemáme k tomu notičky.

Co tím myslím: Není problém vzít do ruky Arduino, podle barevného obrázku propojit dráty, napsat sketch a spustit. Pokud neuděláte někde chybu, bude to fungovat. Jenže tomu něco chybí. Chybí tomu ten přístup „tak, teď víš všechno potřebné, zkus si udělat to a to a to“ – tedy cvičení adekvátní probraným znalostem. Trochu se o to snaží příručka Začínáme s Arduinem (zdarma na Arduino.cz)

Na něco podobného jsme kdysi narazili s Patrickem Zandlem při diskusi o tom, jak naučit děti programovat. Patrick měl děti ve věku, kdy už mohly začít s programováním, dokonce je to zajímalo, tak tehdy našel Scratch a nechal děti, aby si hrály. Ideální nástroj pro edukační aktivity „otec – dítě“, ale problém je v tom, co Patrick pojmenoval „nedostatek metodických materiálů“. Tedy to, že ho nenapadaly vhodné příklady, co s dětma dělat, aby byly adekvátní znalostem, aby je nepřetížil nějakými složitostmi na začátku (a neotrávil je tím), nebo aby po nich nechtěl trapně jednoduché věci, zároveň aby to bylo dostatečně zábavné a poutavé…

Tentokrát jsme se potkali se Štěpánem Bechynským. On mnoho let vysvětloval programátorům Microsoftí produkty, takže v něm ta didaktická touha přetrvala. Ve mně zjevně taky. Navíc máme oba rádi elektroniku takovým tím amatérským způsobem (víte, že slovo amatér pochází z amare – tedy_ milovat?_) – neživíme se elektronikou, nestudovali jsme ji, není to pro nás denní chleba. Tyhle věci tak nějak zapadly do sebe a dohodli jsme se, že společnými silami, takříkajíc viribus unitis, připravíme přesně to, co by dle našeho názoru mohlo zaujmout. Nechci prozrazovat víc, zatím je vše ve stádiu příprav.

Ale zároveň mě minulý týden na dovolené napadl takový spin-off, který se s tou ideou, co máme se Štěpánem, potkává a rozšiřuje ji, takže by výrazně překročil rámec toho, co chceme dělat. Na druhou stranu by to bylo docela dobré doplnění a nadstavba pro to, co chystáme, pro trochu jinou cílovku.

Totiž – co to takhle vzít ještě z jiného konce? Představuju si člověka, co třeba umí programovat, ale zajímá ho elektronika a rád by se s ní seznámil nějak líp, intenzivněji a do hloubky. Tak pro takového člověka připravit praktického průvodce elektronikou a číslicovou technikou. Obsah nějak takhle, ale nikoli v tomto pořadí:

  • základy elektřiny někde na úrovni Ohmova zákona, ale spíš než abstraktní čísla bych raději popsal nějakou vizualizaci elektřiny, tedy „co si pod tím představit“
  • rychlokurs „jak číst schéma“
  • co to je rezistor, kondenzátor, cívka – ne počítat fázový posun, ale ukázat elementární fungování
  • jak a proč funguje dioda, tranzistor
  • hradla a logické výrazy (asi jen na úrovni fungování, de Morganovy zákony ano, Karnaughovy mapy spíš už ne)
  • jak se z hradel poskládají klopné obvody
  • … a ještě složitější obvody (paměti, dekodéry, čítače) – k tomu vždycky reprezentaci v „programátorském světě“
  • procesory, procesory, procesory! Jaké jsou, jak jsou uvnitř zapojené, jak se programují, k tomu stroják čili assembler… Na úrovni osmibitových strojů
  • Arduino. Když už máme ten procesor, tak ať taky pracuje!
  • víc Arduina. Jak zapojit sofistikované shieldy (Ethernet, Bluetooth, Cojávímcoještě) a jak je rozchodit
  • internet věcí, věci na internetu…
  • jak si z procesoru a dalších věcí okolo poskládat počítač. Osmibit, jak jinak
  • jak fungují počítačové periferie, jak je postavit, jak využít existující
  • jak se pracuje s displejem. Textový displej, grafický displej, sprity, vlastní akcelerátor… Jak vzniká obraz, jak udělat výstup na TV i VGA
  • jak se dělá zvuk – od jednobitového po všechny ty SIDy a AY
  • jak se programují osmibity, prakticky a názorně na Z80, 6502, 6809, AVR, a k tomu i nějaké kuriozity
  • VHDL, Verilog a FPGA
  • jak si ve VHDL navrhnout vlastní mikroprocesor
  • jak ten vlastní mikroprocesor rozchodit
  • jak ten vlastní mikroprocesor emulovat
  • jak emulovat celé počítače

Slušná nálož, co? V podstatě to je to, čemu jsem se věnoval posledních cca osm let, doplněné o znalosti, které sbírám od dětství. Možná bych to rozdělil na dva díly…

Každopádně bych nezačínal Ohmovým zákonem, to ani náhodou. Začal bych někde u Arduina, něčím, co můžete rychle připojit, rozchodit, a za dvacet minut vám to bliká. A k tomu přidávat. Blikání různě dlouhé, v různém rytmu, pak třeba semafor, reagování na tlačítko, nějaké vtipné zapojení, a pak postupně směrem dolů, k tomu Ohmovu zákonu. Tedy od toho, co člověk vidí a z čeho má hned zpětnou vazbu, na chvíli k teorii, od teorie zase zpátky do praxe, a tak dál. No a na konci by měl být člověk schopen nejen vymyslet vlastní zapojení a oživit ho, ale taky by měl vědět, co k čemu použít, jak to spolu funguje a hlavně: Kam jít, když ho bude zajímat víc teorie a víc do hloubky. Ode mne se nedozví, jak nastavit pracovní bod tranzistoru nebo spočítat Čebyševův filtr. Ale bude vědět všechno, co bude potřebovat ve chvíli, kdy ho napadne, že si postaví nějakou elektronickou věc.

(Mimochodem, jestli se ptáte, proč Arduino, proč ne Raspberry, Galileo, Beagle, Xpresso, … tak z mnoha důvodů: je jednoduché, dobře dostupné, dostatečně výkonné na to, aby si člověk udělal něco zajímavého, není překombinované, není složité… Pro seznámení s elektronikou a „osahání“ je to ideální věc. Navíc mi připadá jednodušší připojit Arduino přes USB k počítači, než rozběhávat Raspberry s monitorem a klávesnicí a laborovat s Pythonem či čím…)

Analogicky k výuce jazyků: Dozvíte se, jak se „dorozumět elektronicky“. Nebude z vás překladatel ani spisovatel, natož lingvista, ale napíšete dopis a přečtete si noviny.

No a napadlo mě, že by bylo fajn k tomu průvodci nabízet i sady, kity k praktickému odzkoušení. Takže třeba to Arduino, pár shieldů, FPGA kit, hrst součástek, čidel, periferií…

A jak jsem si tak o dovolené točil volantem, tak jsem si řekl, že bych možná otestoval zájem na nějakém HitHitu či Startovači. Třeba se ukáže, že to nemá smysl, že by to chtělo deset lidí. Anebo naopak, kdo ví? Bylo by to fajn a asi by mě to i hodně bavilo…

Mimochodem, jestli chcete vědět, co mě inspirovalo, tak to byla skvělá kniha Od krystalky k modelům s tranzistory od Pavla Šraita. Sice jsem měl jen dva tranzistory a když jsem si chtěl postavit něco jiného, musel jsem to předtím rozpájet, ani voltmetr jsem neměl a naprostá většina těch konstrukcí pro mne byla nedostupná, ale tu knihu jsem měl rád a vzbudila ve mně touhu stavět elektronické věci. Rád bych tu touhu předal dál.