Készítette: Ruzsinszki Gábor webmaster442

Hasonló dokumentumok
Bevezető a mikrokontrollerek, az IoT és

Arduino bevezető Szenzorhálózatok és alkalmazásaik

Bevezetés a mikrovezérlők programozásába: Ismerkedés az Arduino fejlesztői környezettel

Újdonságok az Arduino szabadszoftveres platform körül. Noll János FSF.hu Alapítvány

Mintavételes szabályozás mikrovezérlő segítségével

Labor 2 Mikrovezérlők

MSP430 programozás Energia környezetben. Kitekintés, további lehetőségek

Bevezetés a mikrovezérlők programozásába: WS2812 RGB LED-ek vezérlése

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

MSP430 programozás Energia környezetben. Szervó motorok vezérlése

Labor gyakorlat Mikrovezérlők

Nagy Gergely április 4.

Labor gyakorlat Mikrovezérlők

Ismerkedés az MSP430 mikrovezérlőkkel

Bevezetés a mikrovezérlők programozásába: I/O portok kezelése, számrendszerek, bitműveletek

MSP430 programozás Energia környezetben. Az első lépések

Mérési útmutató. A/D konverteres mérés. // Első lépésként tanulmányozzuk a digitális jelfeldolgozás előnyeit és határait.

IoT alapú mezőgazdasági adatgyűjtő prototípus fejlesztési tapasztalatok

A Texas Instruments MSP430 mikrovezérlőcsalád

Fizikai mérések Arduino-val

Bevezetés a mikrovezérlők programozásába: Fényérzékelés, fénymérés

Bevezetés az Arduino mikrovezérlők programozásába

Labor gyakorlat Mikrovezérlők

AVR assembly és AVR C modulok együttes használata AVR C projektben. Összeállította: Sándor Tamás

Laboratóriumi műszerek megvalósítása ARM alapú mikrovezérlővel és Linux-szal

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

Mikrovezérlők programozása

Mikrovezérlők II. Dr. Odry, Péter

Bevezetés az elektronikába

AVR-Stamp1.0F_USB Leírás, használati útmutató. Rev.B

Gyümölcsöző megoldások

MSP430 programozás Energia környezetben. Az I/O portok kezelése

Megjegyzés: A leírás abszolút kezdők számára készült elnézést azoktól, akik ezen a szinten már túlvannak!

Mikrovezérlők programozása

ARM Cortex magú mikrovezérlők

Jelfeldolgozás a közlekedésben

Bevezetés a mikrovezérlők programozásába: Programciklusok szervezése, analóg I/O

MSP430 programozás Energia környezetben. Hétszegmenses LED kijelzok

MSP430 programozás Energia környezetben

MSP430 programozás Energia környezetben. Nem élhetek muzsikaszó nélkül

A Netburner fejlesztőeszköz alkalmazástechnikája

Számítógépes alapismeretek

Vegyes témakörök. A KAT120B kijelző vezérlése Arduinoval

ARM Cortex magú mikrovezérlők

MSP430 programozás Energia környezetben. Alfanumerikus LCD kijelzok

Számítógép felépítése

I. C8051Fxxx mikrovezérlők hardverfelépítése, működése. II. C8051Fxxx mikrovezérlők programozása. III. Digitális perifériák

loop() Referencia:

Nagyteljesítményű mikrovezérlők

Többfunkciós hobbirobot építése és vezérlése Arduino UNO mikrovezérlő kártya segítségével

Az AVR programozás alapjai. Előadja: Both Tamás

Hobbi Elektronika. 1. Témakörök, célkitűzés, hozzávalók

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

MSP430 programozás Energia környezetben. LED kijelzok második rész

MSP430 programozás Energia környezetben. Analóg jelek mérése

Ismerkedés a Python programnyelvvel. és annak micropython változatával

Bepillantás a gépházba

MSP430 programozás Energia környezetben. Digitális szenzorok

Bevezetés a mikrovezérlők programozásába: LCD kijelzők

Az MSP430 mikrovezérlők digitális I/O programozása

VIRTUALIZÁCIÓ KÉSZÍTETTE: NAGY ZOLTÁN MÁRK EHA: NAZKABF.SZE I. ÉVES PROGRAMTERVEZŐ-INFORMATIKUS, BSC

Bevezetés a mikrovezérlők programozásába: MAX6958: Hétszegmenses LED kijelző vezérlő

