Deska Tinylab s Arduinem – nějaké projekty

Úvod

Jelikož na tomto webu bylo více popisů mých projektů, než nějakých návodů a textů pro začátečníky, tak jsem se rozhodl napsat pár návodů pro desku Tinylab. I kdyby jste tuto desku neměli, tak u některých projektů, jako je LED a tlačítko, budou schémata.

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
USB je zkratka z angličtiny (Universal Serial Bus) čili univerzální sériová sběrnice. Kromě toho jde také o standard konektorů, USB - micro či USB - C má většina z nás v mobilním telefonu. Podrobnější popis
Zdroj: Slovníček pojmů
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
LED
Z angličtiny Light Emitting Diode. Označuje polovodičovou diodu emitující světlo. Existují také speciální světelné diody emitující infračervené nebo ultrafialové světlo.
Zdroj: Slovníček pojmů
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
Slot je element na plošném spoji, do kterého lze zasunout nějakou komponentu. Slot může být standardizovaný (například na MicroSD), nebo může jít o řadu pinů (například slot na XBee)
Zdroj: Slovníček pojmů
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
LCD (Liquid Crystal Display) je displej z tekutých krystalů. Existují i barevné (TFT) i monochromatické a znakové. Nejčastěji se setkáváme s 16x2 znakovýmí LCD displeji.
Zdroj: Slovníček pojmů
LCD displej
(znakový, 16x2), pod kterým je sedmisegmentový displej. Pod sedmisegmentovým displejem je
RTC
RTC (Real-Time Clock) jsou hodiny v podobě externího modulu. Jsou schopné počítat čas v hodinách, minutách a sekundách, mívají funkci budíku. Většina RTC má malou baterii pro udržení času po odpojení napájení.
Zdroj: Slovníček pojmů
RTC
Real-time clock (zkráceně RTC), česky hodiny reálného času, jsou počítačové hodiny (většinou ve formě integrovaného obvodu), které udržují údaj o aktuálním čase. Přestože tento termín je známý především z počítačů nebo serverů, používá se v jakékoliv elektronice, která používá přesný čas.
Zdroj: Wikipedie
RTC modul
,
EEPROM
EEPROM (Electrically Erasable Programmable Read Only Memory) je paměť s trvalým charakterem (nevymaže se po odpojení napájení), kterou lze elektricky mazat. V Arduinu je integrovaná v čipu a je možné do ní přistupovat z programu.
Zdroj: Slovníček pojmů
EEPROM paměť
a bezdrátový modul NRF24L01.

Blikání LED

Blikání LED je často označováno za "Hello World" program v oblasti embedded zařízení. I když jste tento program někdy tvořili, tak se může hodit si to zopakovat s deskou Tinylab.

Úvod

Na této stránce webu není obvyklé schéma zapojení, protož budeme využívat desku Tinylab, která má většinu komponent zapojených z výroby. Jelikož se může stát, že potřebujeme na piny ke kterým je připojen např. 7-segmentový displej připojit něco jiného, tak se může hodit možnost displej odpojit. Právě k tomu slouží malé přepínače na desce.
V našem projektu potřebujeme jen LED na pinu 13, proto stačí zapnout přepínač u tohoto pinu.

Program

