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: WikipedieRTC 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: WikipedieIDE 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
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.
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.
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.
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.
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.
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.
Skvělá práce :-)
MB