Konkurens TCP Szerver

Bevezetés a Modbus kommunikációba

Számítógépes alapismeretek 1.

Leírás. Készítette: EMKE Kft február 11.

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. GY1.1 SENSACT0 PÉLDAPROGRAM

Programozási nyelvek JAVA EA+GY 1. gyakolat

Vegyes témakörök. 5. Gagyiszkóp házilag hangfrekvenciás jelek vizsgálata. Hobbielektronika csoport 2018/2019. Debreceni Megtestesülés Plébánia

Programozási segédlet DS89C450 Fejlesztőpanelhez

Szárazföldi autonóm mobil robotok vezérlőrendszerének kialakítási lehetőségei. Kucsera Péter ZMNE Doktorandusz

3. A DIGILENT BASYS 2 FEJLESZTŐLAP LEÍRÁSA

Java I. A Java programozási nyelv

6.2. TMS320C64x és TMS320C67xx DSP használata

Hány komputer van a kezemben?

Linuxot mindenre - Raspberry Pi

AVR-Duino Eth Shield / AVR-Duino EthMAX Shield

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

A személyi számítógép felépítése

Megszólal a Kütyü. Arduino bevezető hangszóró vezérlése 1 / 5 oldal

Bevezetés a mikrovezérlők programozásába: DC motorok vezérlése

MSP430 programozás Energia környezetben. Nokia 5110 grafikus kijelzo vezérlése

Digitális technika VIMIAA01 9. hét Fehér Béla BME MIT

Digitális technika VIMIAA01 9. hét

Eduino mérőpanel. Alapötlet:

Témakiírások 2014/15. őszi félévben

MÉRÉS ÉS TESZTELÉS COBRA CONTROL. NATIONAL INSTRUMENTS Alliance Partner. GÖPEL ELECTRONIC és. DIGITALTEST disztribútor

Tesztelési feladatok és kihívások a FALCON projektben

MSP430 programozás Energia környezetben. LED kijelzok második rész

Bevezetés a mikrovezérlők programozásába: Vezérlési szerkezetek, relációs operátorok

Scherer Balázs: Mikrovezérlık fejlıdési trendjei

Scherer Balázs: Mikrovezérlők fejlődési trendjei

Bevezetés az elektronikába

Számítógépek felépítése, alapfogalmak

Átírás:

Készítette: Ruzsinszki Gábor webmaster442

Szeged SZISZSZI Déri Miksa tagintézményben tanítok mikrovezérlők alkalmazásához kapcsolódó informatikai és elektronikai tárgyakat. 2008 óta foglalkozom mikrovezérlős fejlesztéssel. A témáról eddig két könyvem jelent meg e- book formátumban. (A harmadik készülőben van)

Mi is az az Arduino? Pár szó a mikrovezérlőkről Klasszikus, zárt rendszerű fejlesztés összehasonlítása az Arduino-val Népszerűbb modellek bemutatása Programozás alapismeretei Tanulás, honnan lehet megtanulni a használatát?

Egy nyílt forrású hardver és szoftver ökoszisztéma. Atmel* mikrovezérlőkre épül a platform A szoftver elérhető: Linux, Windows, OS-X platformokra egyaránt A platform a nevét Ivrea város történelmi alakjáról kapta. (Arduin of Ivrea)

A tervező, Massimo Banzi mikrovezérlős rendszerfejlesztést oktatott, de 2005 környékén nem igen volt olyan olcsó mikrovezérlős platform, amit egy tanuló is megengedhetett magának. Ezért készített egyet, de nem csak a hardvert, hanem egy szoftver környezetet is hozzá. A szoftver a Processing környezeten alapul, a hardver alapötlet meg a Wiring platformon.

Ha hardver tervezés nem egyszerű feladat, mivel a való világ nem olyan megbocsájtó, mint egy szoftveres környezet. Ezért jó dolog az, hogy meg lehet nézni mások terveit egy adott probléma megoldására. Egy-egy nyílt forráskódú hardverből olyan dolgok alkothatóak, amire a készítők nem is gondoltak.

A mikrovezérlő egy olyan integrált áramkör, ami egy komplett számítógépet valósít meg Harvard-architektúra segítségével. Külön adat és kódmemóriája van az eszköznek, amelyek fizikailag elkülönítettek Program csak a kód memóriából hajtható végre, adat memóriából utasítást nem tud olvasni a processzor*

