Arduinoa Ikastetxean -Aitor Azpiroz.pdf

download Arduinoa Ikastetxean -Aitor Azpiroz.pdf

of 117

Transcript of Arduinoa Ikastetxean -Aitor Azpiroz.pdf

  • 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