Hardware | Programování | Pojďme programovat elektroniku

Pojďme programovat elektroniku: Vyzkoušíme ultrazvukový dálkoměr, detektor pohybu, deště a další kouzla

  • Vyzkoušíme si senzory na pokročilých sběrnicích
  • Budeme ultrazvukem měřit vzdálenost
  • Detekujeme déšť i pohyb
Pojďme programovat elektroniku: Vyzkoušíme ultrazvukový dálkoměr, detektor pohybu, deště a další kouzla

Zatímco rodiče pomalu nakupují nové penály, tužky, propisky, kružítka, pravítka, aktovky s pokémony a datové tarify pro své ratolesti, do Česka v záplavě ostatních cetek přicestoval i kontejner plný laciných senzorů, a tak se konečně můžeme vrhnout na pokračování našeho seriálu o domácím programování drobné elektroniky.

Dnes si vyzkoušíme, jak vlastně získat údaje z některého z mnoha čidel, které dnes můžete společně s nejrůznějšími mikropočítači pořídit v kdejakém českém e-shopu pro kutily, anebo na eBayi a celém zástupu asijských katalogů od Banggoodu po DealExtreme.

Klepněte pro větší obrázek
Prototypovací počítače v praxi: Intel Edison, Intel Galileo, Arduino Uno (na něm dnes budeme vše stavět), SmartEverything pro bezdrátový protokol Sigfox, NodeMCU s Wi-Fi, armový Photon s Wi-Fi a konečně maličké Arduino Pro Mini

Platí zde jednoduché pravidlo. Na eBayi sice seženete senzor i základní prototypovací mikropočítač Arduino Uno za pár korun a zpravidla i s bezplatnou dotovanou dopravou z Číny nebo Hongkongu, ale počkáte si i několik dlouhých týdnů. Pokud chcete svoje Arduino s armádou senzorů, propojovacích kablíků a dalšího potřebného příslušenství teď hned, české e-shopy jako Arduino-shop, Robotstore, GME, GES, Tays, Santy a další vám vyjdou vstříc, ale pochopitelně za trošku jiné ceny – není to přeci charita a hlavně získáte zákonnou záruku.

Klepněte pro větší obrázek
Hromada mikropočítačů, součástek a senzorů. Dnes si některé z nich předvedeme.

Tak, konec nakupování a jdeme si hrát a zapojovat naše nové moduly do mikropočítače typu Arduino Uno, jehož laciný klon i s USB kabelem jsem koupil na eBayi zhruba za sto korun.

Analogový teploměr TMP36

Pro začátek si připomeňme zapojení primitivního analogového teploměru TMP36 se třemi vodiči. Zatímco krajní nožky slouží pro napájení (+/-), ta prostřední vede samotný signál o teplotě. A jelikož se jedná o analogový senzor, oním signálem je napětí o určité velikosti. Čím vyšší teplotu čidlo zaznamená, tím se zvýší i napětí na signálovém vodiči. Mikropočítač toto napětí přečte, pomocí A/D převodníku převede na celé číslo a s ním už můžeme pracovat.

Klepněte pro větší obrázek
Analogový teploměr TMP36

Počítače Arduino mají 10bitový A/D převodník a pracují s napětím 5 V, což v praxi znamená, že 0 až 5 V na některém z analogových konektorů vyjádří hodnotou 0 až 1 023 (1 024 = 210 = deset bitů).

Pak už pouze stačí pročíst dokumentaci konkrétní elektrické součástky, ze které se dozvíte, že TMP36 vyjádří teplotu 25 °C napětím 750 mV a změna napětí o 10 mV odpovídá 1 °C. Proč tedy rovnou nevyjádří onu pokojovou teplotu napětím 250 mV? Protože 500mV posun (500 + 250 = 750) usnadní výpočet záporných teplot. Když bychom tedy na signálovém vodiči naměřili napětí 300 mV, odpovídá to -20°C, protože platí rovnice 300-500 = -200 a -200/10 = -20.

Suma sumárum, celé číslo z A/D převodníku přepočítáme zpět na napětí a to podle pravidel výše na teplotu.

Klepněte pro větší obrázek

Jak to zapojit dohromady

Takže to bychom měli analogovou teorii a teď samotné zapojení. Mikropočítače označení + a pro napájení zpravidla nepoužívají. Namísto toho zde máme konektor GND (zem) pro záporný pól a ostatní konektory pro generování určitého napětí a tedy kladný pól.

V případě teplotního čidla nepotřebujeme programově zapínat a vypínat jeho napájení jako třeba u LED diody, která má blikat, můžeme jej tedy připojit k některému konektoru, který poskytuje stálé a regulované napětí. Arduino zpravidla disponuje piny pro 5V a 3,3V zdroj napětí, které můžeme použít.

TMP36 je nízkonapěťové čidlo, pro které je 5 V opravdu nejvyšší hranice a více mu sluší napětí okolo 3 V, kdy podává přesnější výsledky. Pro napájení jsem tedy použil konektor označený 3.3V.

Klepněte pro větší obrázek Klepněte pro větší obrázek
Zapojení našeho analogového teploměru TMP36 k Arduinu. Pomohlo nám tzv. nepájivé pole – breadboard, což je matice propojených děr, do kterých stačí zapíchnout senzory a drátky bez potřeby jakéhokoliv pájení