A processzorok általában RISC utasítás készletesek, vagyis nem tudnak sok mindent, de azt a kevés mindent viszonylag gyorsan tudják Minden utasítás fix számú órajel ciklust vesz igénybe. Az integrált áramkör nem csak a memóriákat és processzort tartalmazza, hanem I/O egységeket is.

Általában a chip összes funkciójának külön kihasználásához jóval több fizikai kivezetés kellene, mint amennyi adott. Ebből adódóan a kivezetések működése szoftveresen konfigurálható regiszterek segítségével.

Szabályzási feladatok megvalósítására kifejezetten alkalmasak, mivel képtelenek arra, hogy tartósan lefagyott állapotban maradjanak. Ez egy speciális komponenssel, a Watch Dog Timer segítségével van megoldva. Ha érzékeli azt, hogy a processzor lefagyott, akkor újraindítja.

Egy mikrovezérlő Programozó eszköz, feltöltő Fordító / fejlesztő program Elektronikai alapismeretek a nyomtatott áramkör megtervezéséhez és legyártásához. Arduino környezet esetén ez mind adott, ha veszünk egy Arduino lapot.

Kiválasztott mikrovezérlő adatlapjának elolvasása (50-120 oldal) Fejlesztőeszköz megismerése, dokumentációjának elolvasása (50-120 oldal) Kapcsolás megtervezése, összeállítása Szoftver megírása

Minden mikrovezérlő típus külön belső felépítéssel rendelkezik, így a konfigurációs regiszterek működésének elsajátítása hosszadalmas és frusztráló. Ezt minden egyes típus esetén el kell sajátítani, ami nem túl kellemes. A legtöbb programozó szoftver csak Windows platformra érhető el (Microchip főleg).

Fejlesztőeszköz megismerése, dokumentációjának elolvasása (50-120 oldal) A megszerzett tudás bármelyik Arduino modell esetén alkalmazható, mivel a fejlesztő környezet könyvtárai elfedik a hardver egyediségét. Így a kód nagyon minimális módosítással hordozható a típusok között.

Az igazi forradalmiság ebben van, mert: Nem kell foglalkozni a hardver belső lelki világával A kód ugyan úgy fog működni mindegyik mikrovezérlő esetén Elég egy sémát megtanulni, nem feltétlen kell többet. Rövid idő alatt is lehet látványos dolgokat alkotni, amely oktatás szempontjából kifejezetten fontos.

Jelenleg számos modell érhető el, mindegyikről nem lesz szó, csak a népszerűbbek a teljesség igénye nélkül: Uno Mega Leonardo Due Yún

ATmega 328 mikrovezérlő 16MHz órajel 13 digitális I/O 6db 10 bites ADC 32Kb kódmemória 2Kb adatmemória

ATmega 2560 mikrovezérlő 16MHz órajel 54 digitális I/O 16db 10 bites ADC 256Kb kódmemória 8Kb adatmemória

ATmega32u4 mikrovezérlő 16MHz órajel 13 digitális I/O 6db 10 bites ADC 32Kb kódmemória 2Kb adatmemória Valódi USB támogatás*

AT91SAM3X8E mikrovezérlő 32 bites ARM 84MHz órajel 54 digitális I/O 12db 12 bites ADC 2db 12 bites DAC 512Kb kódmemória 96KB adatmemória

Arduino Leonardo hardver kiegészítve egy Atheros AR9331 processzorral WLAN képességek Linux támogatás

Együttműködés a Beaglebone és az Arduino készítői között Arduino Leonardo mikrovezérlő hardver és 1GHz-en futó ARM Cortex-A8 processzor A tervek szerint jövő áprilisban jelenik meg.

A modellek lábkiosztása* és a lábak távolsága azonos minden modell esetén. Ez lehetővé teszi azt, hogy egy kiegészítő panel (Shield) kompatibilis legyen minden modellel. Számos kiegészítő panel lelhető fel, ezek közül pár hivatalos terv és egy jó néhány külső gyártó terve.

Az előadás rövidsége miatt megint csak a legfontosabb panelekről lesz szó: Ethernet Shield GSM Shield Motor Shield Adafruit Wave Shield

TCP/IP kapcsolatok kezeléséhez. MicroSD kártya foglalatot is tartalmaz Építhető belőle egyszerű HTTP szerver, illetve a kész projekt internetre kapcsolható Opcionális PoE modul

