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

Arduino Programozás

Dec 22, 2015

Download

Documents

2015 Déri Diáknapon tartott prezentációm Arduino programozásból. Aféle kedvcsináló némi elméleti összefoglalóval
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • 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