Pojďme programovat elektroniku: Vyrobíme internetový teploměr a fotočidlo

  • Pokud se naučíte programovat, ovládnete PC
  • Pokud se naučíte prototypovat, vyrobíte si cokoliv
  • Pojďme zkusit stavět a programovat elektroniku

Photon jsem nechal dál měřit teplotu a vedle něj zapojil Intel Edison na jeho základní desce kompatibilní s Arduinem. Edison je ve srovnání s Photonem mnohonásobně výkonnější, a tak se opravdu hodí na rychlé prototypování. Program už nemusím psát v C/C++ a neustále jej překládat a posílat do mikropočítače, což samo o sobě zabere několik drahocenných sekund, ale třeba v Pythonu anebo klidně Javascriptu (Node.js), který zná alespoň trošku skoro každý.

A teď vyzkoušíme velký Edison

A o to přesně jde. Zatímco na Edisonu mohu napsat velmi rychle program, který třeba jen přečte hodnotu ze senzoru a potvrdí jeho funkčnost (nebo nefunkčnost), pro tvorbu finálního produktu mohu použít už něco primitivnějšího – nízkoúrovňovějšího. A jelikož má Edison Wi-Fi a uvnitř Linux, jako textový výstup pro kontrolu nemusí sloužit obvyklá sériová linka (COM přes USB), ale SSH, tedy linuxová příkazová řádka přes síť, přičemž Edison může být opět kdekoliv – jen musí být připojený k internetu a já musím znát jeho IP adresu.

75447047
K Edisonu jsem se přihlásil elegantně přes vzdálený linuxový terminál SSH třeba pomocí konzole Ubuntu, která je součástí Windows 10 Insider Preview

Zatímco předchozí čidlo zasílalo signál o teplotě na dedikované třetí nožce, fotorezistor je typ jedné z nejrozšířenějších součástek – rezistoru (lidově odporu), který v obvodu, jehož je součástí, tlumí napětí, resp. proud.

Fotorezistor, čili odpor citlivý na světlo

Fotorezistor dělá to samé, jenže velikost jeho elektrického odporu není pevná, ale proměnlivá podle toho, kolik je v okolí světla. Když je světla hodně, odpor se sníží a naopak se zvýší napětí. A když je světla málo, odpor sílí a napětí tedy klesá, protože u něj díky použitému materiálu dochází k tzv. fotoelektrickému jevu.

Edison má oproti Photonu desetibitový převodník, takže vyjadřuje napětí na analogovém pinu rozsahem 0 až 1 024. Nám toto číslo bude stačit, už jej dále nebudeme přepočítat. V naší konfiguraci bude A/D převodník vracet nízké hodnoty pro velký jas a vysoké pro malý jas, takže hodnoty jen smysluplně otočíme, aby nízké odpovídaly tmě a vysoké světlu.

170748827 524596273
Druhý obvod s Edisonem a fotorezistorem. Na nepájivém poli je zapojený i jeden klasický 10K rezistor, K čemu tam je? O tom zase příště. V pozadí pro srovnání rozměrů Photon.

Fotorezistor reaguje prakticky okamžitě, a pokud si necháte vypisovat číselné hodnoty o aktuálním světle třeba každou sekundu, poznáte, že se hodnoty napětí sníží i poté, co nad čidlem pomalu mávnete rukou a zastíníte jej.

950526384
Skript napsaný v Javascriptu (pomocí běhového prostředí Node.js) bude každou sekundu vypisovat do terminálu aktuální hodnotu pinu A5 a tedy intenzitu světla

Kouzelná součástka

Tato kouzelná součástka doslova za několik málo korun může sloužit k ledasčemu. Těch možných aplikací jsou desítky a stovky od měření přirozeného světla – Slunce a délky svitu, po různé domácí detektory a spínače (Už je v bytě šero? Tak rozsviť lampičku).

Nakonec je fotorezistor docela dobrou technologickou učebnicí, jak principiálně funguje třeba čip ve vašem digitálním fotoaparátu. Tak trochu si jej můžete představit jako jeden jediný monochromatický snímací pixel.


Tak a to by už mohlo pro dnešek stačit. Jsme pouze na začátku a příště se ponoříme mnohem hlouběji do praktického zapojování obvodů a součástek. Já si mezitím odpočinu na dovolené a vy mi můžete dát v diskuzi najevo, jestli to má celé smysl a měl bych v tom opravdu pokračovat.

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