ÚVOD / Studijní obory / Sylaby / Programování pro Arduino 1

Programování pro Arduino 1

V předmětu PA1 (Programování pro Arduino 1) se seznámíte s mikrokontroléry (jako je např. Arduino). Naučíte se principy jejich zapojení, programování i použití v rámci Internetu Věcí. V průběhu semestrálního projektu si ve dvojcích postavíte vlastní robotické vozidlo.

Sylabus předmětu

  1. Co je to Open Hardware, Internet of Things a platforma Arduino - co je to Internet of Things, Motivace, Organizace předmětu, Arduino vs. RaspberryPi, Micro-kontrolér vs. mikro-počítač, základy jazyka Wiring/Processing, zdroje informací. Ukázka Arduino a RaspberryPi desek, představení zadání semestrálního projektu, diskuze na téma k čemu lze použít IoT, rozdíly mezi deskami, atd.
  2. Arduino Ekosystém - popis desky, co s ní nikdy nedělat (5V vs. 3.3V), jak ji programovat, Arduino IDE, metody setup() a loop(), digitalWrite() a analogRead(), v čem se arduino programuje. Elektrotechnika pro IoT vývojáře, První obvod, hello world, blink, ukázkové příklady z Arduino IDE
  3. Ovládání diody a serva - základy programování, jak zapojit diodu, blink, zapojení a ovládání serva. Zapojení a naprogramování diody a serva
  4. Ovládání motorů - ovládání motorů, proč nejde zapojit motor rovnou, PWM, PWM s diodou, H-můstek, zapojení motorů přes PWM a H-můstek. Připojení H-můstku a motorů a jejich naprogramování
  5. Snímání vzdálenosti pomocí ultrazvuku - senzory, typy senzorů, fyzikální omezení, ultrazvukový senzor, jak se zapojí, jak se programuje. Zapojení ultrazvukového senzoru
  6. Multi-tasking - jak to propojit dohromady, preemptivní multitasking, zapojení robota. Připojení ultrazvukového senzoru a motorů naráz, jak pomocí senzoru řidit motory s použitím multitaskingu
  7. Struktura Arduino projektu - jak psát kód přehledně, includování více .h do jednoho .ino, preprocesor, makra. refaktoring kódu z předchozí úlohy, aby používal funkce, konstanty a makra.
  8. Komunikace pomocí UART a sběrnice I2C - komunikace, jaké typy sběrnic v IoT používáme a jak konkrétně zapojit a naprogramovat dvě nejčastější - UART (sériovou linku) a I2C. Rozdělení na týmy po 2 arduinech a jejich propojení pomocí I2C sběrnice, každé arduino má 2 diody a tlačítka, úkolem je po stisku tlačítka rozsvítit jednu svoji a jednu sousedovi diodu
  9. Teorie řízení 1 - Základy - jak naučit mikrokontrolér myslet (naivně, pomocí podmínek a proměných). Samohybné vozidlo (naivně, pomocí podmínek a proměnných)
  10. Teorie řízení 2 - Konečné stavové automaty - jak naučit mikrokontrolér myslet (lépe pomocí FSM). Samohybné vozidlo (pomocí FSM)
  11. Připojení k síti a Internetu - jak na internet aneb Arduino YŮN vs. Ethernet Shield, Arduino jako IoT node, výhody a nevýhody. Konzultace semestrálních prací
  12. Použití Arduino v rámci Internet of Things - Internet of Things není jen Arduino & RaspberryPi, Kudy dále, co vše je možné pomocí IoT řešit? Jaké další desky je vhodné před projektem zvážit? Související předměty - IOS, AND, OPT, .. Opakování. Ukázka pokročilého robota, diskuze ke zkoušce

Organizace výuky

Výuka probíhá ve 12 přednáškách a 12 seminářích po 1,5 hod.