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