Arduino budík na desce Tinylab

Úvod

Dnes vám povím o svém budíku založeném na desce Tinylab. Program jsem vyvinul asi před půlrokem a čas od času jsem ho vylepšil (první verze neměla datum na sedmisegmentovém displeji ani zhasínání displeje, ani časovač, ani menu, měla jen budík a hodiny). K Tinylabu jsem se dostal asi před rokem, pár věci jsem na něm naprogramoval a potom přišel tento budík.

Tinylab

Tinylab je deska, obsahující spoustu komponent. Jejím srdcem je Arduino Leonardo a má výkonný stabilizátor, napájející všechny součástky. Jen pro příklad uveďme z hardwarové výbavy LCD displej (znakový), tlačítka anebo LED. Hlavní výhodou Tinylabu je to, že na něm můžete začít programovat hned po vytažení z krabice. Stačí připojit externí napájení (USB konektor takovou spoustu spotřebičů "neutáhne"), USB do počítače, nainstalovat Arduino IDE a napsat program. Na Tinylabu můžete klidně otestovat náš projekt blikání LED. Stačí místo čísla 2 zadat jedno z následujících čísel: 13,12,11,10. Tinylab je totiž vybaven čtyřmi světelnými diodami a pod každou z nich je tlačítko. Vpravo od tlačítek a LEDek je rotační enkodér (něco jako potenciometr, ale dá se s ním točit pořád a přitom cvaká), vpravo od enkodéru je malé nepájivé pole, na kterém můžete zapojit případné chybějící komponenty. Hned vedle nepájivého pole je potenciometr (vpravo), čidlo teploty, fotorezistor a čtečka SD karet. Jednou z mých nejoblíbenějších součástek jsou bezdrátové moduly XBee. Slot na XBee je nad čtečkou SD, potom se dá nad nepájivým polen do malého čtyřpinového výstupku zasunout BlueTooth modul HC-06. Nad XBee lze umístit ESP8266 Wi-Fi modul (takový malý výrobeček, co se umí připojit k Wi-Fi, podporuje UDP a má spoustu dalších výhod). Nad Wi-Fi modulem je relé, kterým u našeho budíku spínáme vibrační motorek. Hlavní součástka, tedy Arduino Leonardo, se nachází nad nepájivým polem a vlevo od něj je stabilizátor napětí. Vlevo nahoře je pak LCD displej (znakový, 16x2), pod kterým je sedmisegmentový displej. Pod sedmisegmentovým displejem je RTC modul, EEPROM paměť a bezdrátový modul NRF24L01.

Budík

Já jsem si na desce Tinylab naprogramoval budík s časovačem, vibračním motorkem, možností nastavení hlasitosti buzení, posíláním časového signálu, ukládáním nastavení do interní EEPROM... Tento budík má spoustu funkcí a hlavně mou vlastní knihovnu! Využívá knihovnu Timing, na časování. Nastavení je zabezpečeno PINem uloženým v EEPROM paměti, a pokud zadáte PIN, a dostanete se v nastavení na "Direct memory", tak najdete buňky 12,13, 14, 15 a do nich v tomto pořadí zadáte svůj PIN. Při prvním spuštění tohoto kódu je ovšem třeba do EEPROM na místo pinu nastavit třeba 1234, protože tam bývají nesmyslné hodnoty. Tento program ještě není hotový, protože chci přidat ještě tajné servisní menu, které spouští vždy servisní služba (to kdyby se to prodávalo) a v něm nastaví výchozí PIN, pokud majitel neví, kde je PIN, a nedopatřením si ho rozhasí. Do servisního menu by se mohla přistupovat např. podržením obou krajních tlačítek a následným stisknutím toho levého. Budou v něm volby jako Resetovat PIN, Factory reset (ten je i v hlavním menu, ale to nebude přístupné) a samozřejmě zase přímý přístup do EEPROM. Při podržení levého tlačítka (zapomněl jsem zmínit, že tlačítka jsou čtyři vedle sebe) déle než 1,5 sekundy se dostanete do nastavení časovače. Pokud levé tlačítko podržíte déle než 5 sekund, tak se dostanete na zadání PINu a pokud ho zadáte správně, tak se objeví potvrzovací nabídka na servisní menu. V něm jsou tyto volby: Jak vidíte, v menu je toho víc než dost. Nastavení spousty věcí, PIN a podobně. Pokud by se tento budík prodával, tak asi ho budou mít dva lidé nastavený dost jinak.

Závěr

Jelikož program od budíku se ztratil při poruše flash disku, tak v dalším vývoji pokračovat nebudu. Současný program je nahraný do Tinylabu, a pokud ho odstraním, tak bude navždy ztracený i zkompilovaný kód. S dalšími články o budíku tedy nemůžete počítat.

Názory uživatelů

Elektron29
Jednoduché, přehledné, bezchybné. Pro začátečníky ideální.
Arduino je i přes svou láci (malou cenu) velmi užitečný procesor, který dokáže řídit mnoho zařízení.
EM
Tata
Milá redakce,
pěkný web, jen tak dál :-)
T.
Jutta
Bezva stránky!

Novinky

Tinylab budík

Nedávno jsem vydal článek o budíku řízeném Arduinem, co je založený na desce Tinylab. Tento článek popisuje všechny funkce budíku i desku Tinylab.
Články Tmavý režim
Používáním tohoto webu souhlasíste se shromažďováním údajů o vás. Více informací