GSM funkciókkal egészíti ki a projektünket Akár teljes mobil telefon építhető a segítségével: SMS hanghívások mobilinternet

Egyenáramú és léptető motorok vezérléséhez kialakított modul Robot építés esetén kifejezetten hasznos

WAV lejátszási képesség SD kártyáról 12 bites sztereó WAV lejátszására képes a panel. Teljes méretű SD kártya foglalattal rendelkezik.

C++ nyelvre épül Objektum orientált, amit a szoftver könyvtárak ki is használnak. Az osztály könyvtárak tervezésekor a hangsúly a könnyű használhatóságon volt, hogy a felhasználó ne vesszen el a C++ rejtelmeiben és több idő maradjon tényleges fejlesztésre. A programok itt vázlatnak (sketch) nevezettek

Legalább két függvényből áll Egy setup() függvényből, ami a mikrovezérlő bekapcsolásakor, újraindításakor lefut Valamint egy loop() függvényből, aminek a végrehajtását a mikrovezérlő ismételgetni fogja

void setup() { pinmode(13, OUTPUT); } void loop() { digitalwrite(13, HIGH); delay(250); digitalwrite(13, LOW); delay(250); }

#define F_CPU 16000000; #define MICROSECONDS_PER_TIMER0_OVERFLOW ((64 * 256) / F_CPU / 1000000L) #define FRACT_INC ((MICROSECONDS_PER_TIMER0_OVERFLOW % 1000) >> 3) #define FRACT_MAX (1000 >> 3) volatile unsigned long timer0_overflow_count = 0; volatile unsigned long timer0_millis = 0; static unsigned char timer0_fract = 0; SIGNAL(TIMER0_OVF_vect) { unsigned long m = timer0_millis; unsigned char f = timer0_fract; m += MILLIS_INC; f += FRACT_INC; if (f >= FRACT_MAX) { f -= FRACT_MAX; m += 1; } timer0_fract = f; timer0_millis = m; timer0_overflow_count++; }

unsigned long micros() { unsigned long m; uint8_t oldsreg = SREG, t; cli(); m = timer0_overflow_count; t = TCNT0; if ((TIFR0 & _BV(TOV0)) && (t < 255)) m++; SREG = oldsreg; return ((m << 8) + t) * (64 / (F_CPU/1000000L)); } void delay(unsigned long ms) { uint16_t start = (uint16_t)micros(); while (ms > 0) { if (((uint16_t)micros() - start) >= 1000) { ms--; start += 1000; } } }

int main() { DDRB = 0; PORTB = 0; while(1) { PORTB = 0x10; delay(250); PORTB = 0x0; delay(250); } return 0; }

Előny: hogy sok minden gyárilag készen van, sokkal egyszerűbb a programozás Hátrány: lassabb, nagyobb a kód, mint ha Assembly-ben fejlesztett lenne. Rengeteg kész kód érhető el az interneten különböző célokra. Minden függvény és könyvtár funkcióra van példaprogram, amiből akár összeollózható a program, különösebb programozási ismeretek nélkül.

Nagyjából mindenre van kész kapcsolás és mintaprogram. Amire pedig nincs, az nem is létezik Érdekesebb projektek, amik Arduino-val lettek megvalósítva: CNC vezérlő Sakkozó robot Saját fejlesztés: Ipari digitális mérleg vezérlő elektronikája

A környezet annyira népszerű lett, hogy a nagyobb gyártók árulnak Arduino kompatibilis fejlesztő lapokat: Példa: Texas Instruments Launchpad Microchip ChipKit Adafruit Flora, Trinket

http://arduino.cc/ - hivatalos oldal learning szekciója http://learn.adafruit.com/category/learnarduino - Adafruit hivatalos tanuló oldala, rengeteg projekt és kiegészítő termék Számos könyv is elérhető Getting Started With Arduino Programing Arduino

A fentebb említett könyvek, leírások leginkább a programozásra fókuszálnak, elektronikai alapismeretekre nem. Ezért merem ajánlani saját könyveimet: Mikrovezérlős Rendszerfejlesztés C/C++ nyelven II. Arduino Platform. Mikrovezérlős Rendszerfejlesztés C/C++ nyelven I. PIC Mikrovezérlők Beszerzési hely: http://webmaster442.hu/letolthetoirasok/

Kérdések?