27
Arduino Programozás Webmaster442.hu @webmaster442 webmaster442 1

Arduino Programozás

Embed Size (px)

DESCRIPTION

2015 Déri Diáknapon tartott prezentációm Arduino programozásból. Aféle kedvcsináló némi elméleti összefoglalóval

Citation preview

  • Arduino Programozs

    Webmaster442.hu

    @webmaster442

    webmaster442

    1

  • Mi az az Arduino ?

    Egy nylt forrs Hardver s szoftver koszisztma.

    Atmel* mikrovezrlkre pl a platform

    A szoftver elrhet: Linux, Windows, OS-X platformokra egyarnt

    A platform a nevt Ivrera vros trtnelmi alakjrl kapta. (Arduin of Ivrea)

    2

  • Mit jelent az, hogy nylt forrskd?

    A nylt forrskd azt jelenti, hogy brki megismerheti, megnzheti, mdosthatja a program forrskdjt.

    Azonban a szerz semmilyen felelssget nem vllal a szoftverre.

    Szmos jogi megllapods (licenc) ltezik, ami ezt biztostja.

    A nylt forrs nem azonos az ingyenessggel.

    3

  • A mikrovezrlkrl rviden

    A mikrovezrl egy olyan integrlt ramkr, ami egy komplett szmtgpet valst meg Harvard-architektra segtsgvel.

    Kln adat s kdmemrija van az eszkznek, amelyek fizikailag elklntettek

    program csak a kd memribl hajthat vgre, adat memribl utastst nem tud olvasni a processzor* 4

  • A mikrovezrlkrl rviden

    A processzorok ltalban RISC utasts kszletesek, vagyis nem tudnak sok mindent, de azt a kevs mindent viszonylag gyorsan tudjk

    Minden utasts fix szm rajel ciklust vesz ignybe.

    Az integrlt ramkr nem csak a memrikat s processzort tartalmazza, hanem I/O egysgeket is.

    5

  • A mikrovezrlkrl rviden

    ltalban a chip sszes funkcijnak kln kihasznlshoz jval tbb fizikai kivezets kellene, mint amennyi adott.

    Ebbl addan a kivezetsek mkdse szoftveresen konfigurlhat regiszterek segtsgvel.

    6

  • A mikrovezrlkrl rviden

    Szablyzsi feladatok megvalstsra kifejezetten alkalmasak, mivel kptelenek arra, hogy tartsan lefagyott llapotban maradjanak.

    Ez egy specilis komponenssel, a Watch Dog Timer segtsgvel van megoldva.

    Ha rzkeli azt, hogy a processzor lefagyott, akkor jraindtja.

    7

  • Mikrovezrls fejlesztshez kell:

    Egy mikrovezrl

    Programoz eszkz, feltlt

    Fordt / fejleszt program

    Elektronikai alapismeretek a nyomtatott ramkr megtervezshez s legyrtshoz.

    Arduino krnyezet esetn ez mind adott, ha vesznk egy Arduino lapot.

    8

  • A fejleszts klasszikus folyamata

    Kivlasztott mikrovezrl adatlapjnak elolvassa (50-120 oldal)

    Fejleszteszkz megismerse, dokumentcijnak elolvassa (50-120 oldal)

    Kapcsols megtervezse, sszelltsa

    Szoftver megrsa

    9

  • A klasszikus folyamat problmja

    Minden mikrovezrl tpus kln bels felptssel rendelkezik, gy a konfigurcis regiszterek mkdsnek elsajttsa hosszadalmas s frusztrl.

    Ezt minden egyes tpus esetn el kell sajttani, ami nem tl kellemes.

    A legtbb programoz szoftver csak Windows platformra rhet el. (Microchip fleg)

    10

  • Fejleszts Arduino platformok esetn Fejleszteszkz megismerse,

    dokumentcijnak elolvassa (50-120 oldal)

    A megszerzett tuds brmelyik Arduino modell esetn alkalmazhat, mivel a fejleszt krnyezet knyvtrai elfedik a hardver egyedisgt.

    gy a kd nagyon minimlis mdostssal hordozhat a tpusok kztt.

    11

  • Fejleszts Arduino platformok esetn Az igazi forradalmisg ebben van, mert:

    Nem kell foglalkozni a hardver bels lelki vilgval

    A kd ugyan gy fog mkdni mindegyik mikrovezrl esetn

    Elg egy smt megtanulni, nem felttlen kell tbbet.

    Rvid id alatt is lehet ltvnyos dolgokat alkotni, amely oktats szempontjbl kifejezetten fontos.

    12

  • PROGRAMRS 13

  • Program specifikci

    Egy szmtgprl vezrelhet astabil multivibrtort fogunk leprogramozni.

    A szmtgprl llthat lesz a msodpecenknti villansok szma 0-tl 999-ig.

    Astabil multivibrtor = olyan ramkr, amely kt llapot kztt billeg, stabil llapot nlkl.

    Htkznapi nevn villog 14

  • Hardver szksglet

    Arduino (nano)

    Szmtgp

    LED

    Ellenlls

    Breadboard

    15

  • A breadboard

    16

  • LED

    Fnykibocsjt dida

    Polaritssal rendelkezik

    Hossz lb: +

    Rvid lb: -

    Fordtott polarits esetn nem vilgt!

    17

  • Ellenlls

    ramkorltoz szerepe van

    Azrt kell, hogy a LED ne gjen ki

    18

  • Ardunio nano

    Mikrovezrl

    19

  • A kapcsols

    20

  • A programoz krnyezet

    21

  • A szoftver mkdse

    RS232 kommunikci

    PC esetn a soros port az 1980-as vek ta ltezik

    Minden Arduino rendelkezik USB porttal

    Ami USB felett RS232-t valst meg

    Elnye, hogy egyszer, mint a fak

    Szabadon programozhat

    Karaktereket tudunk tvinni

    A karakterek ASCII kdoltak 22

  • A szoftver mkdse

    Minden szmjegy 1 byte-ot foglal

    3 szmjegy = 3 byte

    Ezt dekdolni kell a fogad oldalon, hogy binris, a mikrovezrl ltal kezelhet szm adatot kapjunk.

    Dekdols utn ki kell szmolni, hogy a krt villansok szmnak elrshez mennyi vrakozs kell.

    23

  • A szoftver mkdse

    LED bekapcsolsa

    Vrakozs

    LED kikapcsolsa

    Vrakozs

    Ismtelt rsz

    24

  • A szoftver //globlis vltozk, hogy rtkk megmaradjon kt hvs kztt is

    int villanasok = 0;

    int varakozas = 0;

    //Ki s bemenetek belltsa

    void setup()

    {

    pinMode(13, OUTPUT);

    Serial.begin(9600);

    }

    25

  • void loop()

    {

    if (Serial.available() > 2)

    {

    //ha van j rtk, akkor az elzt felejtsk el.

    villanasok = 0;

    varakozas = 0;

    for (int i = 0; i < 3; i++)

    {

    //szmjegyek feldolgozsa

    int jegy = Serial.read() - 48; //ASCII tblban 48 az rtke 0-nak

    if (i == 0) villanasok += jegy * 100;

    else if (i == 1) villanasok += jegy * 10;

    else villanasok += jegy;

    varakozas = 1000 / villanasok;

    }

    Serial.print("Villanasok szama 1mp alatt: ");

    Serial.println(villanasok);

    Serial.print("Periodusido: ");

    Serial.println(varakozas);

    }

    digitalWrite(13, HIGH);

    delay(varakozas);

    digitalWrite(13, LOW);

    delay(varakozas);

    }

    26

  • KSZNJK A FIGYELMET

    Ha felkeltette az rdekldsedet a dolog, akkor: webmaster44.hu oldalon keress r a programozhat elektronikk knyvre s gyere el a pntekenknti szakkrre

    27