Programozás és Digitális technika I. Pógár István pogari@eng.unideb.hu eng.unideb.hu/pogari
Ajánlott irodalom Massimo Banzi Getting Started with Arduino Michael Margolis Make an Android Controlled Robot Simon Monk 30 Arduino Projects for the Evil Genius Mike McRoberts Arduino Started Kit Manual
Követelmények Gyakorlaton való aktív részvétel Maximum 3 hiányzás Beadandó készítése választás határideje: márc. 17. 23:59 Félév végén 1 ZH Félévvégi eredmény: (beadandó + ZH) / 2
Arduino Eszköz és fejlesztőkörnyezet egyben A fejlesztőkörnyezetben történik a program megírása, fordítása (black magic), majd a lefordított program kártyára való feltöltése A programnyelv a C++ egy egyszerűsített változata Rengeteg beépített könyvtár Nem teszik szükségessé a panelen lévő mikrovezérlő regiszter szintű ismeretét A legtöbb esetben egy-egy periféria használatához (ADC, PWM, soros) elegendő egy-egy parancs kiadása
Beágyazott rendszer Néhány előre megszabott feladatot lát el általános feladat végrehajtás helyett Tartalmazhat feladat-specifikus mechanikus és elektromos alkatrészeket Mivel általában egy feladat jól ismert, így megfelelően lehet optimlaziálni (anyag, költség, stb.) Pl.: MP3 lejátszó, óra, router, italautomata, GPS, riasztó, orvosi műszerek, nyomtató, stb
Kritériumok Idő egy bekövetkező esemény lereagálását a rendszer egy meghatározott időn belül kezdje el < valós idejű rendszer Hard real-time - szigorú követelmények vannak előírva, és a kritikus folyamatok meghatározott időn belül feldolgozásra kerülnek Atomreaktor grafitrudak; autóipar - légzsák Soft real-time - a követelmények kevésbé szigorúak és a kritikus folyamatokat a rendszer mindössze nagyobb prioritással dolgozza fel Kenyérpirító, esőérzékelő Biztonság - A rendszer feladata egy olyan rendszer vezérlése, amely hibás működés esetén egészségkárosodás vagy komoly anyagi kár következne be. < biztonságkritikus rendszer
Arduino UNO AVR ATmega328 20 ki- és bemeneti láb 6 analóg bemenet 6 PWM kimenet 2 külső megszakítás Forrás: http://hobbirobot.hu/sites/default/files/arduino-uno.jpg
Arduino NANO http://hobbirobot.hu/sites/default/files/arduino_nano.jpg
További modellek Retired Entry level Wearable
A fejlesztőkörnyezet https://www.arduino.cc/en/main/softwar e Beállítandó: Eszköz típusa: Tools -> Board -> Arduino Leonardo Melyik portra van csatlakoztatva: Tools -> Port Soros Monitor: az Arduino panel által küldött soros adatok megjelenítése egy terminálablakban
LED villogtatás A forrásfájlokat skiccnek (sketch) hívják Ez nem más, mint az Arduino által végrehajtandó utasítások sorozata
A forrásfájl felépítése Változók megadása - a program során használt használt változókat és azok típusait itt kell megadni. Pl. egy periféria kimenetet elnevezhetünk, majd később ezzel az egyedi névvel hivatkozhatunk rá. Setup(){} - a kapcsos zárójelen belüli programtörzs csak egyszer hajtódik végre akkor, mielőtt a program főciklusa elindulna. Itt adhatjuk meg a főbb beállításokat, eszközök inicializálását (ki- és bemeneteket, soros kommunikáció sebességét). Alapértelmezettként minden láb bemenet, így csak a kimeneteket definiáljuk. Loop(){} - a program főciklusa. Ez a függvény a Setup() blokk lefutása után hajtódik végre, majd addig ismétlődik, amíg az Arduino panel feszültség alatt van. Minden alkalomkor, amikor az utasítás végrehajtás a Loop() függvény végéhez ér, kezdődik előről.
Hasznos linkek Kályha: arduino.cc Ötlettár: sparkfun.com Szimulátor: https://123d.circuits.io/
Rendelkezésre álló eszközök LED-mátrix kijelző 8x8 - http://www.hestore.hu/prod_10035559.html Infra-vörös érzékelő - http://www.hestore.hu/prod_10035545.html Lézer pont dióda - http://www.hestore.hu/prod_10035542.html ENC28J60 Ethernet hálózati modul - http://www.hestore.hu/prod_10035548.html Digitális gyorsulásmérő modul - http://www.hestore.hu/prod_10035567.html Hőmérséklet és légnyomás mérő modul - http://www.hestore.hu/prod_10035566.html Vízszint érzékelő modul - http://www.hestore.hu/prod_10035547.html Ultrahangos távolságmérő modul - http://www.hestore.hu/prod_10035534.html RGB LED modul - http://www.hestore.hu/prod_10036505.html Bluetooth modul - http://www.hestore.hu/prod_10036505.html Buzzer - http://www.hestore.hu/prod_10035570.html Gázérzékelő modul - http://www.hestore.hu/prod_10035584.html WiFi modul - http://www.hestore.hu/prod_10035824.html
A következő rész tartalmából Digitális bemenet Analóg bemenet Analóg jelek Analóg kimenet (PWM) A C nyelv anatómiája