BONUS
Sonarové čidlo HC-SR04

Úvod

Experimentální sada Arduino MAXI Starter kit obsahuje spoustu modulů, ze kterých se dá vyrobit mnoho zajímavých zapojení, jedna věc však této sadě chybí a to je ultrazvukový měřič vzdálenosti HC-SR04. Jeho cena se pohybuje kdesi pod hranicí padesáti korun (dle prodejce), takže ho určitě doporučuji dokoupit a do sady si přidat. Jde o modul pro poměrně přesné měření vzdálenosti (s přesností až 3 mm) v rozmezí asi 4 cm až do 4 metrů. Dá se použít téměř ke všemu, funguje na principu odrazu ultrazvuku od překážky.

sonarove cidlo HC-SR04

V této lekci sonarové čidlo HC-SR04 využijeme na postavení jednoduchého modelu hudebního nástroje zvaného theremin. Že nevíte, co to je? Theremin (také těremin) je elektronický hudební nástroj, který vynalezl v roce 1920 Lev Sergejevič Těrmen. Je to hudební nástroj, na který se hraje, aniž by se ho hráč jakkoli dotýkal. Theremin je ovládán pouze pohybem paží, dlaní a prstů. Vzdálenost ruky od příslušné antény ovlivňuje vlastnost zvuku. Hra na theremin je proto výjimečně náročná. Theremin byl kupříkladu použit ve znělce seriálu Vraždy v Midsomeru, kde hraje hlavní melodii.

My jsme si stavbu thereminu vybrali nejen proto, že by s ním mohla být poměrně legrace, ale také abychom kromě ultrazvukového měřiče vzdálenosti HC-SR04 využili i součástku, která sice v sadě Arduino MAXI Starter kit je, ale ani jednou jsme ji v předchozích lekcích nepoužili   pasivní bzučák.

Použité komponenty

  • modul Arduino
  • USB kabel
  • ultrazvukový měřič vzdálenosti HC-SR04
  • pasivní bzučák
  • nepájivé pole
  • vodiče pro nepájivé pole + vodiče typu „samec-samice“

Princip

Chceme-li generovat tóny podle toho, jak bude vzdálena ruka od našeho hudebního nástroje, je přesné ultrazvukové čidlo přesně to, co potřebujeme. Samotný princip bude tedy poměrně jednoduchý – změříme vzdálenost překážky od ultrazvukového čidla. Bude-li vzdálenost relativně velká, bude to znamenat, že nad čidlem není žádná ruka a hudebník tedy nehraje. Začne-li se vzdálenost ruky pohybovat v nějaké „rozumné“ vzdálenosti, začneme generovat tóny podle naměřené vzdálenosti. Asi nechceme generovat libovolné frekvence, ale chceme generovat klasické tóny stupnice. Takže si zvolíme určitý interval vzdálenosti (například 10–15 cm) kterému přisoudíme určitý tón. Pro generování melodie tedy bude stačit vsouvat ruce nad čidlo ve správných vzdálenostech.


Postup experimentu

Krok 1: Sestavíme si obvod podle následujícího obrázku nebo schématu. Propojení modulu Arduino a ultrazvukového měřiče vzdálenosti HC-SR04 zachycuje tabulka.

Blokové schéma

Blokove schema

Elektronické schéma

Elektronicke schema
čidlo HC-SR04 modul Arduino
UCC 5V
Trig 9
Echo 8
GND GND

Krok 2: V prostředí mBlock vytvoříme následující program.


ikona vysvetleni Vysvětlení kódu

Krása tohoto programu je i ta, že sonarové čidlo a pasivní bzučák jsou součástí robota mBot, pro kterého je prostředí mBlok primárně vyvinuto. Z tohoto důvodu jsou pro obě tyto součástky již z prostředí mBlock zabudované standardní programové bloky. Obsluha jak sonaru, tak pasivního bzučáku je díky tomu prostě jednoduchá. V nekonečné hlavní smyčce „opakuj stále“ se nejdříve načte vzdálenost od překážky. Následuje kaskáda podmínek, kdy je postupně získaná vzdálenost testována. Například pokud je menší než 10 cm, je na pasivním bzučáku vygenerována nota C3. Pokud je vzdálenost větší následuje další podmínka, která testuje, zda je vzdálenost menší než 15 cm. Jelikož jde o větev podmínky, ve které je jasné, že vzdálenost musela být větší, je při splnění podmínky vzdálenost z rozmezí 10–15 cm. Pro rozmezí těchto vzdáleností je nastaveno pípnutí s frekvencí odpovídající notě D3. Tímto způsobem jsou vzdálenost rozděleny do pěticentimetrových intervalů až po notu C4 (maximální vzdálenost 45 cm).


Krok 3: Zkompilujeme kód a nahrajeme do modulu Arduino tlačítkem tlacitko nahrat.

Krok 4: Pokud začneme pohybovat dlaní před sonarovým čidlem, měly by se ozývat jednotlivé tóny. Z počátku to asi nebude žádná serenáda, ale po troše tréninku by se z toho mohli třeba „Ovčáci čteráci“ podařit. A kdoví, třeba časem se to dá i poslouchat. 😀

Pohled na experiment