Prostřední signálový vodič teploměru jsem pak připojil do konektoru A0, který je společně s dalšími piny okolo určený pro práci s analogovým signálem.

Začátečníci si mohou celý obvod vyzkoušet třeba ve webovém simulátoru Circuits.io, aniž by se museli obávat, že chybným zapojením něco poškodí.

Změř teplotu každou sekundu

A to je celé. Teď už pouze stačí napsat jednoduchý program ve stejnojmenném vývojovém prostředí Arduino, který přečte hodnotu z A/D převodníku, převede ji na napětí, to dále na teplotu a všechny tři hodnoty pošle skrze sériovou linku do velkého počítače, který je s Arduinem spojený USB kabelem na portu COM7. Následně program počká jednu sekundu a vše zopakuje.

Klepněte pro větší obrázek
Program vypisuje surovou hodnotu z A/D převodníku,
zpětně vypočítané napětí a konečně i teplotu

Kód programu

Jakmile se program přeloží a nahraje do paměti mikropočítače, začne se zpracovávat, kdykoliv Arduino připojíte do elektřiny. Právě jsme tedy dali křemíkové destičce její první smysl.

int data;
float napeti, teplota;

void setup(){
 // Nastaveni seriove linky
 Serial.begin(9600);
 while(!Serial){;}
}

void loop() {
 // Precti hodnotu z analogoveho pinu A0
 data = analogRead(A0);

 // Vypocitej napeti na pinu A0
 napeti = (5.0/1024.0) * data;

 // Vypocitej teplotu podle dokuemntace cidla TMP36 
 teplota = (napeti - 0.5) * 100;

 // Vypis hodntu z A/D, vypocitane napeti a teplotu
 Serial.print(data); Serial.print("\t");
 Serial.print(napeti); Serial.print(" V\t");
 Serial.print(teplota); Serial.println(" stupnu");

 // Pockej jednu sekudnu a opakuj
 delay(1000);
}

V další kapitole se už podíváme na mnohem zajímavější a také digitální senzory, se kterými se pracuje úplně jinak a vlastně i jednodušeji, protože pro každý kousek složitějšího hardwaru už dnes existuje nějaká ta knihovna, která vše naprosto usnadní.

Témata článku: Technologie, Hardware, Programování, Pojďme programovat elektroniku, IoT, Zajímavosti, Arduino, Pohyb, Sigfox, Celkový přehled, Propojovací kabel, Odchylka, Signální pin, Proměnná, Celý obvod, Banggoodu, Ozvěna, Logická jednička, Jednoduchý vyhledávač, Detektor, Arduino-shop cz, Kapka, Prostředí Arduino, TMP, Celý kód



Programujeme ZX Spectrum: Ten nejhloupější možný program v Basicu
Jakub Čížek
Pojďme programovat elektronikuHistorieProgramování
Jak rozmazat dům, aby vás sousedi nemohli šmírovat. Jde to v Mapách Google i na Mapy.cz

Jak rozmazat dům, aby vás sousedi nemohli šmírovat. Jde to v Mapách Google i na Mapy.cz

** Nelibí se vám, když cizí lidé okukují váš dům? ** Všechny mapové aplikace nabízejí možnost rozmazání snímku ** Máme návod pro Apple Maps, Bing Maps, Mapy Google a Mapy.cz

Karel Kilián
SoukromíNávodyMapy
Lék proti depresi za stokorunu snižuje riziko těžkého průběhu i úmrtí na onemocnění covid-19

Lék proti depresi za stokorunu snižuje riziko těžkého průběhu i úmrtí na onemocnění covid-19

** Klinická studie zkoumala vliv antidepresiva fluvoxamin na covid-19 ** Počet úmrtí souvisejících s covidem-19 klesl zhruba o 90 % ** Potřeba intenzivní lékařské péče se snížila zhruba o 65 %

Karel Kilián
COVID-19LékyDepreseMedicína
Tohle nejsou Jedenáctky, ale Linux. Windowsfx 11 opisuje opravdu důkladně
Lukáš Václavík
Windows 11Operační systémyLinux
Nejpirátěnější filmy: Co se teď nejvíc stahuje (aktualizace prosinec 2021)

Nejpirátěnější filmy: Co se teď nejvíc stahuje (aktualizace prosinec 2021)

Vzali jsme týdenní přehledy nejstahovanějších filmů, které se objevují na torrentech, a spojili je do jednoho žebříčku. Tohle jsou aktuálně filmy, o které je na světě největší zájem, které se nejvíc pirátí.

Ondřej Králík
Filmy a seriály
Recenze Windows 11. Microsoft nás opíjí rohlíkem a omezuje použitelnost

Recenze Windows 11. Microsoft nás opíjí rohlíkem a omezuje použitelnost

** Oproti Desítkám významně stouply hardwarové požadavky ** Windows 11 mají nový vzhled, ale výrazně narušují workflow. ** Potěší vyhledávání, multitasking i rychlejší aktualizace

Petr Urban
Windows 11Testy
Nejvíc sexy holky ve filmech: 60 nejslavnějších erotických symbolů

Nejvíc sexy holky ve filmech: 60 nejslavnějších erotických symbolů

Krásné ženy jsou pro mnohé erotické a sex symboly. Vybrali jsme ty nejslavnější z několika desetiletí filmové a seriálové tvorby. Najdete zde nejen fotografie, ale také název díla, které herečku proslavilo.

Marek Čech
Filmy a seriály