Martin Friedl 1
Obsah Materiály Vlastnosti Programování Aplikace 2
Co je to Arduino? Arduino je otevřená elektronická platforma, založená na uživatelsky jednoduchém hardware a software. Arduino je určeno pro každého, kdo chce velmi rychle a relativně snadno proniknout do tajů MCU techniky. Arduino je schopné vnímat okolní prostředí pomocí vstupů z rozličných senzorů. Zároveň může ovlivňovat okolí připojenými LEDkami, motory a dalšími výstupními periferiemi. Mikrokontrolér na desce Arduina se programuje pomocí speciálního programovacího jazyku Wiring (podobný jazyku C). Programování probíhá ve vlastním vývojovém prostředí. (Projekt Arduino získal ocenění v kategorii digitálních komunit na Prix Ars Electronica 2006) 3
Výhody Arduino jednoduché programování jednoduché zapojení nízká cena oproti jiným kitům (700kč) univerzálnost mnoho návodů uživatelská komunita platformní nezávislost (Win/Linux/MacOS/...) rychlý základ pro pochopení MCU 4
Verze Arduino 5
Výhody Arduino Arduino MINI Arduino UNO Arduino MEGA 6
Klony Arduino FreeDuino Bare Bones Board Runtime Boarduino Arduelo Libero Seeeduino - alternativní projekt - kit firmy Modern Device Company - kit firmy NKC Electronics - levnější klon Arduina Diecimila - vylepšený český Free klon Arduino Diecimila - smd verze Arduino Diecimila Genuino - vylepšené Arduino, BT, senzory 7
Arduino UNO Je levný, robustní vývojový kit založený na mikroprocesoru ATmega328. 14 digitálních I/O pinů sériová komunikace 8bit PWM výstup 6 analogových vstupů 10bit A/D převodník Tlačítko RESET napájení USB/9V adaptér 8
Arduino UNO 9
Schéma zapojení 10
Arduino UNO 11
ATmega328 Napájení Řídící piny Vstupní/výstupní porty Analogové stupy 12
Arduino Starter Kit Sestava pro začátečníky s mnoha návody. 13
Arduino MCU Mikrokontrolér ATmega168 Pracovní napětí 5V Vstupní napájení (doporučené) 7 12V Vstupní napájení (mezní) 6 20V Digitální I/O piny 14 Analogové piny 6 DC proud I/O pinu 40 ma DC proud pro pin 3.3V 50 ma Flash 16 KB (z toho 2 KB použito na bootloader) SRAM 1 KB EEPROM 512 byte Hodinová frekvence 16 MHz 14
Software Otevřené vývojové prostředí Arduino naprosto zjednodušuje psaní kódu a nahrávání hotových programů do mikroprocesoru. Je k dispozici ve verzích pro Windows, Mac OSX a Linux. Programovací jazyk se jmenuje Wiring (zjednodušené jazyk C). 15
Serial monitor Ke čtení informací v textové podobě na PC se používá tzv. Serial monitor. Po spuštění Serial monitoru musíme ještě nastavit rychlost komunikace pomoc rolovací nabídky v pravé dolní části. 16
Jak na to? 1) Stažení software 2) Instalace software 3) Schéma zapojení 4) Skutečné zapojení 5) Vytvoření programu 6) Programování MCU 7) HOTOVO Stažení vývojového prostředí zdarma na: http://www.arduino.cc/en/main/software Stažení potřebných ovladačů: http://www.ftdichip.com/drivers/vcp.htm 17
Jak na to? 1) Stažení software 2) Instalace software 3) Schéma zapojení 4) Skutečné zapojení 5) Vytvoření programu 6) Programování MCU 7) HOTOVO 18
Jak na to? 1) Stažení software 2) Instalace software 3) Schéma zapojení 4) Skutečné zapojení 5) Vytvoření programu 6) Programování MCU 7) HOTOVO 19
Jak na to? 1) Stažení software 2) Instalace software 3) Schéma zapojení 4) Skutečné zapojení 5) Vytvoření programu 6) Programování MCU 7) HOTOVO 20
Jak na to? 1) Stažení software 2) Instalace software 3) Schéma zapojení 4) Skutečné zapojení 5) Vytvoření programu 6) Programování MCU 7) HOTOVO 21
Jak na to? 1) Stažení software 2) Instalace software 3) Schéma zapojení 4) Skutečné zapojení 5) Vytvoření programu 6) Programování MCU 7) HOTOVO 22
Jak na to? 1) Stažení software 2) Instalace software 3) Schéma zapojení 4) Skutečné zapojení 5) Vytvoření programu 6) Programování MCU 7) HOTOVO 23
Ukázka programování Blikání LED 24
Fritzing Software pro kresbu skutečného zapojení, schémat a DPS. Volně ke stažení na: www.fritzing.org 25
Fritzing Software pro kresbu skutečného zapojení, schémat a DPS. Volně ke stažení na: www.fritzing.org 26
Fritzing Software pro kresbu skutečného zapojení, schémat a DPS. Volně ke stažení na: www.fritzing.org 27
Aplikace Ovládání LED K ovládání výstupu se používá funkce digitalwrite(). Tato funkce potřebuje dva parametry - číslo pinu a stav výstupu. Pokud proud teče, je to HIGH, pokud ne, tak LOW. 28
Aplikace Jednoduchý generátor zvuku 29
Aplikace Výpis textu na displej 30
Aplikace Testování tlačítka Ke zjištění, zda proud do vstupu teče, nebo ne se používá funkce digitalread(). Potřebuje pouze jeden parametr, kterým je číslo pinu. Tato funkce navíc vrací hodnotu. Když proud teče, vrátí hodnotu HIGH, když ne, tak LOW. 31
Aplikace Výpis analogové hodnoty na Serial monitor 32
Aplikace Výpis analogové hodnoty na Serial monitor 33
Aplikace Řízení rychlosti a směru otáčení motoru 34
Aplikace Řízení servo motoru 35
Aplikace Dálkové řízení pomocí Bluetooth 36
Aplikace Dálkové řízení pomocí Bluetooth ARDUINO ROBOT Data RS232 HC 06 příkazy H můstek napájení Motor 37
Elektrokroužek 38
Elektrokroužek 39
Zdroje CZ http://www.arduino.cz ENG http://arduino.cc 40
Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Konec Technická 3098/12 616 00 Brno Czech Republic Martin Friedl friedl@feec.vutbr.cz
Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Institut experimentálních technologií INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Technická 12 616 00 Brno http://www.ietbrno.eu
Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Raspberry Pi INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Jan Mikulka 2. 12. 2015
Co je Raspberry Pi? Jednodeskový PC o velikost platební karty. Britská Raspberry Pi Foundation s cílem podpořit výuku informatiky ve školách. Základem je µpc Broadcom, který obsahuje CPU ARM a RAM. INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Arduino nebo Raspberry Pi? INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Trocha historie První Raspberry: ARM Cortex 700 MHz GPU VideoCore IV, 1080p30, MPEG-4 G-out: kompozitní, HDMI, DSI S-out: 3,5 mm jack, HDMI 12x GPIO, UART, I2C, SPI INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Model A: 256 MB, 1xUSB, SD Model A+: 256 MB, 1xUSB, µsd Model B: 512 MB, 2xUSB, SD/MMC, RJ45 ethernet Model B+: 512 MB, 4xUSB, µsd, RJ45 ethernet Raspberry Pi 2
Současnost Raspberry Pi 2: Čtyřjádrový CPU ARM Cortex-A7 900 MHz Model B: 1GB, 4xUSB, µsd, RJ45 ethernet INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Raspberry Pi 2 B Nový Broadcom BCM2836 900MHz ARM Cortex-A7 quadcore procesor s VideoCore IV dual-core GPU 1GB LPDDR2 SDRAM Podpora Windows 10 40 GPIO namísto 26. Horních (prvních) 26 pinů sedí originálnímu rozložení, 9 dalších je pro GPIO 4 montážní otvory v obdélníkovém uspořádání MicroUSB napájecí konektor INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Cena 1039 Kč v RPiShop.cz
Raspberry Zero 1 GHz single-core ARM11 512 MB RAM Mini-HDMI 40x GPIO Snížená spotřeba (0,8 W oproti 4W u Rpi 2) MicroSDHC slot INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Cena $5,00
Co je třeba k Hello world aplikaci? µsd karta + nainstalovaný OS Napájecí zdroj 5 V/2 A s výstupem na µusb Klávesnice/myš Ethernetové připojení & SSH terminál / HDMI INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Co je třeba k Hello world aplikaci? INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
SW jádrem Raspberry je operační systém! INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ NOOBS Nejjednodušší OS obsahující menu pro online výběr instalovaného OS Raspbian Nativní OS od RPF, založen na Debianu Ubuntu Mate Snappy Ubuntu Core Windows 10 IOT Core OSMC OpenELEC PINET RISC OS
Raspbian INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Dostupné periferie Největší dodavatelé: http://www.aliexpress.com http://www.adafruit.com/ INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Dostupné periferie Napájecí zdroje Kabely Krabičky Kamery Displeje Snímače Řadiče INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Sady a vývojové kity
Jak programovat Raspberry? INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Scratch Python HTML JavaScript JQuery Java C/C++ Perl Erlang
Ukázka Hello world aplikace Úkolem bude rozblikat LED diodu na jednom z GPIO pinů. Frekvence blikání 1 Hz Programovací jazyk C Použijeme dostupnou knihovnu wiringpi pro ovládání GPIO pinů INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Ukázka Hello world aplikace INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Program: #include <wiringpi.h> int main (void) { wiringpisetup () ; pinmode (0, OUTPUT) ; for (;;) { digitalwrite (0, HIGH) ; delay (500) ; digitalwrite (0, LOW) ; delay (500) ; } return 0 ; } Překlad: gcc -Wall -o blink blink.c -lwiringpi Spuštění: sudo./blink
Jak na multitasking? Program: #include <pthread.h> pthread_create( ) Překlad: g++ vlakna.cpp o vlakna pthread std=c++0x Spuštění: Sudo./vlakna INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Zajímavé aplikace využívající RPi Osciloskop Smartphone Raspberry in the Sky A další INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Osciloskop s Raspberry http://www.bitscope.com/pi/ 20 MHz šířka pásma 2 analogové vstupy 12 bit převodník Podpora Raspberry INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Smartphone s Raspberry https://www.raspberrypi.org/blog/tytelli-a-diysmartphone/ INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Raspberry in The Sky http://www.daveakerman.com/ https://www.raspberrypi.org/blog/pi-in-the-sky-2/ INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Další využití Raspberry INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Použitá a doporučená literatura https://www.raspberrypi.org/ https://www.adafruit.com/ http://wiringpi.com/ http://www.bitscope.com/pi/ http://www.daveakerman.com/ INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
Vysoké učení technické v Brně Fakulta elektrotechniky a komunikačních technologií Děkuji za pozornost INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Technická 12 616 00 Brno http://www.ietbrno.eu Tel.: 541 146 292 e-mail: mikulka@feec.vutbr.cz