Program je téměř stejný, jako v mém textu Arduino - blikání LED. Jen je změněný pin LED na 13.
Vložte tento program do Arduino IDE:
void setup () { pinMode(13, OUTPUT); //Nastav pin 13 jako výstup } void loop () { digitalWrite(13, HIGH); //Na pinu 13 nastav hodnotu HIGH delay(1000); //Počkej 1 sekundu (1 x 1000 = 1 = jedna vteřina) digitalWrite(13, LOW); //Na pinu 13 nastav hodnotu LOW delay(1000); }
Připojte
USB
USB je zkratka z angličtiny (Universal Serial Bus) čili univerzální sériová sběrnice. Kromě toho jde také o standard konektorů, USB - micro či USB - C má většina z nás v mobilním telefonu. Podrobnější popis
Zdroj: Slovníček pojmů
USB
kabel do konektoru Arduina a v Arduino
IDE
IDE (Integrated Development Environment) Integrované vývojové prostředí je toto: v jednom okně máte textový editor se zvýrazněním syntaxe, kompilátor a uploader.
Zdroj: Slovníček pojmů
IDE
Vývojové prostředí (zkratka IDE, anglicky Integrated Development Environment) je software usnadňující práci programátorů, většinou zaměřené na jeden konkrétní programovací jazyk. Obsahuje editor zdrojového kódu, kompilátor, případně interpret a většinou také debugger.
Zdroj: Wikipedie
IDE
vyberte port, u kterého je napsáno Arduino Leonardo. Potom stiskněte tlačítko Upload (nahrát) a pozorujte, jak LED bliká.

LED a tlačítko

Arduino program LED a tlačítko moc nedává smysl, jelikož LED s tlačítkem můžete snáze zapojit bez mikrokontroléru, ovšem na tomto příkladu se dá vysvětlit práce s proměnnými a proto se na něj podíváme. Oproti předchozímu programu zde potřebujeme zapnout o spínač víc, protože potřebujeme tlačítko. Tlačítko označené S1 je připojené na digitální pin 9, který využijeme. LED, ktarou jsme použili minule, necháme zapnutou.

Program

Do Arduina na desce Tinylab nahrajte následující program:
bool stavTlacitka; // Deklarujeme proměnnou stavTlacitka typu boolean void setup() { pinMode(9, INPUT_PULLUP); // Nastavíme interní pullUp rezistor na pin 19 // se kterým je logika tlačítka obrácená pinMode(13, OUTPUT); // Nastavíme pin 13 jako výstupní } void loop() { stavTlacitka = !digitalRead(9); // Do proměnné stavTlacitka uložíme skutečný // stav tlačítka (kvůli otočené logice musíme // použít negaci (značenou vykřičníkem)) digitalWrite(13, stavTlacitka); // Na pinu 13 nastavíme hodnotu // z proměnné stavTlacitka }
Tento program funguje velmi jednoduše, protože stačí přečíst hodnotu pinu 9 a uložit ji do proměnné stavTlacitka, kterou jsme deklarovali na začátku programu. Potom na pin 13 nastavíme hodnotu přečtenou z proměnné stavTlacitka.

Závěr

V tomto článku jsme si naprogramovali několik základních projektů, které bývají často v seriálech, co mají naučit lidi programovat Arduino.

Novinky

Knihovna UltrasonicSensor

Vydal jsem novou knihovnu UltrasonicSensor pro Arduino. Popis a dokumentace jsou zatím k dispozici jen v angličtině, al pokusím se přiložit je co nejdříve i do češtiny.
English: I released a new library UltrasonicSensor for Arduino. There is a description and reference page in english (click on bold text "English").

Zjednodušení registrace

Při registraci nově není nutné potvrzovat tuto odkazem. Přesto vás žádáme, abyste se registrovali s platným e-mailem. Účty s neexistující adresou budou odstraněny.

Nové návody pro Nextion

V budoucnosti můžete na tomto webu očekávat také návody pro displej Nextion. V současnosti pracuji na meteostanici s ukládáním dat na tomto serveru.

Fórum opět spuštěno

5. prosince jsem zjistil, že roboti nepřistupují tak často, aby mohli způsobit nějaký problém s výkonem webu. Proto jsem se rozhodl fórum znovu aktivovat.

Redesign tmavého režimu

Na počátku prosince jsem provedl redesign tmavého režimu. Menu je nyní tmavší, stejně jako pozadí stránky. Pozadí textu je také tmavší. Rozložení prvků je stejné, jako dříve.

Podezření na DDoS

Asi osmého listopadu 2022 jsem zaznamanal prudký vzestup návštěvnosti. V logu jsem zjistil, že jde pravděpodobně o robota, který přistupuje na fórum. Proto jsem fórum dočasně deaktivoval.

Změna administrace

16. září přibylo nové menu, nastavení pravého sloupce v administraci, tmavý režim vázaný, na uživatele, nový vzhled administrace a ještě pár drobností. Většina tohoto je dostupná jen pro registrované uživatele.

Soukromé zprávy (PM)

Na tomto webu 9. září přibyly soukromé zprávy. Využívat je mohou registrovaní uživatelé. Adresát se určuje zadáním uživatelského jména a v adresním políčku funguje našeptávač. Ovšem ten, který nepíše na fórum, není v našeptávači vidět.

Nové fórum zde

24.srpna 2022 jsem na tomto webu spustil fórum. Je dostupné v menu vedle článků a jde kompletně o můj vlastní program.

Blikání LED různě

22.srpna 2022 jsem zveřejnil různé způsoby blikání LED. Tento projekt je často označován za "druhý projekt", hned po blikání LED normálním způsobem.

Stopky s Arduinem

18.srpna 2022 jsem vydal článek o stopkách. Jde o jeden z článků o "začátečnických projektech", které mají za cíl naučit vás více o programování Arduina v praxi.

Arduino kalkukačka

6. dubna tohoto roku jsem naprogramoval kalkulačku řízenou Arduinem Uno. V tomto článku jsem popsal její funkce a konstrukci.

USB konektory

Před nedávnou dobou vyšel článek o USB konektorech, jejich využití a funkci. Popisuje všechny dostupné běžné konektory i místo, kde je najdeme.

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.

Komentáře


Brchaňová
Skvělá práce :-)
MB
add_commentNový komentář close

close
login person_add | help
Používáním tohoto webu souhlasíste se shromažďováním údajů o vás. Více informací
0