arduinoa ikastetxean -aitor azpiroz.pdf
TRANSCRIPT
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
1/117
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
2/117
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
3/117
Can't buy what I want because it's free- Pearl Jam
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
4/117
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
5/117
ARDUINOA IA!"#"$#AN
0. HITZAURREA 1
1. KAPITULUA: ARDUINO FENOMENOA 2
1.1. Zer da Arduinoa? 2
1.2. Arduinoa ikastetxean 3
1.3. Zergatik Arduinoa? 5
2. KAPITULUA: HARDWAREA 62.1. Arduino Uno-a 7
2.2. Sumarioa 8
2.3. Eskemak eta planoak 8
2.4. Elikadura 9
2.5. Sarrera-irteerak 9
2.5.1. I/O digitalak (ta PWM i!t!a a"al#gik#a$ %
2.5.2. &a!!!a a"al#gik#ak 11
2.5.3. 't k#")i#*+i"ak 12
2.. !omunika"ioa #3
3. KAPITULUA: &OFTWAREA 1,3.1. Arduinoa instalatu #$
3.2. Arduino %&Ea #9
3.2.1. E!!-i"ta*.a!!a 1%
3.2.2. M"ak 20
4. KAPITULUA: PRORAMAZIOA 26
4.1. Egitura 24.1.1. t+($ 26
4.1.2. l##+($ 2
4.1.3. F"t3i#ak ($ 2
4.1.4. ilt3ak 45 2
4.1.5. P"t ta k#-a 7 2
4.1.6. I!3ki"ak // 2%
4.2. Aldagaiak 29
4.2.1. Aldagai" !a.il!a*!-a 2%
4.2.1.1. Aldagai l#kalak
4.2.1.2. Aldagai gl#.alak
4.2.2. Aldagai -#tak 80
4.2.2.1. 9a!
4.2.2.2. ';t
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
6/117
4.2.2.3. I"tg!
4.2.2.4. L#"g
4.2.2.5. Fl#at
4.2.2.6. A!!a;
4.2.3. K#"ta"tak 88
4.2.3.1. T!/'gi"($
4.2.10.2. &!ial>P!i"t($
5. KAPITULUA: ARDUINOA KONEKTATU ,25.1. Sarrera digitalak $7
5.1.1. Pll U+ k#")i#a ,
5.1.2. Pll D#=" k#")i#a ,5.2. Sarrera analogikoak $9
5.2.1. Hi! a!ik# "t#!ak ,%
5.2.2. 'i a!ik# "t#!ak ,%
5.3. %rteera digitalak 5'
5.4. %rteera analogikoak 5#
5.4.1.1. K#"t-# t)ikik#ak ? ,0-A @1
5.4.1.2. K#"t-# a"diag#k#ak ,0 -A @1
5.5. !ontrolagailuak 52
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
7/117
6. KAPITULUA: ARDUINOAREKIN PRAKTIKAK @,6.1. (link 55
6.2. Alarma )isuala 58
6.3. %nklina"io-detektorea #
6.4. &*Ako an)ulant"ia $
6.5. !andela 7
6.6. +otent"iometro )aten irakurketa 9
6.7. !ontat"ailea 72
6.8.Sol,eo de or,eo 7
6.9. ed-a ordenagailutik agindu 79
6.10. Errelea 8'
6.11. otorraren kontrol digitala 83
6.12. otorraren kontrol analogikoa 85
6.13. Ser)omotor )aten kontrola 88
6.14. Stepper-a 9#
6.15. /& pantaila 95
6.16. 0S1 presio sentsorea irakurt"en 98
6.17. ermometro digitala #'2
.#8. +roiektua 4osti6 )atekin )i ser)o eta laserra kontrolatu. #'5
7. ERAN&KINA 10%
8. 'I'LIORAFIA 110
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
8/117
1. Arduino fenomenoa
HITZAURREA
Eta guztiek jartzen didate aurpegi bera. Arduinoa? Eta, noski, pixka bat desanimatzen nau
zer den sinple esaten ez jakiteak. Hala, bada, kontu sakonagoetan sartu aurretik, arnasa firme
hartzen dut, tartetxo bat egin, eta ezer ez diot ahopean, honelako gauza bat baino ez da,eskuarekin parafina pusketa baten tamainako karratutxo bat marraztuz.
Liburu honek irakurlea Arduinoaren erabilerara hurbiltzea du helburu. Elektronikaren nahiz
programazioaren oinarrizko ezagutzak dituenarentzako gida gisa sortu da, prototipoak diseinatu eta
eraikitzeko garaian lagungarri izango zaiona. untsean, hard!are libreak niregan sortu duen
esperimentatzen jarraitzeko gogoa azaleratzen du, baliabide gutxi dituztenei ere zientzia eta
teknologia eskuragarri egiteko Arduinoak sortu duen bideari euskaraz adar txiki bat irekitzeko
ilusioa.
Arduinoa ikastetxean erabiltzeko gida hau osatzeko garaian, "nterneten aurki daitekeen
informazio amaigabea antolatu, funtzionalena hartu, eta sinple eta labur azaltzen saiatu naiz zer den
Arduinoa eta zertarako erabil litekeen azaltzeko.
"a informazio guztiahttp#$!!!.arduino.%%!ebgunetik edo bertan inspiraturiko manualetatik
aterea dago, eta, &reati'e &ommons Attribution()hareAlike *.+ Li%ense. lizentziapekoa izaki, berriz
ere lizentzia horrekin argitaratua izan da.
1
http://creativecommons.org/licenses/by-sa/3.0/http://creativecommons.org/licenses/by-sa/3.0/ -
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
9/117
1. Arduino fenomenoa
1. KAPITULUA: ARDUINO FENOMENOA
1. Zer da Arduinoa
Arduinoa prototipo elektronikoen oinarri izango den kode irekiko hard!are( eta soft!are(
plataforma bat da. Artista, diseinatzaile eta ikasle(irakasleentzat pentsatua dago, baita hobb gisa
objektu nahiz ingurune interaktiboak sortzea helburu duen edozeinentzat ere.
-olabait esatearren, Arduinoa ingurunea senti dezakeen elementua da. Alde batetik,
sentsoreak eta hartzaileak erabiltzen ditu horretarako. estetik, erabiltzaileak bertan irauliriko
programaren aginduak jarraituko ditu/ eta horren ondorioz, ingurunean eragingo du, bere
kontrolpean dituen argi, motor edo beste edozein eragile elektriko martxan jarriz. este era batera
esanda, Arduinoa gure begiak kontrolatzen dituen burmuina izan liteke/ ikusteko gaitasuna du, eta
edonora begiratzeko ahalmena ematen digu.
0inarrian, ATMEGA etxeko xx1 mikrokontrolagailua du. Hori plataformaren burmuina
litzateke, eta Arduino Programing Language23iring(en oinarritua4 nahiz Arduino Dee!o"men#
Eniromen#25ro%essing(en oinarritua4 erabiliz programatzen da.
Arduinoan oinarrituriko proiektuak nahiz prototipoak guztiz autonomoak izan litezke, edota
5& edo memoriaren batean ejekuzioan dagoen edozein sof!arerekin komunika litezke 2lash,
5ro%essing, 6ax6)5, edo baita 0pen0ffi%e(ekin ere4. Horrek prototipo ibiltariak, estatikoak edo
adierazleak osatzeko aukera eskaintzen du.
7irkuitu inpresoa osatzen duten plakak aurrez fabrikan mihiztatuak eska daitezke, edo,
sarean zintzilikatua dagoen informazioa erabiliz, norberak ere mihizta ditzake.
Erreferentziako hard!are(diseinua 2&A8 artxiboak4 eskuragarri dago sarean/ beraz, edonork
du aukera hard!area bere kabuz eraikitzeko, baita dagoenaren gainean nahi dituen berrikuntzak
garatzeko ere.
)oft!are eta hard!are libreko plataforma honek mundu oso bat ireki dio prototipoak
laborategitik nahiz enpresetatik kanpo eraikitzeari.
$
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
10/117
1. Arduino fenomenoa
$. Arduinoa i%ae#'ean
"kastetxeetan prototipo elektronikoen eraikuntza aurrera eramateko zegoen hard!are
askearen gabezia zela medio sortu zen Arduinoa. ereziki Hezkuntzan erabiltzeko sortu zela esan
liteke, nahiz eta urte gutxian bilakaera askoz ere zabalagoa izan duen.
9ida honek Arduinoa ikastetxeetan erabiltzeko baliagarri nahi luke izan, eta, bide batez,
irakaslea 5Lra 25roje%t ased Learning proiektuetan oinarrituriko irakaskuntza4 hurbildu.
Liburuari jarraiki, ikasleak proiektu praktikoak gauzatuz garatuko du bere ikasketa, eta irakaslearen
lana proiektu horiek proposatzen, ebazten eta muntatzen laguntzea izango da.
Horretarako, Arduinoa erabiltzeko beharrezkoak izango ditugun kontzeptu teorikoez aparte,
liburuak Arduinoarekin eginiko oinarrizko muntaia sorta bat aurkezten du. Horien laguntzaz,
ikasleak nahiz irakasleak, muntaia horiek edo antzekoak eginez, ikasketa eta proiektu berriak gara
ditzakete.
Arduinoa hard!are irekiko plataforma izaki, *++ pertsonatik gorako garatzaile taldea du, eta
milioika erabiltzaile mundu guztian zehar. 9ida hau ikasgelarako erreminta bat baino ez da, bere
baitan Arduinoak duen potentzialaren argazki bat baino gordetzen ez duen gidaliburua. Erabiltzeko
interesa duenari bide bat eskaintzen dio, hasierako pausoetan sortuko zaizkion arazoak
konpontzeko. 0ndoren, mundua zabala da, proposamenak amaigabeak, eta sarean informazio
preziatua aurki daiteke, automatikoa den ia edozer Arduino bitartez muntatzeko. Aztertzea eta
imajinatzea norberaren esku geratzen da, eta baita sortutakoa berriz sarean banatzea ere.
Liburuak 5L irakaskuntza(metodologia hiru puntu hauetan garatzen du#
Arduinoa. "kasle bakoitzak Arduino erreminta eskuragarri izango du. Horretarako,
ikastetxeak aurrez mihiztatuta saltzen diren prezio baxuko Arduinoak eskuratu
beharko ditu, edo, liburuan agertzen den informazioari jarraituz, Arduino propioak
muntatu.
Horrela, ikasleak, ardura bere gain hartuta, ekipoa etxera eraman ahal izango du, eta,
ordenagailura duen konexioa erraza izaki, auto(ikasketa indartu.
E&"erimen#a(ioa. "kaskuntza esperimentazioan oinarritzen da, non ikasleak nahiz
irakasleak akatsak izatea ia ezinbestekoa bilakatzen den eta akats horietatik denek
ikasten duten.
Ez da azterketa baterako lan egiten :nahiz ebaluazioa ikastetxe bakoitzaren esku
geratzen den:, proiektu, maketa edo prototipo funtzional bat eraikitzeko baizik.
Eginez ikasten da : Asthangaren sortzaile 5atha'i(k dioen bezalaxe:. "kastean, ; axuzko lan(baldintzetan muntatua izan da. Lizentzia librekoa izanik,
lizentzia(gasturik ez du, eta irabaziak lan egiten duenarentzat bideratzen dira, eta ez,
elektronikan askotan pasatzen den moduan, lizentziaren jabe diren enpresentzat.
Arduinoan egiten den edozein aldaketa merkaturatu daiteke, eta onura ekonomikoa lortu,
baldin eta berriz ere lizentzia irekian saltzen bada.
Mu!#i"!a#a+orma da. Arduino soft!area 3indo!s, 6a%, 0) eta Linux sistema
eragileetan ejekutatzen da. este mikroprosezagailu(plataforma gehienak 3indo!s edo
80) sistema eragileetara mugatuta daude.
Programa(io/ingurune &in"!e e#a argia dau%a. Arduino programazio(ingurunea
hasiberrientzat oso erabilerraza da, eta, aldi berean, ahalmentsua, erabiltzaile aurreratuek
zukua atera diezaioten.
Kode ire%i%o &o+#0are garagarria du. Arduino soft!area edozein programatzailek
garatzeko irekia da. &@@ lengoaian oinarrituriko liburutegiak garatuz, Arduinoaren
kapazitateak muga gutxi ditu.
Kode ire%i%o ard0are garagarria du. Arduinoa ATMEGA ''2
mikrokontrolagailuetan oinarritua dago, eta gainerako modulu guztien &A8 planuak,
&reati'e &ommons Attribution()hareAlike *.+ Li%ense lizentziapean, sarean
argitaratuak daude.
8iseinatzaile ausartenek Arduinoaren bertsio propioa diseina dezakete, eta baita, betiere lizentzia
irekian, saldu ere/ honela, Arduinoaren prestazioak nahiz garapena bultzatuko dituzte. Arduinoarenplataformari hamaika funtzionalitate gehitu dizkio erabiltzaileen komunitateak oraingoz 20i+ia,
GP3a, GR3Ma, Irudi de#e%(ioa, Android %one'ioa...4, eta kontaezinak dira oraindik garatu
dakizkiokeenak.
http://creativecommons.org/licenses/by-sa/3.0/http://creativecommons.org/licenses/by-sa/3.0/ -
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
13/117
2. Hardwarea
2. KAPITULUA: HARDWAREA
Arduino asko aurki ditzakegu merkatuan. Gure Arduino propioa ere munta dezakegu,
horretarako jakintza nahikoa badugu. Baina badaude Arduino guztiak antzeko egiten dituen zenbait
ezaugarri, eta horiek aipatuko ditugu, nola eginda dauden ikustean.
6
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
14/117
2. Hardwarea
Arduinoaren hardwarea aztertzeko, Arduino Uno-a aztertuko dugu. Hau da azkena atera
duten modeloa, eta oraingoz prezio baxuan prestaziorik onena ematen duena. Ondoren,
erabiltzailearen esku geratzen da erabakitzea zein Arduino datorkion ondoen bere proiekturako,
tamaina, konplexutasuna, memoria edo diseinua kontuan izanda.
1. Arduino Uno-a
Arduino Uno-a Atmega 32(datasheet mikrokontrolagailuan oinarrituriko sarrera-irteera
plaka programagarri bat da. !no-a Arduinoetan azkenekoa da, eta Arduino plata"ormaren
erre"erentzia bihurtu da, Arduino so"twarearen #.$ bertsioarekin batera.
#% sarrera-irteera digital ditu (horietako & ') irteera analogiko gisa erabil daitezkeenak,
& sarrera analogiko, #& )Hz-eko maiztasuna duen kristal oszilatzailea, !*B konexioa, ja+k
elikadura, *' header-a, eta eset pultsagailu bat. /untsean, mikroa kontrolatu, elikatu eta
!
http://g/OTEITZALP.ORG%20(Return%202011-2012)%202012-01-15%20Kopy/000%20(2011-2012)%20-%20Oteitzalp.org/015%20Irale%202012%20(ARDUINOA)/Liburua/odt%20dokumentuak/ATmega328%20datasheet#http://www.atmel.com/Images/doc8161.pdfhttp://g/OTEITZALP.ORG%20(Return%202011-2012)%202012-01-15%20Kopy/000%20(2011-2012)%20-%20Oteitzalp.org/015%20Irale%202012%20(ARDUINOA)/Liburua/odt%20dokumentuak/ATmega328%20datasheet#http://www.atmel.com/Images/doc8161.pdf -
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
15/117
2. Hardwarea
ordenagailura erraz konektatzeko beharrezko guztia dauka.
2. "umarioa
)ikrokontrolagailua A0mega123(datasheet4an-tentsioa 56
7likadura-tentsioa 8-#2 6
7likadura-tentsioa (onargarriak &-2$ 6
9O (sarrera-irteera pin digitalak #% (horietariko &k ') irteera ematen dute
*arrera analogikoak &
9O (sarrera-irteera korronteak %$ mA
1.16-eko pinaren korrontea 5$ mA
/lash memoria 12 kB (horietatik 2 kB, bootloaderrak erabiliak
*A) 2 kB
77'O) # kB
7rloju-maiztasuna #& )Hz
0amaina 2,8 eta 2,8 hazbete
3. E#$ema$ eta %&anua$
7AG47 artxiboak 7agle:;esing.zip
Arduino !
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
16/117
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
17/117
2. Hardwarea
da. Aurrerago, liburuan zehar, kableatze modu hori ikusiko duzue.
7zaugarri horiek komunak dira pin guztientzat, baina, horietaz aparte, pin batzuek
ezaugarri bereziak dituzte, eta ondoren zerrendatzen dizkizuet@
"eria&@ R4eta 1T4. TTLserie-datuak hartzeko (D nahiz bidaltzeko (0D
erabil daitezke pin hauek, Arduinoa edozein serie-dispositiborekin komunikatu
nahi denean.
Kan%o-interru%5ioa$:2 eta 3. 'in hauek, trigger pultsu batez, interrupzio bat
programatzeko kon"igura daitezke.
PW: 3, +, 6, , 1 eta 11. 'in hauek 7ite$o PW irteera analogiko bat
programatzeko aukera ematen digute, ana&ogWrite4"untzioa erabiliz.
OHARRA: PWM (pulse!i"th #o"ulation)
')ren "untzioa seinale periodiko baten pultsuen zabalera modulatzea da, hau da, seinale
horren lan-zikloa aldatzea. Oso baliagarria da, adibidez, ; motore baten abiadura-kontrola
egiteko. *einale periodiko baten lan-zikloa edo ;ut +le-a seinale horren parte positiboak
periodo osoarekiko duen zabalera-erlazioa da.
ana&ogWrite4 "untzioak, 7it izaki, eta 2++bitarteko zenbakiak onartzen ditu sarrera-
aldagai gisa. Arduinoak guk ana&ogWrite4aginduan emaniko zenbakiaren proportzionala den +*-
eko seinale karratu bat emango digu.
Hurrengo taulan aurki dezakezue ana&ogWrite4 "untzioaren aldagaia eta irteerako
tentsioaren batez bestekoaren arteko erlazioa.
ana&ogWrite%in8 4 -E ;ut +le $ (Bat ere ez -E $ 6 (rteerako batez bestekoa
ana&ogWrite%in8 6'4 -E ;ut+le $,25 (4aurdena -E #,25 6 (rteerako batez bestekoa
ana&ogWrite%in8 124-E ;ut +le $,5 (7rdia -E 2,5 6 (rteerako batez bestekoa
ana&ogWrite%in8 2+64-E ;ut +le # (Osoa -E 5 6 (rteerako batez bestekoa
1
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
18/117
2. Hardwarea
Hona hemen adibide bat, seinale karratu batentzat@
Duty Cycle=Ton/ TonToffx #$$
-9 * Irteera$o 7ate5 7e#te$oa4
-9 182+ * Irteera$o 7ate5 7e#te$oa4
-9 28.+ * Irteera$o 7ate5 7e#te$oa4
-9 38!+ * Irteera$o 7ate5 7e#te$oa4
-9 + * Irteera$o 7ate5 7e#te$oa4
LED:13. %ina.'lakan bertan txertaturiko led bat 13. pin digitalera konektaturik dago. 'in
horren balioa altua (HI(H denean, led-a piztuta ikusiko dugu, eta balioa baxua (LW
denean, aldiz, itzalita.
Aurrerago ikusiko dugun bezala, oso erabilgarria egingo zaigu, Arduinoa ongi konektaturik
dagoen jakiteko.
$. %arrera analogikoak
Arduinoak 6 sarrera analogiko ditu, A etaA+ artean izendatuak, eta bakoitzak 1 7iteko
bereizmena ematen digu. A-A+ pinetan sartzen dugun balio analogikoa balio digital bihurtzen dute.
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
19/117
2. Hardwarea
7sate baterako, ana&ogRead34komandoak hirugarren pina irakurri ondoren, # balioa bueltatzen
baldin badigu, badakigu 2,5 6 dauzkagula lehenengo pinean.
HARRA. *arrera analogikoaren erre"erentziako tentsio maximoa + * da normalean, baina, zenbait
kasutan, tentsio-maila desberdina emango diguten sentsoreak konektatuko ditugu, eta erre"erentziako tentsiomaximoa txikiagoa izango da..
=asu horietan, eta A7/ pina eta ana&ogReeren;e 4"untzioa erabiliz, aldatu egin daiteke balio-maila hori.
&. 'este koneiopinak
ARE
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
20/117
2. Hardwarea
6. Komuni$a5ioa
ATmega32-ak UART TTL(5 6 komunikazioa ahalbidetzen du bere (D eta 1(0D pinetan, baina
Arduinoak integratua duen ATmega16U2txipak serie-komunikazio hori !*B komunikazio gisa bideratzen du, eta
Arduinoa =portu estandarrera konektatzea ahalbideratzen.
Hau da "untsean Arduinoaren eta beste mikrokontrolagailuen arteko desberdintasun nabarmenena@ Arduinoa
edozein ordenagailutako !*B portutik programatu daitekeela.
Birtute horretan sakonduz, Arduino so"twareak serie-monitore bat dakar integraturik, eta, bertan, denbora
errealean, Arduinoarekin komunikazioa bidera daiteke, hala nola Arduinoaren sarrera-irteeren balioa 'an ikusi
edota 'tik Arduinora in"ormazioa edo aginduak bidali.
HARRA: Arduinoak !*B portua babesteko "usible bat dauka plakan integraturik.5$$mA-tik gorako
kontsumoa duenean, eta !*B portua babeste aldera, Arduinoa deskonektatu egingo da 'tik.
13
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
21/117
3. Softwarea
3. KAPITULUA: SOFTWAREA
1. Softwarea instalatu
Arduino programazio-inguruneak (IDE) erraza egiten du kodea idaztea eta, ondoren, IOplakara bidaltzea.
Windows, Mac OS X eta inu!-pean egiten du lan. "a#a lenguaian garatua dago, eta $roccessing so%tware irekian
oinarritua.
Saretik &aitsi daiteke, beti bezala eskuragarri www.arduino.ccwebgunean.. 'neko azken bertsioa erabiliz
egin dut ondorengo instalazioa..
"arraian, azalduko dut Arduino programa nola instalatu, ondoren zuen Arduino plaka nola konektatu eta
leen programa nola &arri %untzionamenduan. ida au Ar!uino Uno-a Windows X$-pean instalatzeko dago
prestatua. *arianteak asko izan daitezke sistema eragileetan+ ala, bada, instalatzeko garaian beste sistema-eragile
baten aurrean aurkitzen bazarete, in%ormazioa urrengo esteketan duzue
inu!-en instalatu - ttpwww.arduino.ccpla/groundearninginu!
Mac OS X-en instalatu - ttparduino.ccenuideMacOSX
Windows-en instalatu - ttparduino.ccenuideWindows
a) Lortu Arduino plaka bat eta USB kablea (begiratu konektoreak!)
b) Jaitsi Arduino softwarearen azken bertsioa, eta instalatu.
So%twarea &aitsi ostean, deskonprimatu art!iboa.
1"
http://www.arduino.cc/http://arduino.cc/en/Guide/Windowshttp://arduino.cc/en/Guide/Windowshttp://www.arduino.cc/ -
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
22/117
3. Softwarea
Ondoren, eraman Ar!uino#.#karpeta osoa $:Ar%&i'os !e (ro)ra*akarpetara.
Azkenik, egin Arduino e!ekutagarriari lasterbide bat maaigainean.
d) Konektatu Arduino plaka, eta instalatu rierrak.
Arduino plakaren %untzionamendua egokia izan dadin, 0ri#errak instalatu bearra dago. Ondoren, irudi
bidez, 0ri#er oriek instalatzeko pausoak listatuko ditut.
d) "reki Arduino "#a, eta kargatu Blink progra$a.
Arduinoa 'S* portura konektatzean, ardware berriaren morroia abiatuko zaigu. 0ri#errak eskuz
instalatuko ditugunez, esan 1ez2 windows updaterakonektatzeari. Aukeratu, ondoren, instalazioa
kokaleku jakin batetikegitea.
1+
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
23/117
3. Softwarea
Arakatu Arduinoa instalatu dugun karpeta, eta aurkitu aren barruan 0ri#ers karpeta.
3ontuan izan 45 dudala 6708 'S* 0ri#ers karpeta aukeratu. 9ori bertsio
zaarragoentzat erabiltzen da.
14zikusiarena egin2 zerti%ikatua eskatzen duen leioari, eta instalatu 0ri#errak.
1,
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
24/117
3. Softwarea
Azkenik, kontuan izan Arduino so%twareak ez duela :OM portua automatikoki
aurkitzen eta, beraz, eskuz sartu bear diogula Arduinoa konektaturik dagoen
portuaren zenbakia. *estela, komunikazio-errore oso oiko bat emango digu.
Arduinoa zein :OM portutan dagoen konektaturik &akiteko, aurkitu )ailu-u!eat/aile menuan :OM$7 portuen lista, eta begiratu zein den gure
Arduinoaren portua.
10
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
25/117
3. Softwarea
*ein &akinda gure Arduinoari :OM; portua egokitu zaiola, &oan Arduino 804ra,
eta aukeratu portu ori ools / Serial Portsailean. Orain, ongi konpilaturiko edozein
programa karga genezake Arduinoan. > milisegundoko maiztasunaz.
$rograman !ela(=>>) konstantea =>>era &aitsi, eta, kargatu ondoren, plakako ed-
ak dir-dir egin bear du =>> milisegundoko maiztasunarekin. Azkarrago, alegia.
12
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
26/117
3. Softwarea
. Ar!uino IDEa
Arduino 804a (8ntegrated de#elopment en#ironment) programazio-so%tware bat da.
$rogramazio-so%tware geienak bezala, argia izatea du elburu, eta bertan idatziko direnArduinorako programek duten zailtasuna ez areagotzea. 9ori orrela, naiko azkar egingo dugu
so%tware au erabiltzeko gida labur bat.
%. #rre$inta&barra
Verify/Compile
8datziriko kodea aztertzen du, akats bila. 3onpilatzaileak erroreren bat aurkitzen
badu, ezin izango da kodea Arduinora igo.
14
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
27/117
3. Softwarea
Upload to I/O Board
8datziriko kodea Arduino plakara igotzen du. ogoratu igo aurretik gordetzea.
O5ARRA:Arduinora programak igotzea erraza bada ere, bein Arduinoan dagoenprograma ordenagailura &aistea 458
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
28/117
3. Softwarea
aren %untzioak erabiltzearekin.
ttpwww.lad/ada.netlibrar/arduinolibraries.tml
S&ow Set%& Fol!er.Programa edo errutina direktorioa bistaratzen du. 9or
gordetzen dira guk aurrez eginak ditugun programa guztiak.
A!! File.ure programa nagusiari errutina bat geitzen dio. 9orrek proiektuei
art!iboak geitzea aalbideratzen du. 4rrutina berria %it!a berri batean irekitzen da.
9urrengo adibidean, lau art!iboko programa nagusi bat duzue.
1
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
29/117
3. Softwarea
Auto For*at9onek gure kodea %ormateatzen du.
O5ARRA: 5er da kodea %ormatu onean mantentzea@ *earrezko oarrak &artzea, edo
geiegi ez &artzea, eta %untzio edo atal desberdinak egoki tartekaturik edukitzea da. 0enboran atzera
egindako kodea edo beste norbaitek eginikoa egoki %ormateaturik ez izateak burukomin andiak sor
liezazkiguke, eta sortzen dizkigu sarritan.
3odea %ormatu onean edukitzea azpiko arropa egokia izatea bezalakoa da+ ez da ezinbestekoa,
ezinbestekoa biurtzen den arte.
Ar%&i'e Set%&3odea gorde, karpetaratu eta konprimatu egiten du+ eta edozein
%oro, blog edo tutorialetan zintzilikatzeko modu egokian paketatzen du.
8oar! 4rabiltzen ari garen Arduinoa aukeratu bear da lista onetan. Arduino
so%twareak ez du berak bakarrik ezagutzen plaka+ ortaz, plaka desberdin bat konektatzen
dugun bakoitzean, kontu izan bear da egokia aukeratzeko. *estela, ez da komunikaziorik
izango .
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
30/117
3. Softwarea
Serial Port ure ordenagailuak dituen serie-kone!ioko Arduino guztiak bistaratzen
ditu.7ools menua luzatzen dugun bakoitzean, bere kasa aktualizatzen da. Windows-en
:OM= edo :OM balioa artzen du serie-kone!ioa duten gailuentzat, eta :OM;, :OMB,
:OMC edo andiagoa 'S* kone!ioa duten gailuentzat.
3ontuan izan programa kargatzeko garaian portu egokia aukeratu bear dela+
orretarako, gailu-kudeatzailea erabili.
Pro)ra**er ure Arduino plakaren bootloaderra grabatu nai dugun kasuan
bakarrik erabiliko dugu aukera-lista au. 3asu oso aurreratua izaki, kontzeptu batzuk
gainetik aipatuko ditut, eta kasu praktiko batera mugatuko dut azalpena.
eiagorako, kontsultatu+ ttpwww.lad/ada.netlearna#rprogrammers.tml
Arduino miiztatuak erabiltzen ari zaretenok ez duzue tarte onen bearrik.
Mikro batekin komunikatu nai dutenek bearrezko dute 1programmer2 bat. *eraz,
oso garratntzitsua izango da mikroak eta Arduinoak izango duten kone!io mota (Serie 77,
'S*, portu pareloa, etab.). $rogrammer mordoa daude aukeran, baina nagusienen
ezaugarriak aztertuko ditut.
3
http://www.ladyada.net/learn/avr/programmers.htmlhttp://www.ladyada.net/learn/avr/programmers.html -
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
31/117
3. Softwarea
8S$ (8n sistem $rogramming) D $rogramazio mota onekin t!ipa zirkuitutik atera
gabe programa daiteke.
Sistema onetan oinarritzen dira Arduinoa programatzaile gisa erabiltzeko aukera
guztiak+ bai AEFa, bai 'S*tin/-a ere. 9oriek komunikazio-protokoloan eta -bidean bakarrikdesberdintzen dira+ batean 77 seriea, eta bestean 'S*.
uk au guztia ez dugu sumatuko+ izan ere, plakak berak du 'S*-Serie77
biurgailu bat, eta, beraz, ez dugu Arduinoa programatzean programmer %untziorik erabiliko.
*aina bada kasu bat, naiko orokorra gainera, Arduinoa 7!ip programatzaile gisa
erabiliko duguna. 9ori Arduino berriak geuk egiterakoan da.
*aldin eta Arduinoa geronek miiztatu nai badugu, bi aukera ditugu Atmega =CG-a,
adibidez, erosteko garaian bootloaderra dakarrena erosi edo bootloader gabekoa erosi.
O5ARRA: *ootloaderra abio-gestore bat da, programa nagusia mart!an &arri dadin
baimentzen duena, eta guztiz aparte programatu eta grabatzen da. eienetan babes-neurriak izaten
ditu, aparailuaren mart!a desegokiak edo aldaketak ekiditeko.
*aldin eta bootloader gabeko Atmega =CG t!ipa erosten badugu (kasurik orokorrena eta
merkeena), abio-gestorea grabatu bearko diogu leenengo, eta, orretarako, gure Arduino 'no-aerabil dezakegu.
Arduino 'no-a erabili bearrean beste programatzaileren bat erabili nai badugu, egoki
aukeratu bear dugu.
Arduinoa, gure kasuan, programatzaile gisa erabilita, gai izango gara guk sortu nai dugun
Arduino berriaren t!ipari bootloaderra grabatzeko.
"
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
32/117
3. Softwarea
8urn 9ootloa!er Aurreko kasuari &arraiki, guk miiztatu bearreko arduinoaren
t!ipari (Atmega =CG da orokorrena) bootloaderra grabatzeko agindua ematen dion
komandoa da.
ogoratu kasu onetan 9oar! atalean plaka egokia aukeratu bear duzuela.
Arduino 'no-a kasu onetan programatzaile gisa ariko da lan egiten, eta elburuko plaka
Atmega =CG-a izango da (Diecimila) gure kasuan.
+
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
33/117
4. Programazioa
4. KAPITULUA: PROGRAMAZIOA
Arduinoaren programazioa ez da C lengoaiatik asko desberdintzen. Hortaz, lengoaia honetara ohitutazaudetenoi ezagunak egingo zaizkizue hurrengo kontzeptutatik asko; eta besteoi, berriz, animo. Programazioak ez du
oinarrizko ezaguera handirik behar, logika nahiz kuriositate pixka bat nahikoa dira ia edozer aparatu martxan jartzeko.
Arduinoa programazio-jakintza gutxi duten erabiltzaileentzat egin zen bereziki, baina, C lengoaianoinarriturikoa izaki, garatzeko bideak infinituak dira.
1. Egitura
Arduino programazioaren lengoaiaren egitura nahiko sinplea da. Bere barruan instrukzioak gordetzen
dituzten bi funtzio nagusitan banatzen da: void setup!eta void "oop!.
Adibidea
1. setup()
Programan exekutatzen den lehen funtzioa da, eta BH!" bakarrik exekutatzen da. Hurrengo lanak
hartu behar dira funtzio honetan.
Programan erabiliko diren aldagaiak deklaratu.
pi#Mode!-a erabiliz, pinei beren egitekoa finkatu: edo sarrera I$PUT! edoirteeraOUTPUT!.
#erie-komunikazioak abiatu. %eria".&egi#abiadura baudio/s!
Adibidea: Programa honek serie-komunikazioaren abiadura 9600 baudio/s-ra mugatzen du, eta 13. pina
irteera-pina izango dela adierazten du.
'(
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
34/117
4. Programazioa
O)ARRA: #erie-komunikazioak abiatzeko garaian $Arduinoaren datuak ordenagailura pasatzekoezinbestekoa%, konstante bat pasatzen zaio abiadura gisa.
Baudioak komunikazio-egoera baten aldaketa kopurua adieraziko digu, eta, beraz, baudi&s-ak ez dira bit&s -en
berdinak, komunikazio-saio bakoitzean bit bat baino gehiago bidali edo har baitaiteke.
Hori horrela, esan beharra dago '()) baudio&s-ko abiadura dela ia beti erabiltzen dena, serie- komunikazio
azkar nahiz eraginkor bat bermatzen baitu.
2. loop()
Programan ondoren exekutatzen den funtzioa da. *untzio honen kodea behin eta berriz
exekutatzen da, bukaerarik gabe. *untzio hau da Arduino programa guztien nukleoa, eta berak egiten du
lanik handiena. Hemen joango dira idazketa, irakurketa, konparazio, eragiketa eta antzeko akzio guztiak.
Adibidea
3. funtzioak ()
+eia egindakoan $void% exekutatzen diren kodeak dira. Programan errepikatzen den kodea ezerabiltzeko sortzen dira. *untzio bat deklaratzean, lehenengo, bueltatuko duen balioa deklaratzen da $int,
foat, ..%; gero, funtzioaren izena deklaratzen da, deitzean pasa beharko dizkiogun parametroekin batera.
Adibidea
Aurrerago, programan zehar funtzio hau nahi adina aldiz deitu daiteke.
'*
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
35/117
4. Programazioa
Adibidea
4. Giltzak {
iltzek funtzio-blokearen hasiera eta bukaera markatzen digute. iltza guztiek bikotean etorri behar
dute; irekierako giltza guztiek, beraz, itxierako bat behar dute eduki.
Arduino !+ak badu giltza-balantzea txekeatzeko modu berezi bat ere. Aukeratu irekierako giltza
bat, eta softareak berak argituko du non duen itxierakoa.
Adibidea
!. "untu eta ko#a $.
+eklarazio bakoitzaren ondoren jarri beharreko sintaxia da.. Programaren elementuak banatzeko
erabiltzen da. Puntu eta koma bat ahazteak konpilazio-akatsa emango dizu, eta ezingo duzu programa
Arduinora igo.
hartu iruzkinen ondoren ez dagoela $+% puntu eta koma jarri beharrik.
Adibidea
',
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
36/117
4. Programazioa
6. %ruzkinak //
Programa guztiek behar dituzte iruzkinak. Horiek programaren nondik norakoak esplikatuko
dituzte, eta nahiz eta ez izan kodea /ez, behintzat, ondoren konpilatuko den kodea / ezinbestekoa da
programa ongi estrukturatzeko garaian. torkizunerako, memoria gisa oso baliagarriak suertatzen dira.
0enbait programatzailek /gehienek esango nuke nik/ iruzkinik gabeko kodea ilargirik gabeko
eguzkia bezalakoa dela diote; argituko gaitu gehienetan, baina gehien behar dugunean, beste nonbaitera
egingo du argia, eta ez dugu jakingo nora, ilunpetan utzi gaitu eta.
!ruzkinak beharrezko ikusten ditugun aginduetan bakarrik jarriko ditugu; programaren helburuaz
ezer ez dakien baina kodea uler dezakeenak laguntzarako izango lituzkeen tokietan bakarrik. !ruzkin
gehiegik iruzkinen balioa ezerezean uzten dute.
0entzuak, praktikak eta beste iruzkinak irakurtzeak erakusten dute, azkenean, nola egokitu iruzkinak
programari.
Adibidea
'. A"dagaia-
Aurrerago programak erabiliko duen balio numeriko bat gordetzeko forma bat da aldagaia. !zenak ongi
adierazten duen moduan, balioz aldatuz doazen zenbakiak dira, konstanteak ez bezala, horien balioa ez baita inoiz
aldatzen.
Aldagaiak deklaratua izan behar du beti, eta, ondoren, programatzailearen esku geratzen da hasierako balio
bat ematea. Aldagai bat deklaratzeak bere baitan gordeko duen balioa zein motatakoa izango den esatea dakar $int,
long, float,...%, lehenengo, eta aldagaiari izen bat ematea, ondoren. +eklarazio hori programa guztian zehar behin
bakarrik egin behar da, eta aldagaiaren balio-aldaketa, aldiz, programan nahi adina aldiz gerta daiteke.
1. &ldagaien erabilera'ere#ua
Aldagaiak, non deklaratzen diren, bi motatakoak izan daitezke, g"o&a"a- edo "o-a"a-.Aldagaia deklaratzeko garaian, kontuan izan non erabiliko duzuen, eta, horren arabera, era globalean edo era
lokalean deklaratu. +udak baldin badituzue, emaiozue pasaporte anitza; egin aldagai g"o&a"a eta arazogutxiago izango duzue.
1. A"dagai g"o&a"a-
Programa bateko edozein tokitan kontsultatu nahiz erabil daitezkeen aldagaiak dira aldagai
g"o&a"a-. Programaren hasieran deklaratzen dira, setup!funtzioaren aurretik.
'/
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
37/117
4. Programazioa
Adibidea
'. A"dagai "o-a"a
Aldagai "o-a"a-funtzio baten barruan edo0orlazo baten barruan deklaratzen direnaldagaiak dira.. +eklaratu diren funtzioaren barruan bakarrik irakur edo erabil daitezke. Horrek
programa berean, funtzio desberdinen barruan, izen berdineko baina balio desberdineko bi aldagai
izatea ahalbidetzen digu.
Adibidea
2. &ldagai #otak
1. 2ar
1araktere bat gordetzen du bere barnean. 1araktere hori A%CII kodeko karakterebat izango da $Adibidez: a, &,, ), 3, , ....%. so egokia da hitzak gordetzeko.
Aldagaiaren A%CIIkarakterea bi eratara gorde daiteke: karaktere bera emanez
56
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
38/117
4. Programazioa
kakotx artean edota karaktereari dagokion balio dezimala emanez.
2araldagaiak erabiltzerakoan, oso baliagarria izango zaizue A#2!! taula:
'. &7te
1omarik gabeko eta , &iteko balio numeriko bat gordetzen du. Beraz, 6tik '88arteko zenbakia behar du izan, ez handiagoa ez txikiagoa.
&7teangelua= 180; angelua aldagaia b!te motakoa dela deklaratzen du
5. i#t 9O%OA9
1omarik gabeko16&iteko $' &7te% balio numeriko bat gordetzen dute, zenbaki
51
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
39/117
4. Programazioa
O%OA deiturikoa. Beraz, 95'*(,tik 5'*(* arteko zenbakia behar du izan, ez handiagoa eztxikiagoa.
i#tluzera= 1""0; luzera aldagaia int motakoa dela deklaratzen du
O)ARRA:0enbaki osoek ez dute komarik. #entsoreen irakurketak $i#t% batean gordetzean koma galtzeaekarriko du.
+emagun tenperatura-sentsore batek 5, -eko balioa ematen digula. Balio hori i#t3 tenperatura; aldagaiansartzen baldin badugu, automatikoki 5bihurtuko dela jakin behar dugu.
so aldagai erabiliak dira, memorian espazio gutxi erabiltzen dutelako, eta beren arteko eragiketak oso azkar
egiten direlako. Aldiz, sentsibilitate handiagoa behar dugun kasuetan, 0"oataldagaiak erabiltzen ikasi beharko dugu.
4. "o#g
1omarik gabeko32&iteko $4&7te% balio numeriko bat gordetzen dute. Beraz ,9' 14( 4,5 (4,tik ' 14* 4,5 (4* arteko zenbakia behar du izan, ez handiagoa ez txikiagoa.
"o#gsegundoak= #000"0; segundoak aldagaia long motakoa da
8. 0"oat
1omadun zenbakiak gordetzeko erabiliko dira aldagai hauek. 1oma flotante gisa
deklaratzen ditu, eta programak beharrezko prozesua emango die eragiketak egitekogaraian. 32&iteko $4 &7te% balio moduan gordetzen dira. Beraz, 95.46','58 E95,tik5.46','58 E5, arteko zenbakia behar du izan, ez handiagoa ez txikiagoa.
0"oattenp= 18.1$; tenp aldagaia %loat motakoa dela deklaratzen du
Adibidea
(. arra7
arra5ak zenbaki-zerrenda bat dira. Arra5aren barneko zenbakiak b5te, int, long
edo float motakoak izan daitezke. 0enbaki-lista bat izatean, oso garrantzitsua da bai zein balio sartu
dugun zenbaki bakoitzean, baita zenbaki horrek zerrendan duen posizioa ere.
arra5a deklaratzeko garaian, zein zenbaki motaz osatua dagoen esango dugu, eta
5'
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
40/117
4. Programazioa
zenbat zenbakiz osaturik dagoen, ondoren. 1ontuan izan / eta honek nahaste askotara bideratzen
gaitu / ) posizioa lehenengo posizioa dela. Alegia, #u;eaadieraztea.
num8=10; num arra!aren 3. posizioan 10 zenbakia sartzen du.
Honela geratuko zaigu, beraz, gure arra5a.
arra5etik balioak irakurtzeko garaian ere, indizea erabiliko dugu.
x 3 num9; ( aldagaiaren balioa " izango da orain) (=" *.
3. onstanteak
Arduino programak aurrez definituriko zenbait konstante ditu. Programak irakurterrazagoak egiteko
erabiltzen dira.
55
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
41/117
4. Programazioa
1. TRUE?@AL%E
goera logikoak adierazten dituzten konstante OOL-earrak dira. @AL%E - 6- gisadefinitzen da, eta TRUE - 1- gisa..
Adibidea
'. )IG)?LOB
1onstante hauek pinen egoera altua edo baxua adierazten digute. H!H egoera altu gisa
definitua dago, eta O$ $8% -> 5 8 arteanLOB-> O@@$6% -> 6 9 18artean1ontuan izan sarrera digital baten irakurketa egiten ari garenean arduinoak
)IG)moduan hartzen dituela 5-etik gorako tentsioak, eta LOBgisa 18-etikbeherakoak. ?artean geratzen diren tentsioak $1895% ezezagun moduan hartzenditu, eta ez ditu ulertzen balio logiko gisa. rantzuna edozein izan daiteke kasu
horietan.
Adibidea
3. I$PUT?OUTPUT
pi#Mode!funtzioak erabiltzen dituen konstanteak dira, pin digitalek #A@@@A edo!@?@A gisa lan egingo duten definitzeko.
Adibidea
4. ragiketak
Arduinoa programatzeko garaian, hurrengo eragiketa aritmetikoak erabiltzen dira.
54
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
42/117
4. Programazioa
1ontuan izan eragiketaren erantzuna oso baldintzatua dagoela eragiketan erabiltzen diren eragile
motekin.
O)ARRA: ragiketaren emaitza erabiltzen diren eragileen mota berekoa izango da. +emagun '&4eragiketa egiten dela. rantzuna 8 izango da, eragileak ' eta 4 zirelako $#A1% eta erantzuna ere #A izango
delako , $8%, eta ez float $8.86%.
ragileak zenbaki mota desberdinetakoak baldin badira, erantzuna zenbaki kota luzeenekoa izango da.
+emagun '&8.4 eragiketa dugula. rantzuna float modukoa izango da, hots, $9.6%, bietatik luzeena $4 b5te%.
Aldagai baten izatea aldatzeko, ast operazioa erabiliko dugu. Hona hemen float bat int bihurtzeko era erraz
bat.
Adibidea
1. K o#posi>io9eragi-eta-
so erabiliak dira 0or!CD lazoetan, kontrol-aldagaiaren aldaketa progresiboa egiteko.
'. Ko#para-eta9eragi-eta-
so erabiliak dira i0!CD deklarazioetan, kondizio jakin bat egiazkoa ala gezurrezkoa denjakiteko.
58
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
43/117
4. Programazioa
5. Eragi-eta "ogi-oa-
ETA 33!, EDO !eta $OT F ! eragiketa logikoak dira. 1onparaketa taldeetanerabiltzen dira gehienetan, bi kondizio batera, biak bakanean, edo bietatik bat ere betetzen ez den
ziurtatzeko.
4. Mate;ati-oa-
ragiketa matematiko ohikoenak ditugu, lehenengo.
Balio-tartea aldatzeko eragiketak, ondoren; oso erabiliak #"?#@" irakurketak
egitean.
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
44/117
4. Programazioa
ndoren, estutzea, o#strai#!ikusiko dugu, balio-tarte jakin batetik kanpora irteten direnbalioak mespretxatzeko oso erabilia.
O)ARRA: #entsore bat irakurtzen dugun unean, Arduinoak bere barnean duen konbertsore analogiko-
digitalak 16&iteko balio-tartean dagoen balio bat ematen dio, alegia, 6tik 16'5 arteko zenbaki bat. Horrek 8;-ekosentsibilitatea ematen dio irakurketari, baldin 8-eko erreferentziarekin lanean ari bagara. Hori da kasurik ohikoena.
ndoren, zenbaki hori tratatu eta irteera analogiko batera eraman nahi baldin badugu, oso presente izan behar
dugu irteera analogikoek duten balio-tartea , &itekoa dela, alegia, 6tik'88 arteko zenbakiak bakarrik onartzendituztela.
Beraz, bi balio-tarteen arteko konbertsio bat egitea ezinbestekoa da; bestela, okerreko irakurketa-idazketa bat
egiten ariko garaEE
Badira eragile batzuk konbertsio hau egiteko, eta aurrerago aztertuko ditugu; baina bada oso erabilia den
konbertsio azkar bat ere.
5*
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
45/117
4. Programazioa
Bi balio-tarteen maximoak 16'4 eta '8(direla jakinda, nahikoa da balio-tarte altuko irakurketa guztiak ?4egitea, eta listo izango dugu 16 &itean egin dugun irakurketaren , &iteko proportzionala.
!. *enbaki aleatorioak
0enbait aplikaziotan beharrezko izango ditugu zenbaki aleatorioak. +emagun loteria-makina bat
diseinatu nahi dugula, edota kolore aleatorioz piztuko den
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
46/117
4. Programazioa
Adibidea
6. +enbora'funtzioak
so erabilia, lehenengoa behintzat, bi akzioren artean denbora-tarte bat itxarotea nahi dugunean.
!kus ditzagun, bada, dela5$% eta millis$% funtzioak.
1. de"a7!
ure programa pausatuko du parametroan adierazten dizkiogun ;i"isegu#doeta#zehar.
de"a7$7)))%; && 1sgitxarongo du
'. ;i""is!
Arduinoa programa exekutatzen hasi denetik zenbat milisegundo pasatu den adieraziko
digu. 0enbaki hau gainezkatu egingo zaigu, ' bat ordu pasa ondoren.
Falue 3 ;i""is!; && #artu va"uealdagaira programa hasi denetik pasatu den denbora
,. -luu'kontrola
1. i0 &a"di#t>a! H .... e"se H
i0sententziak pasa zaion baldintza egiazkoa den begiratzen du, eta, hala bada, giltza arteandauden aginduak betetzen ditu. Bestela, e"se-n kakotxen artean dagoena egiten du.
e"se gabeko sententzia bada eta i0-en baldintza ez baldin badu betetzen, ezer egin gabeprograman aurrera egingo du hurrengo pausura arte.
e"sesententzia guztiz hautazkoa da, beraz. i0 edo e"sebaten barruan beste nahi adina i0 ..e"sesententzia jar genitzake.
5/
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
47/117
4. Programazioa
Adibidea
'. 0or a"dagaia 2asierat>ea &a"di#t>a a"dagaiare# a"da-eta ! H
0or sententzia giltzen artean Hgorderiko agindu talde bat zenbaitetan errepikatzekoerabiltzen da. Bira bakoitzean aldatuko den a"dagaibat erabiltzen da gehienetan, harik eta&a"di#t>abete eta lazoa geratzen duen arte.
Aldagai lokal baten edo gehiketa kontatzaile baten hasieratzea egiten da, lehenbizi, etabehin bakarrik, gainera. Aginduak betetzen ditu, eta lazoa amaitzen duen bakoitzean, baldintza
betetzen ote den begiratzen du. Baldintza TRUEden bitartean, aginduak egiten ditu behin etaberriz, eta kontrol-aldagaia aldatzen du. Baldintza @AL%Eden kasuan, lazoa amaitu egingo da, etasententziatik atera.
Hurrengo adibideak plakan integraturiko "ed-a '6a"di>piztu-itzaltzea ekarriko du. 1asuegin nola hasieranikontrol aldagaia 6gisa hasieratu etai#tegergisa deklaratzen duen. ndoren,'6baino txikiagoa den artean jarrai dezala esaten dio, eta buelta bakoitzean $ iJJ !i-ren balioari batgehitu diezaiola. ndorioz, giltzen artean duen guztia '6aldiz errepikatuko du, eta, kasu honetan,79. pina piztu eta itzali.
46
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
48/117
4. Programazioa
Adibidea
5. 2i"e &a"di#t>a ! H
2i"e lazoa etengabe errepikatuko da, parentesi artean duen baldintza @AL%Ebihurtzenden arte. 0erbaitek lazo barruan kontrol-aldagaia aldatu beharra dauka; bestela, 2i"elazoa ez dainoiz amaituko, eta programa blokeatuta geratuko da. Aldaketa hori kodean egin daiteke, hile
bukaeran aldagaiari balioa igoz, adibidez, edota kanpoko egoera bati baldintzatua izan daiteke,
sentsore baten irakurketa, esaterako.
Hurrengo adibidean, '66aldiz idatziko du gauza bera serie-monitorean.
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
49/117
4. Programazioa
Adibidea
. %/ digitalak
!rteera-sarrera digitalen berezitasuna bi eratara lan egin ahal izatea da. Hori dela medio, lehengo zein
lan egingo duten deklaratzea tokatuko zaigu. ndoren, zerrendatuak daude sarrera-irteera digitalak
kudeatzeko erabilienak diren funtzioak
1. pi#Modepi#Modua!
void setup !funtzioan deklaratzen dira sarrera-irteera moduan. Hor esango zaio pin berezibati ea I$PUT $sarrera% edo OUTPUT$irteera% gisa lan egingo duen.
Adibidea
O)ARRA:Arduinoaren pin digitalek !"PG? gisa lan egiten dute, deklaratzen ez baldin badira. Pull Gp
erresistentziak ere badituzte integraturik, baina deskonektatuta daude, berez.
Bada Pull Gp erresistentziak softarez konektatzeko modu bat ere. "ormalki, fisikoki konektatu ohi dira,
kanpo-kableatu gisa /aurrerago ikusiko dugun bezala/ baina erresistentzia faltan baldin bazaudete, trikimailu hau
ongi etorriko zaizue, Arduinoaren sarrera erre ez dezazuen.
Adibidea )Pull +p erresistentziak so%tarez aktibatu*
'. digita"Readpi#!
Pi#bateko balioa irakurtzen du, )IG)edoLOBmoduan. ehienetan, aldagai batenbarnean sartu ohi da irakurketa. 0ein pinetako balioa irakurri nahi dugun esan behar diogu funtzioari,
eta hori zenbaki bitartez edo aldagai bitartez esan diezaiokegu.
4'
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
50/117
4. Programazioa
Adibidea
3. digita"Britepi#!
Pi#jakin bati )IG)edo LOBbalioa ematen dio. )IG)balioa emanez gero,pin horrek 8izango ditu; LOBbalioa emanez gero, berriz, 6.
Adibidea
9. %/ analogikoak
#arrera-irteera analogikoek, digitalek ez bezala, ez dute programaren hasieran zein egoeratan lan
egingo duten deklaratu beharrik. #arrera eta irteera analogikoak fisikoki pin desberdinak dira.
1. a#a"ogReadpi#!
Pin analogiko bateko balioa irakurtzen du, eta 16 &iteko konbertsore analogiko-digital
baten bitartez 6916'5arteko balio bat ematen dio irakurketari.
"ormalki, irakurketa aldagai batean gorde ohi da.
Adibidea
'. a#a"ogBritepi#va"ue!
Balio seudo-analogiko bat idazten du esango diogun pinean. Balio horiPBMmodulazioan oinarrituta idatziko du. 1ontuan izan balioa , &itean emango diogula. Alegia,irakurketa analogiko baten balioa $16 &it% zuzenean irteera analogiko batean idatzi nahi dugunkasuetan, balio-tarte konbertsio bat egin beharko dugu.
PBM irteera analogikoa onartzen duten irteerak hurrengoak dira Ardui#oU#o-an; 5, 8,(, /, 16eta 11.
Adibide honetan, 8. irteera analogikoan, ,&iteko balio-tartetik $6 9 16'5arteko zenbakiak%erdikoa pasa diogu, alegia, 1'*. PBMpultsu-modulazioa erabiliz 8. irteeran 8balio
maximoaren erdia jarriko digu, '8 alegia.
45
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
51/117
4. Programazioa
Adibidea
10. erie'funtzioak
Arduinoak ordenagailura datuak bidal ditzan erabiliko ditugu hurrengo funtzioak. so erabiliak, edo,
beti erabiliak direla esango nuke. z dago lehenengoan ondo ateratzen den muntaiarik, eta ondo dator
Arduinoaren eta ordenagailuaren arteko komunikazioa begiratzeko, datuak ongi irakurtzen ari garen jakiteko
ala akatsa kableatuan dugun konturatzeko.
Arduino softareak serie-komunikazio monitore bat du; bertan azalduko dira idatzita serie-
konexioz bidaliko ditugun datuak.
1. %eria".&egi#rate!+
#erie-portua ireki, eta datu-transmisioaren abiadura deklaratzen du. Abiadura tipikoa '())
baudio&s izan ohi da. void "oop$%-ean egiten zaio funtzio horri deia.
1ontuan izan serie-komunikazioa erabiltzen dugun bakoitzean6$@% eta 1$?% pinakezin direla erabili.
'. %eria".pri#t! eta %eria".pri#t"#!
*untzio honek datuak inprimatzen ditu serie-portuan. #erial.println$%-ak agintzen dioguna
inprimatu ondoren, hurrengo lerrora bidaliko du kurtsorea, hurrengo inprimatzea hurrengo lerroan
izan dadin.
*untzio hauei idatzi nahi dugun aldagaia bidaliko diegu, edota, kakotxen artean idazten
badugu, baita zuzenean idatzi nahi duguna ere.
Hurrengo adibideak bi zenbaki aleatorio idazten ditu serie-monitorean. 1odea lasai irakurri,
eta ondoan duzue serie-monitorean idatzirik agertzen denaren argazki bat. 1ontuan izan hemen
garrantzitsuena inprimatzeko funtzioari sartzen dizkiogun aldagaiak direla.
44
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
52/117
4. Programazioa
Adibidea
48
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
53/117
5. Arduinoa konektatu
5. KAPITULUA: ARDUINOA KONEKTATU
Hau irakurtzen hasi zaretenerako, bi dira kasu posibleak: honezkero kokoteraino zaudete kodigoa irakurtzeaz,
edo irakurri ere ez duzue egin nola programatzen den. Edonola dela ere, bada garaia praktikara pasatzeko, eta
kableekin jolastu behar dugu oraingoan.. Beraz, pazientzia pixka bat gorde oraindik, eta ikus dezagun Arduinoarensarrera-irteerak zein modutan konektatzen diren.
1. Sarrera digitalak (Pultsagailuak...)
E. Sarrera digitalak konektatzeko, bi konekzio mota aurkituko ditugu, eta ondoen etortzen zaiguna
erabiliko dugu, kasuaren arabera, Pull p konexioa ala Pull !o"n konexioa. Sarrera digitalak #$-#%% balioak
baizik hartzen ez dituzten elementuak dira, hala nola pultsagailuak, etengailuak, inklinazio-sentsoreak, presentzia-
detektoreak, etab.
$orbaitek pentsa lezake sarrera digital batera zuzenean konekta daitekeela &'-eko elikadura (kasu honetanpultsagailu bidez ( eta )untzionatzen duela. Baina ez da inoiz egiten, eta ez da egin behar ere, eta hara zergatia.
Sarrera digitala konektatu gabe dagoenean, airean geratzen da, eta zarata elektrikoa sartzen zaio, eta
ez du * balio logikoa.
Eroalea luzea den kasuan eta pantailarik gabe, tentsio-erortzeak handiagoak dira, eta, konektatua
egotean ere, zarata elektrikoa suerta daiteke.
!"
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
54/117
5. Arduinoa konektatu
#AI.Hori guztia dela eta, ondorengo konexioak erabiliko ditugu beti, detektore digitalak konektatzeko
garaian.
Adibideetan, pultsagailuak erabili ditut, oso ohiko elementuak direlako.
1. Pull Up konexioa
+onexio mota honetan, pultsagailua masaren eta sarreraren artean konektatzen da, eta Pull p
erresistentzia sarreraren eta tentsio-iturriaren artean &'. Pultsagailua sakatzen den unean, sarrera masara
eramango du alegia, sarreran *' balioa irakurriko dugu. Pultsagailua sakatu gabe dagoenean, aldiz, sarreran
&' balio logikoa izango dugu. Ez da &'-eraino iritsiko, tentsio-erortze txiki bat izango dugulako
baina, sarrerako inpedantzia oso handia denez, Pull p erresistentzian dugun tentsio-erortzea guztiz
mespretxagarria da.
+ontuan izan konexio hau egitean logika negatiboko pultsagailu bat lortuko dugula alegia,
pultsagailua sakatu gabe, sarreran &' izango ditugu, eta pultsagailua sakatutakoan, ordea, *'.
2. Pull Down konexioa
+onexio mota honetan, Pull !o"n erresistentzia masaren eta sarreraren artean konektatzen da, eta
pultsagailua, berriz, sarreraren eta tentsio-iturriaren artean &'. Pultsagailua sakatzen den unean, sarrera &'-
era eramango du. Pultsagailua sakatu gabe dagoenean, aldiz, sarreran *' balioa izango dugu.
+ontuan izan konexio hau egitean logika positiboko pultsagailu bat lortuko dugula alegia,
pultsagailua sakatu gabe, sarreran *' izango ditugu, eta pultsagailua sakatutakoan, ordea, &'.
Pull Up Pull Down
!$
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
55/117
5. Arduinoa konektatu
%. Sarrera a&al'gik'ak (Se&ts'reak...)
Sarrera analogikoak konektatzean, asko aldatuko da konexioa, hiru hariko detektorea ala bi harikoa dugun.
1. Hiru hariko sentsore edo eragingailuak
Sail honetakoak ditugu potentziometroak, hurbiltasun-sentsoreak, zenbait tenperatura-detektore,
argi-detektoreak, eta abar. +ontuan izan hiru hariko detektoreak bi hari erabiltzen dituztela elikatzeko, eta
hirugarrena, erdikoa gehienetan, detekzio-seinalea emateko.
Arduinoaren sarrerara konektatzeko garaian, seinalea ematen digun eroalea konektatuko
dugu sarrera analogikora.
2. Bi hariko sentsore edo eragingailuak
Sail honetan aurkituko ditugu erresistiboak diren sentsore gehienak NT, PT eta LDRak,
ezagunenak.
Bi hariko sentsoreak tentsio-zatitzaile bitartez konektatuko ditugu ondoren, detekzioaren
doikuntza egingo dugu, konektatu dugun erresistentziaren arabera.
!
Elikadura
Elikadura -
Seinalea
01P 23 04
Arduinoaren
sarrerara
5!6 argi
sentsorea
%S6 presio
sentsorea
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
56/117
5. Arduinoa konektatu
*. Irteera digitalak (Led+ak...)
7rteera digitalek gehienez 8*mA-ko korrontea ematen digute. Hori oso kontuan izan behar dugu, 5ed-ak eta
antzeko kontsumoa duten elementuak konektatzean.
5ed batean, korronte onargarria &mA-tik 2*mA-ra doa beraz, irteera digitalak emango digun tentsioa &'
dela jakinik, erraz kalkula dezakegu 5ed-arekin seriean ipini beharko dugun erresistentziaren balioa.
+ontsumo baxuko elementuren batera bideratu behar dugun edozein irteera digital zuzenean konekta
dezakegu, betiere kontsumoa 8*mA baino txikiagoa den heinean. Bestela, transistoreak erabili beharko ditugu
irteeraren eta kargaren artean.
!,
Led-aren konexioa: Kontsumoa !" m#
$rrelearen konexioa: Kontsumoa % !"m#
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
57/117
5. Arduinoa konektatu
!. Irteera a&al'gik'ak (Led+ak- ser'ak- /'t'r t0ikiak ...)
1. Kontsumo txikiko irteerak &$rreleak' motorrak' karga erresisti(oak...)
7rteera analogikoek P2bitartez modulaturiko &'-eko seinale bat ematen digute. Hemen erekontsumo maximoa 8*mA-koa izango da, eta karga txikiak baino ezingo dira konektatu. +argarekin seriean
99* #hm-eko erresistentzia bat konektatzea gomendatzen da, baina zuzenean ere konekta daitezke.
2. Kontsumo handiko irteerak &$rreleak' motorrak' karga erresisti(oak...)
+ontsumo handiko irteerak konektatzeko, potentziako etapa bat konektatu beharko dugu
Arduinoaren irteeretan. $ahiz irteera digitala edo analogikoa izan, transistoreak dira erabilienak irteerako
seinalea anpli)ikatzeko garaian.
0ransistore bipolarren kasuan, basean k#hm eta &k#hm arteko erresistentzia jarri ohi da, eta kalkulua erraz
egin daiteke, basetik sartzen den korrontea &mA ingurukoa izan dadin.
53
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
58/117
5. Arduinoa konektatu
R4 (5+3-$) 5/A 4 1kO6/
1os)et transistoreen kasuan, ez da atean inongo erresistentziarik jartzen, inpedantzia handia medio.
5. K'&tr'lagailuak (Ste7+ste7 /'t'rrak- /'t'rrak- Led+/atri8eak....)
1erkatuan, ehunka aplikaziotarako kontrolagailuak aurki ditzakegu. Horiek, Arduinoaren irteeretara
konektaturik, gailu multzo handia erraz gobernatzeko aukera ematen digute. Hemen ezagunenak bakarrik jarriko
ditut.
51
UL*2""+ urratse, urratseko motor-kontrolagailua &1!. praktika)
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
59/117
5. Arduinoa konektatu
5%
2erkatuk' k'&tr'lagailu ed' S6ield 8e&ait:
otor shield LD shield /P0 shield idi shield osti3 shield
Power shield #45 shield$thernet shield 6(ee
7ireless
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
60/117
6. Praktikak Arduinoarekin
6. KAPITULUA: PRAKTIKAK ARDUINOAREKIN
Liburu hau praktika hauek osatu ahal izateko idatzita dago. Hona iritsi artean zegoen guztia irakurri duzuenoi
bejondeizuela; ez daukazue meritu makala. Besteok hemendik has zaitezkete. Lortu zuen Arduinoa eta beharrezko
elementuak, eta praktikatu, harik eta soluzioa lortzen duzuen arte.
Praktika guztiekin, sketch-a luzatzen dizuet. Tentuz irakurri, eta kontu izan, eskema isikoki osatzerakoan,
sarrera-irteera berdinak erabiltzen ari zaretela eta konigurazio orokorra berdina dela. Tartean dudaren bat baduzue,
joan liburuan gaiari dagokion atalera, eta bazterrak pi!ka bat nahastu, inori galdetzen hasi aurretik. Baina, batez ere,
zentzu pi!ka batez ibili, minimoa bada ere, eta ilusioz. "ta ez izan beldurrik, ezerk ez du hemen koska egiten eta.
53
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
61/117
6. Praktikak Arduinoarekin
1. Blink
Arduinoaren oinarrizko praktika deiturikoa da# ezertan hasi aurretik beti probatzen dena; programa arduinora
bidaltzen eta ta!uz iritsi den jakiten lagunduko diguna.
Arduinoaren $%. pinean konektaturiko Led batek dir-dir &piztu-itzali' egingo du praktika honetan. "z dago
Led-a zertan pinari konektatu, bai baitu Arduinoak berak t!artelean integraturik eta $%. pinari loturik dagoen Led bat.
Beharrezko materiala
Arduino (no-a
Led-a
))* +hm-eko erresistentzia
(B kablea, konektoreak eta Board plaka &Azken hauek beti beharko ditugu; beraz, ez naiz beti
listatzen arituko'
Konexioak (Hardwarea)
Led bat pizteko kontuan izan behar dugun gauza bakarra da mA eta %* mA arteko korronteaksoilik onartzen dituela. Hortik gora erre egingo zaigu, eta hortik behera ez du argirik egingo. Beste alde
batetik, Led-ak jasaten duen tentsio-erortzea )-ekoa izango da.
Arduinoaren irteerek /* mA-ko korrontea ematen digute, gehienez. Led-a seriean erresistentziarik
gabe konektatzen badugu, bi gauza lortuko ditugu# Led-a erretzea edo Arduinoaren irteera erretzea. "ta ez, ez
zaigu segituan erreko; bere denbora hartuko du, baina, azkenean, bietatik bat erre egingo zaigu. Argi geratu
da, beraz, Led-ari seriean bere erresistentzia konektatuko diogula.
0one!ioa egiteko garaian, ))* +hm-eko erresistentzia aukeratu dut, nahiz abrikatzaileek )*mA-ko
korrontea gomendatzen duten eta ))* +hm-ekoarekin $%mA-ko korrontea ezartzen dugun. "skola argitzeko
ez dugu 1ukushima-ko zentralaren beharrik, eta , agian, gainera, urte bukaeran Papua-ra bidaia bat egiteko
lain aurreztuko dugu.
54
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
62/117
6. Praktikak Arduinoarekin
Ohiko akatsak
0omunikazioa. Portu egokia ez aukeratzea, programa egoki ez konpilatzea eta plaka egokia ez
aukeratzea dira ohiko akatsak.. 2oski, hiru pauso horiek ezinbestekoak dira programa ongi bidali eta
untzionamenduan jartzeko.
3iurtatu Led-a egoki polarizatu duzuela. Hanka mot!ak lurrera &4nd' konektatuta behar du egon.
Blink
55
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
63/117
6. Praktikak Arduinoarekin
Garatuz (Hurrengo praktikek gaiari buruzko jakintza areagotzen lagunduko digute)
Aldatu Led-aren keinukatze-maiztasuna, dela5&' untzioaren konstantea aldatuz.
0onektatu hiru Led irteera berdinera, eta handitu argi-kantitatea.
0onektatu hiru Led irteera desberdinetan, eta programatu maiztasun desberdinetan keinu egin
dezaten.
56
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
64/117
6. Praktikak Arduinoarekin
2. Alarma bisala
Pultsagailu bat sakatzean, alarma bisual bat aktibatuko da, non Led bat dirdirka jarriko zaigun. "z da
geratuko, harik eta plakan dugun 6eset botoia sakatzen dugun arte.
Beharrezko materiala
Arduino (no-a
Led-a
))* +hm-eko erresistentzia
/7* +hm-eko erresistentzia
Pultsagailua
Konexioak (Hardwarea)
Pultsagailua Pull 8o9n erresistentzia bitartez konektatu behar da. "z naiz hemen gaia errepikatzen
hasiko; aurkituko duzue, atzera begiratuz gero.
. Pull 8o9n erresistentziarik konektatu ezean, pultsagailua sakatua dagoen ala ez dagoen adierazteko
irakurketak oso nahasiak izango dira.
Zailtasunak
4ainontzean, eta aurreko praktikan ez bezala, praktika honetan Led-ak piztuta jarraitu behar du, guk
pultsagailua askatuta ere. Beraz, programaz memoria bat inplementatu beharko dugu, behin pultsagailua
sakatu eta alarma mart!an jartzean alarmak mart!an jarrai dezan, nahiz pultsagailua askatu.
Horretarako, lehenengo, pultsagailua konektaturik daukagun sarrera digitala irakurri beharko dugu,
eta aldagai batean gorde &b!!"n#!a!$'. 0asu honetan, gogoratu pultsagailua ). sarreran konektatzea.
5%
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
65/117
6. Praktikak Arduinoarekin
Pultsagailua sakatu izanaren memoria inplementatzeko, lehenengo, pultsagailuaren balioa aldagai
batean gordeko dugu &b!!"n#!a!$', eta, ondoren, pultsagailuaren balioa altua denean beste aldagai bat altu
bihur dezala esango diogu &b!!"nPs&$''. Horrek pultsagailua sakatutakoan, eta nahiz eta gero askatu,
memoria-aldagai bat sortuko digu.
Ohiko akatsak
Pultsagailua aurrez sakatu izanaren memoria programatzeko garaian akatsak. Bi aldagaiak ez dira
askotan ongi kudeatzen. "rabili serie-portua aldagaien balioak ziurtatzeko, eta argi izan bietatik zein den
pultsagailuarekin batera aldatuko dena eta zein pultsagailua sakatu izanaren memoria mantenduko duena.
Alarma
5(
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
66/117
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
67/117
6. Praktikak Arduinoarekin
3. Inklina*i"+'$!$k!"r$a
Arduinoak inklinazioa kontrolatuko du, inklinazio-detektore baten bitartez. nklinazio jakin batetik aurrera,
alarma bisual bat aktibatuko da, eta Led bat dirdiraka jarriko da, harik eta berriz ere detektorea horizontalera
bueltatzen dugun arte.
Beharrezko materiala
Arduino (no-a
Led-a
$* k+hm-eko erresistentzia
nklinazio-detektorea &
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
68/117
6. Praktikak Arduinoarekin
Bai, horrek logika negatiboa dela adierazten digu, berriz ere.
Hala, aprobet!atu egingo dugu inklinazio-detektoreak logika negatiboa duela eta Pull (p kone!ioak
logika negatiboko irakurketa emango digula, eta biak erabiliko ditugu.
oila?? +rain, horizontalean dagoenean, $ logiko bat jasoko dugu Arduinoan, eta inklinaturik
dagoenean, berriz, * logiko bat.
Horrek programazioa asko erraztuko digu.
Ohiko akatsak
"rraza ematen duen praktika bat ezin mart!an jarri izateagatik pazientzia galtzea. Horrek soluziorik
ez dauka. 0omunera joan, bueltatu, eseri, begiak it!i, eskuak ondo zabaldu, egurra ukitu eta pentsatu#
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
69/117
6. Praktikak Arduinoarekin
Garatuz (Hurrengo praktikek gaiari buruzko jakintza areagotzen lagunduko digute)
aiatu etengailu bat konektatzen inklinazio-detektorearen tokian.
3ein beste detektore konekta zeniezaiokeen pentsatu, edo konektatu &karrera-amaierak, pieza
detektoreak..'
0onektatu detektorea Pull 8o9n eran, eta programan egin logika-aldaketa.
62
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
70/117
6. Praktikak Arduinoarekin
4. D-Ak" anblan!*ia
Hurrenez hurren konektaturik dauden Led erabiliz, 8Ako anbulantziaren argiak simulatu nahi dira.
Horretarako, bat piztu eta hurrengoa piztean aurrekoa itzali beharko dugu. Horrek, alde batera eta bestera egitean, argi-
joko bat osatuko digu.
Argi-jokoa pultsagailu baten bitartez jarriko dugu mart!an.
Beharrezko materiala
Arduino (no-a
! Led
!))* +hm-eko erresistentzia
/7* +hm-eko erresistentzia
Pultsagailua
Konexioa (hardwarea)
"z dago ezer berririk. Led-ak serie-erresistentzia bitartez, eta pultsagailua Pull 8o9n erresistentzia
erabiliz.
Zailtasunak
Praktika honetan arra5-en erabilera da zailtasuna duen gauza bakarra. Led-en kontrola banan-banan
egin beharrean, arra5 &lista' batean gordeko ditugu Led guztiak.
+ndoren,"ragindua erabiliz, lista horretako elementu bakoitzari egingo diogu dei, bai
deklaratzeko garaian, baita Led-ak piztu edo itzaltzeko garaian.
/edo Pas0al lengoaiak ikasi dituzuenontzat errazago suerta liteke; besteok kodea bistan duzue, eta
sarean milaka tutorial gaian sakontzeko.
Ohiko akatsak
0one!io asko egin behar dira
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
71/117
6. Praktikak Arduinoarekin
#$A
64
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
72/117
6. Praktikak Arduinoarekin
Garatuz (Hurrengo praktikek gaiari buruzko jakintza areagotzen lagunduko digute)
0oloretako Led-ak jarriz, argi-jokoa hobetu dezakezue.
Led bikoitiak edo ez bikoitiak desberdinduz, egin argi-joko bera.
65
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
73/117
6. Praktikak Arduinoarekin
5. Kan'$la
Praktika honen bidez, kandela bat simulatuko dugu, Led bat erabiliz. rteera analogikoaren potentziala
erabiliz, Led-a argi kantitate aleatorioz eta dirdira-maiztasun aleatorioz piztuko dugu. Horrek kandela baten
iluminazioa simulatuko digu.
4iro berezi bat sortzen du. Beno, berezi berezia, agian, ez. "gun euritsu baterako modukoa, baina ez du
askorik balio, ez tartaren gainean jartzeko, ez eta amonari azterketa garaian emateko ere.
Beharrezko materiala
Arduino (no-a
Led-a
))* +hm-eko erresistentzia
/7* +hm-eko erresistentzia
Pultsagailua
Konexioa (hardwarea)
"z da ez zaidalako lan egitea gustatzen. "z zait gustatzen. Baina ez dago kone!io mota berririk. Led-ak serie-erresistentzia bitartez eta pultsagailua Pull 8o9n erresistentzia erabiliz konektatu. "z dut berriz
jarriko hurrengoan.
8udarik izanez gero, erreparatu kone!ioen sailari.
Zailtasunak
3enbaki aleatorioen erabilera nola egina dagoen antzemateak ez dut uste beste munduko zailtasunik
duenik orain arteko praktikak egin dituenarentzat.
8ela5&' eta, batez ere, analogDrite&' untzioen balioarekin jokatu, kandela ahal den hobekiensimulatzea lortzen duzuen arte.
kusi lehen aldia dela irteera analogiko bat eta PDC pultsu-modulazioa erabiltzen duzuena. Led-ak
intentsitate desberdinak hartuko ditu, pasatzen diogun balioaren arabera, eta kontzeptu hau barneratzea
izugarri ondo etorriko zaigu aurreragoko praktiketarako.
"rrepasatu irteera analogikoaren saila, eta ulertu zer egiten ari zareten; ondoren, saiatu ahalik eta
kandelaren it!ura handiena ematen. Baina, batez ere, zer egiten duzuen jakin.
Ohiko akatsak
Praktika ondo egin eta arrastorik ez izatea irteera analogiko batek zelan jarduten duen.
66
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
74/117
6. Praktikak Arduinoarekin
Kandela
Garatuz (Hurrengo praktikek gaiari buruzko jakintza areagotzen lagunduko digute)
aiatu kandela indar desberdinez pizten, baina Hz-ko maiztasunarekin.
6%
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
75/117
6. Praktikak Arduinoarekin
6. P"!$n!*i"m$!r" ba!$n irakrk$!a
Potentziometro baten erresistentzia irakurriko duen programa egingo dugu. +ndoren, irakurritakoa +hm-
etara pasa, eta balioa ordenagailura bidaliko du serie-portutik, pantailan bistaratzeko.
Beharrezko materiala
Arduino (no-a
Potentziometroa $*0
Konexioa (hardwarea)
Potentziometroa eta, bide batez, hiru hariko sentsore analogiko gehienak era honetan konektatuko
ditugu sarrera analogikora.
Alboetako bi pinak sentsorea elikatzeko erabiliko ditugu & eta 4nd', eta erdiko pina, seinalea
emango diguna, sarrera analogikora konektatuko dugu.
4ure kasuan, A* sarrera izango da, baina alerrik idatziko dut, ondoren marrazkiari begiratu eta A$-
ean konektatuko baitute askok. Hori!e izango da ondoren datorren akatsik ohikoenetako bat.
Zailtasunak
erie-komunikazioz bidali beharra daukagu potentziometroaren irakurketa ordenagailuko
pantailara, eta, han, potentziometroak zenbat +hm dituen masarekiko azaldu behar dugu. Beraz, bi urrats
horiek ongi eta argi egin behar ditugu#
erie-komunikazioa ongi abiatu; serie-komunikazio aginduak ongi eman direla ziurtatu.
rakurri dugun balioa &*-$*)%' bitarteko zenbaki bat da, eta +hm-etara bihurtu behar dugu.
Horretarako, sentsorea doitu behar dugu, eta irakurtzen dugun balioak neurtu nahi dugunarekin duen erlazio
matematikoa behar dugu. uerteko bagara, eta irakurri nahi dugunaren balio ma!imo eta minimoak baldin
badakizkigu, eta erlazioa progresiboa bada, mauntzioa erabil dezakegu. 4ure kasuan, jakinda
potentziometroa &*-$*0' koa dela eta sarrerak &*-$*)%' bitarteko balioa emango digula,
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
76/117
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
77/117
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
78/117
6. Praktikak Arduinoarekin
%. K"n!a!*ail$a
Programa honek pultsagailu batean emandako kolpeak kontatu, haien maiztasuna neurtu, eta, ondoren,
bozgorailu batetik erreproduzituko ditu.
Beharrezko materiala
Arduino (no-a
$** +hm-eko erresistentzia
$* k+hm-eko erresistentzia
Pultsagailua
Bozgorailua &buzzer'
Konexioa (hardwarea)
Bozgorailua konektatzean, ongi begiratu positiboa eta negatiboa non dituen,
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
79/117
6. Praktikak Arduinoarekin
0antatzea. Pultsagailua sakatu adina aldiz bozgorailua aktibatzeko, berriz, "ragindua erabiliko
dugu.
Berezitasun bat soilik. Tone&' untzioa berria da guretzat, eta nahiko erabilia Arduinoaren
programetan. Hiru aldagai sartuko dizkiogu elkarren jarraian# bozgorailua konektaturik dugun pina
&s$ak$r', erreproduzitu nahi dugun soinuaren maiztasuna &r$0$n0' eta, azkenik, zer luzeratako tonua
nahi dugun &'ra!i"n'.
Ohiko akatsak
0ontatzaileak gaizki kontatzea edo programa mart!an ondo ez jartzea oso gauza normala da
praktika honetan. Lehenengoan gauzak ongi egiten dituenik ez dago, eta honekin gut!iago.
Akatsak aurkitzen jakitea da, ordea, trebatu behar duguna. Horretarako, kodea ongi irakurri, eta
kodearen barruan Fadibide honetan t!ertatuta dituzue F aldagaien balioak serie-monitorera bidaliko dituen
aginduak jar genitzake.
Cetodo honekin kodea nola e!ekutatzen den ulertuko duzue, eta akatsa aurkitzeko pista bat baino
gehiago lortuko duzue. normazio hori gabe, programa zertan dabilen jakiten saiatzea itsu bati erdiko
hatza erakustea bezalakoa da, alerrikakoa.
%2
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
80/117
6. Praktikak Arduinoarekin
Kontatzailea
%3
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
81/117
6. Praktikak Arduinoarekin
Garatuz (Hurrengo praktikek gaiari buruzko jakintza areagotzen lagunduko digute)
"rreproduzitu soinu-eskalako tonuak buzzerrean, horretarako tonoaren maiztasuna aldatuz..
.
%4
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
82/117
6. Praktikak Arduinoarekin
(. #"l$" '$ "r$"
erie-monitoretik bidalitako nota musikalak kantatzeko gai izango da muntaia hau. Horretarako,0&8o' , '
&6e', $&Ci', &1a', &ol', a &La',b&i' eta /&8o' hizkiak bidaliko dizkiogu Arduinoari, eta honek dagokion
tonua erreproduzituko du bozgorailutik.
Beharrezko materiala
Arduino (no-a
$** +hm-eko erresistentzia
Bozgorailua &buzzer'
PEa
Konexioa (hardwarea)
Berezitasunik ez, aurrekoekin alderatuta. 0ontuan izan $%. irteeran programatu dugun Led-a
Arduinoan integraturik dugula. Han begiratu, beraz.
Zailtasunak
Praktika honetan zailtasun nagusia musika bera da. 8akizuenok erraz ulertuko duzue tonuak,
maiztasunak, periodoak eta luzapenak musikan eragiten duten aldaketa, eta elkarren artean duten erlazioa.Besteontzat hemen duzue nolabaiteko laburpena.
Tonu bat bera sortzen duen pultsuaren maiztasunak deinitzen du. Periodoa tonuaren alderantzizkoa
da, eta pultsuaren luzera emango digu milisegundotan.
Azkenik Feta hau da
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
83/117
6. Praktikak Arduinoarekin
Behin oinarri horiek hartuta, zailena da teklatutik datorren inormazioa irakurri eta zein tekla zapaldu
den jakitea, ondoren tonu egokia erreproduzitzeko.
0onparazio horiek egiteko kodea hurrengoa da. "ra sinplean, banan-banan konparatzen ditu
tonuen izenen arra5-a eta teklatutik datorrenvalbalioa. +ndoren, zenbatgarrena den esango diguncountaldagaia erabiliz, tonu hori erreproduzituko du.
.
Ohiko akatsak
+hiko akatsa izaten da konparaketa egoki egiteko kodea sortu ezin izatea. Horretarako duzue
hemen praktika, eta kodea dagoen bezala kopiatzeak asko lagunduko dizue.
&ol'eo de or'eo
%6
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
84/117
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
85/117
6. Praktikak Arduinoarekin
). L$'+a "r'$naail!ik ain'
erie-monitoretik agintzen diogun hainbat alditan piztuko du Led-a Arduinoak.
Beharrezko materiala
Arduino (no-a
PEa
Konexioa (hardwarea)
Arduinoaz eta ordenagailuaz bakarrik egin daitekeen praktika izaki, ez du kone!io berezirik behar.
Zailtasunak
"zin esango dut zailtasunik ez duenik, baina ez, behintzat, bereziki nabarmendu beharrekorik. +rain
arte serie-komunikazioa landu duzuenok erraz lortu beharko zenukete zuen helburua.
Ohiko akatsak
erie-komunikaziorako kodea ez ulertzeak zera ekar diezaguke# idaztean zer egin ez jakitea eta,
ondorioz, konpilatu daitekeen baina okerreko sekuentzia osatuko duen kodea idaztea. 4ainontzean, akats gut!i.
ed"a ordenagailutik agindu
%(
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
86/117
6. Praktikak Arduinoarekin
1,. Err$l$a.
Arduinoa eta errele bat erabiliz, )%*-eko karga baten piztea eta itzaltzea kontrolatuko dugu. 0anpoko
etengailu baten bitartez, )%*-eko karga
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
87/117
6. Praktikak Arduinoarekin
Zailtasunak
Praktika honen zailtasuna transistorearen beharraz ohartzean dago. "lektronikaren garrantzia
izugarria da gaur egungo gailu guztietan, eta Arduinoaren praktiketan asko landu beharko ditugu kontzeptu
horiek.
Programazioari dagokionez, sistema biegonkor egiteko bi aldagai lotu ditugu bi pultsagailuen
egoeretara. Alarmaren praktikan erabili genuen kontzeptu bera erabili dugu, pultsagailua sakatu izanaren
memoria gordetzeko.
Ohiko akatsak
Transistorearen eta diodoaren
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
88/117
6. Praktikak Arduinoarekin
Garatuz
Lanpara baten kontrola egin beharrean, et!ean duzuen edozein gailuren kontrola egin. Amaren gauzakbakean utzi, eta zuen zerbait hartu.
(1
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
89/117
6. Praktikak Arduinoarekin
11. "!"rrar$n k"n!r"l 'ii!ala
Cotor bat mart!an jarriko dugu, ordenagailuko teklatu bitartez.
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
90/117
6. Praktikak Arduinoarekin
Garatuz
0onektatu motorra transistore baten bitartez. "z ahaztu diodo bolantea
(3
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
91/117
6. Praktikak Arduinoarekin
12. "!"rrar$n k"n!r"l anal"ik"a
Potentziometro bat erabiliz, motor baten abiadura kontrolatuko dugu. Potentziometroa sarrera analogiko
batean irakurriko dugu, eta beraren balio proportzionala bidaliko diogu motorrari, PDC irteera baten bitartez.
Beharrezko materiala
Arduino (no-a
8E motorra &0ontsumo t!ikia J /*mA'
/k7 +hm-eko erresistentzia
2P2 transistorea &TIP12,'
8iodoa &1N4,,4'
Potentziometroa $*0
Konexioa (hardwarea)
Cotorra transistore bitartez elikatuko dugu. Horrela, Arduinoaren irteerak ez du gehiegizko
kontsumorik surituko. Halere, ez dugu kanpoko elikatze-iturririk erabiliko, eta motorra mart!an jartzeko
beharrezko tentsioa Arduinoaren %,%-eko elikatze-iturritik hartuko dugu.
%-eko motor t!ikietan ez da arazorik izaten. $) edo )/-era elikatu behar izanez gero, kanpoko
elikatze-iturri bat beharko genuke.
(4
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
92/117
6. Praktikak Arduinoarekin
Zailtasunak
Cotorraren kone!ioa egoki egiten izango ditugu arazo nagusiak.
"lektronika-jakintza zenbait izan behar dira transistorea muntatzeko garaian, batez ere basekoerresistentzia egokia aukeratu eta diodo bolantea egoki konektatzeko.
4ogoratu baseko korrontea kolektorekoa baino $** aldiz t!ikiagoa izango dela. +ndoren, kontuan
izanda 8E motor ohikoenek )**mA inguru kontsumitzen dituztela eta Arduinoaren %,%-eko elikatze-
iturriak $*mA ematen dituela, nahikoa dugu erresistentzia kolektorean $**mA-ko korrontea izateko
diseinatzea.
Rb7 5+,
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
93/117
6. Praktikak Arduinoarekin
otorra+ kontrol analogikoa
Garatuz
Aurkitu $) -eko motor bat Fordenagailu zahar baten haizegailu batek balioko luke F, eta muntatu
zirkuitu berdina, baina kanpoko elikatze-iturri batekin.
(6
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
94/117
6. Praktikak Arduinoarekin
13. #$rb"m"!"r ba!$n k"n!r"la 2 ari+'$!$k!"r$ LDR bi!ar!$*
erbomotor bat kontrolatu nahi da Arduino bitartez, eta bi LE8ri &argi-sentsore' kasu egin diezaien.
Bi sentsoreak elkarren pareko bi espaziotan kokatuta egongo dira, eta espazio horien argi-kantitatea emango digute.
erboa beti bietatik espazio ilunenera mugituko da.
Beharrezko materiala
Arduino (no-a
) ! ))* +hm-eko erresistentzia
) ! L86
erboa
Konexioa (hardwarea)
L86 erresistentziak ))* +hm-eko Pull (p erresistentzien bidez konektatuko ditugu.
erboa konektatzerakoan, haren izkinetako pinetara elikadura eramango dugu, , eta erdiko pinetik
seinale analogikoa sartuko diogu, serboa gidatzeko.
Zailtasunak
Arduinoak bereziki serboak kontrolatzeko liburutegi bat dauka.
#$rb"aangelu jakin batera gida daitekeen motor bat da. * eta $* angeluen artean kokatu daiteke,
eta bere seinale eroaletik sartzen digun PDC pultsuaren arabera, zein angelutara joan esango diogu.
*, eta $,/ ms arteko pultsu-modulazioa sartuz gero, serboa *>-tik I*>-ra bitarteko angeluen artean
mugituko da, ezkerrera; $, eta ) ms arteko pultsuak sartuz gero, aldiz, serboa I*>-tik $*>-ra bitartean
mugituko da, eskuinera.
(%
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
95/117
6. Praktikak Arduinoarekin
(niKersidad de Eastilla La Cancha Departamento de Sistemas Informticos
Hori kontuan izanik, nahikoa da PDC seinalearen kalko bat egitea, zein pultsuri zein angelu
dagokion jakiteko. Baina, noski, pultsu-luzerak kalkulatzen aritzea ez zaio inori gustatzen, eta hori!e ariko
zen pentsatzen include JerKo.hM liburutegia egin zuena ere.
Liburutegi horri esker, nahikoa da serboari angeluaren balioa ematea eta berak kalkulatuko du behar
duen PDC pultsu-zabalera.
Bestalde, L86 argi-sentsoreak doitzea ez da batere gauza erraza praktikan. 3irkuituak egoki
untziona diezazuen, behin baino gehiagotan egin beharko dituzue sarrera analogikoen irakurketak, eta doitu,
benetan lortu nahi duzuen erantzuna izan arte.
2iri nahiko kostatu zitzaidan argi-sarrera ongi neurtu eta balio idagarriak lortzea. Hor duzue serie-
monitorea, irakurketak egokiak diren jakiteko, eta erabili, sentsorearen irakurketa doitzerakoan.
Ohiko akatsak
L86 erresistentzien balio desberdinak direla eta, sentsoreen kalibrazio t!arra.
&erboa eta argia
((
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
96/117
6. Praktikak Arduinoarekin
()
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
97/117
6. Praktikak Arduinoarekin
14. #!$$r+a
(rratsez urratseko motor unipolar baten kontrola egingo dugu, ULN2,,3kontrolagailu bitartez. 4ure
urratsez urratseko motorrak Nurrats osokoN sekuentzian bira egingo du, beti eskuin aldera, eta % segundoko bira bat
osatuz.
Beharrezko materiala
Arduino (no-a
(rratsez urratseko motorra
(L2)**% kontrolagailua
Konexioa (hardwarea)
(rratsez urratseko motor unipolarrak lau kone!io ekartzen ditu bere erregulaziorako, eta bi bere
elikadurarako. ei hari, beraz, hurrengo eran konektatu beharko ditugunak.
Zailtasunak
(rratsez urratseko motor batek, izenak dioen bezala, urratsez urrats egiten du bira motorraren
barruan. "statorean, bi harilkatu dauzka eta, errotorean, berriz, iman iraunkor bat, zeinak harilkatuen
magnetizazioari jarraitzen dion.
"statoreko harilkatu horien magnetizazio-sekuentzia egokiak nahiz magnetizazio-maiztasun
egokiak motorraren kontrol osoa emango digu. "ra horretan, biraka dabilen motorra guk nahi dugun
posizioetan gera genezake, oso gauza sinesgaitza 8E motor normaletan.
tepper motor hauen abio-sekuentzia ohiko bat hurrengoa da. (rrats osoko abio-sekuentzia izena
),
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
98/117
6. Praktikak Arduinoarekin
du, eta, motorraren bira bakoitzeko lau urratsetako bakoitzean bi sarrera aktibatzen dira. Horrela, bi harilkatuk
erakarriko dute imana, eta indar pare handia izango du.
Ohiko akatsak
Abio-sekuentzia ongi programatzea ezinbestekoa da, motorra mart!an ikusi nahi baldin badugu.
0ontu izan horretan. Bestalde, pausoen arteko tartea ere garrantzitsu bihurtzen da, tarte t!ikiegiak denborarik
ez diolako ematen imanari bobinatura iristeko, eta tarte handiegiak, berriz, inertziaz pausoak saltatzea
ekartzen duelako.
Programan dauzkazue urrats-tarte egokien balioak.
&tepper"a
)1
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
99/117
6. Praktikak Arduinoarekin
)2
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
100/117
6. Praktikak Arduinoarekin
Garatuz (Hurrengo praktikek gaiari buruzko jakintza areagotzen lagunduko digute)
4ehitu proiektuari motorraren abiaduraren nahiz biraketa-noranzkoaren kontrola.
)3
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
101/117
6. Praktikak Arduinoarekin
15. L/D an!aila
Arduinora konektaturiko LE8 pantaila batean,
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
102/117
6. Praktikak Arduinoarekin
Zailtasunak
Praktika honek pinak soldatzea eskatzen du, eta kone!io-borneak ongi identiikatzea, gauzak non
konektatu ongi asmatzeko.
Potentziometroa pantailaren distira erregulatzeko erabiltzen da.
Ohiko akatsak
Pinen konigurazio-taula ikusi arren, bakoitza zer den identiikatzen ez jakitea. Praktikan, ematen
den kone!ioari jarraitu eta pin bakoitzaren untzioa identiikatuko duzue.
,# pantaila
)5
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
103/117
6. Praktikak Arduinoarekin
Garatuz (Hurrengo praktikek gaiari buruzko jakintza areagotzen lagunduko digute)
aiatu edozein sarrera analogikotan duzuen balioren bat pantailaratzen, hala nola sentsoreren baten
balioa edo eskemako potentziometroaren balioa bera.
)6
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
104/117
6. Praktikak Arduinoarekin
16. >#R r$si"+s$n!s"r$a irakr!*$n
Presio-sentsore bat erabiliz, gure hatzekin zenbat kilotako indarra egiteko gai garen pantailaratuko dugu.
Pantailan, hurrengo datuak bistaratuko ditugu#
arrerako balioa &*-$*)%' artean
arrerako tentsioa &m'
16 sentsorearen erresistentzia &+hm-etan'
16 sentsorearen konduktantzia
ndarra &2e9tonetan'
Casa &kg-tan'
Beharrezko materiala
Arduino (no-a
$* k+hm-eko erresistentzia
16 presio-sentsorea
Konexioa (hardwarea)
16 sentsoreari tentsio-zatitzaile bat osatuko diogu, $* k+hm-eko erresistentzia batekin.
)%
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
105/117
6. Praktikak Arduinoarekin
Zailtasunak
entsoreen irakurketatik datuak ateratzearen gauzarik zailena balioak elkar lotzen dituzten
berdinketa matematikoak aurkitzea da.
Horretarako, sentsorearen datu-orritik haren sentsibilitatearen taula jaitsi daiteke, eta erresistentzia
duen aldaketa bakoitza zer presio-aldaketari dagokion atera.
+ndoren, matematikak aplikatzea besterik ez da geratzen.
arrerako tentsioa kalkulatzeko, tentsio-zatitzailea askatu#
, non EE O K den eta 6 O $* k+hm
Beraz,
>#R 7 00 + " ? R 8 " < o eta sroltage berdinak dira.
+rain, kontuan izan o balioa sarrera analogikoan dugun balioa mappeatuta lortuko dugula.
Prozedura matematiko hau programan aplikatuz gero, sentsorearen erresistentzia kalkulatuko dugu
)(
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
106/117
6. Praktikak Arduinoarekin
Behin erresistentzia izanik, indarra goiko graikoa aplikatuz lortuko dugu, zeinak konduktantzia eta
indarraren arteko erlazioa emango digun.
Aplikatuz#
-&. presio"detektorea
Garatuz (Hurrengo praktikek gaiari buruzko jakintza areagotzen lagunduko digute)
&aiatu irakurketa berdina egiten tenperatura"detektore batekin/
))
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
107/117
6. Praktikak Arduinoarekin
1,,
-
7/25/2019 Arduinoa Ikastetxean -Aitor Azpiroz.pdf
108/117
6. Praktikak Arduinoarekin
1%. T$rm"m$!r" 'ii!ala
TP36tenperatura-sentsoretik tenperatura irakurri eta uneko tenperatura &>E, >1' LE8 pantaila batean