arduino programozás
DESCRIPTION
2015 Déri Diáknapon tartott prezentációm Arduino programozásból. Aféle kedvcsináló némi elméleti összefoglalóvalTRANSCRIPT
-
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