Programozás és Digitális technika I. Pógár István
[email protected] 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