000 dbh4 apunteak denak 2014 09 09 ar

Page 1

TEKNOLOGIA DBH 4 Orioko Herri Ikastola

Ikaslea: Gela: Ikasturtea:

Egilea: I単aki Zarauz Leoz


OHI

DBH 4. maila

DBH 4.maila Teknologia Aurkibidea 1. Marrazketa teknikoa I: Sketch Up

2. or

2. Marrazketa teknikoa II: Layout

14. or

1. Elektronika digitala

28. or

2. Programazioa I: Scratch

68. or

3. Txertatutako sistemak I: Arduino

80. or

4. Txertatutako sistmak II S4A: Scratch for Arduino

151. or

5. Programazioa II: ArduBlock

159. or

6.G programazioa II: MyOpenLab

185. or

7. Arduino eta MyOpenLab

209. or

1 I単aki Zarauz Leoz


OHI

1.1.

DBH 4. maila

MARRAZKETA TEKNIKOA I: Sketch Up

1. gaia: MARRAZKETA ORDENAGAILUZ

1. gaia: “SKETCH UP” Ikaslea: Data: Irakaslea: Iñaki Zarauz Leoz

2 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Erreferentzia gida

3 I単aki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa: “SKETCH-UP” programa Marrazketa teknikoa: “SKETCH-UP” programa 1. . ariketa 1. Programa ireki eta 5 cm-tako aldea duen karratua marraztu, erdigunean 2 cm-tako diametroa duen zirkunferentzia inskribatuaz.

2. Irudia marraztu eta “03_adib_3_SkechUp” izenaz gorde ezazu. 3. “Kota lerroak” marraztu itzazu.

4 Iñaki Zarauz Leoz


OHI

DBH 4. maila Marrazketa teknikoa: “SKETCH-UP” programa

2. ariketa 1. Programa ireki eta ondorengo pieza marraztu eta “04_adib_4_SkechUp” izenaz gorde ezazu.

2. “Kota lerroak” marraztu itzazu. 3. Piezaren bistak Portu itzazu, bisten barra-tresna eragiliz.

5 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa: “SKETCH-UP” programa 3. ariketa 1. Programa ireki eta ondoko irudia marraztu.

2. “05_adib_5_SkechUp” izenaz gorde ezazu. 3. “Kota lerroak” marraztu itzazu. 4. “Pintura potea” erabiliz irudiak duen “textura” marraztu ezazu

6 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa: “SKETCH-UP” programa 4. ariketa 1. Programa ireki eta ondoko irudia marraztu.

2. “06_adib_6_SkechUp” izenaz gorde ezazu. 3. “Kota lerroak” marraztu itzazu. 4. “Pintura potea” erabiliz piezaren “pisu” bakoitza kolore batez marraztu ezazu.

7 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa: “SKETCH-UP” programa 5. ariketa 1. Programa ireki eta ondoko bistak dituen irudia marraztu “cavalieri” perspektiban.

2. “07_adib_7_SkechUp” izenaz gorde ezazu. 3. “Kota lerroak” marraztu itzazu.

8 Iñaki Zarauz Leoz


OHI

DBH 4. maila Marrazketa teknikoa: “SKETCH-UP” programa

6. ariketa 1. Programa ireki eta ondoko irudia eraiki: 10 mm x 20 mm x 30 mmtako “regleta” bat eraiki.

2. Irudia “bloke” bihurtu ezazu

3. Crtl eta

agindua erabiliz

“higitu” agindua erabiliz 3 aldiz kopiatu ezazu.

4. Graduatzailea erabiliz 2. alea 90 º biratu OZ ardatzaren inguruan 5. Graduatzailea erabiliz 3. alea 90º biratu OX ardatzaren inguruan. 6. Eskala agindua erabiliz 4. alea neurriz bikoiztu eta akotatu ezazu.

7. “08_adib_8_SkechUp” izenaz gorde ezazu. 8.

9 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa: “SKETCH-UP” programa 7. ariketa: Eraikinen marrazketa 1. Skecht-up programa ireki. Aldiberean GoogleEarth programa ireki. 2. Marraztu beharreko erakinaren teiltua ikusgai duen irudia kokatu herraminta erabiliz.

3. Fatxada eraiki “adaptar fotografia” aukera erabiliz

10 Iñaki Zarauz Leoz


OHI

DBH 4. maila

4. “09_adib_9_SkechUp” izenaz gorde ezazu. 5. Ardatz lerroak modu egokian kokatu.

6. Eraikina marraztu “eredua” eta “argazkia” aldiberean erabiliz. 7. “Proyectar texturas desde foto” aukeraz fatxada zure eraikinaren gainean marraztu. 8. Eraikin “munduan” kokatu.

11 Iñaki Zarauz Leoz


OHI

DBH 4. maila Marrazketa teknikoa: “SKETCH-UP” programa

8. ariketa 1. DBHko eraikinaren egitura eraiki eta Google earth erabiliz, dagokion lekuan kokatu ezazu..

Eraikuntzarako oinarri gisa, ereikinaren plamoak erabili itzazu.

12 Iñaki Zarauz Leoz


OHI

DBH 4. maila

13 I単aki Zarauz Leoz


OHI

DBH 4. maila MARRAZKETA TEKNIKOA II: Layout

2. gaia: LAYOUT

2. gaia: “LAYOUT” Ikaslea: Data: Irakaslea: Iñaki Zarauz Leoz

14 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa 1. ariketa 1. Programa ireki eta ondorengo irudia marraztu. a. Irudia marraztu. “01_adib_1_SkechUp” izenaz gorde ezazu.

b. “Equidistancia” agindua erabiliz, eta 1 cm-tako tartea utziaz, barrua hustu. c. Kota marrak erabiliz, neurriak ipini.

15 Iñaki Zarauz Leoz


OHI

4. ariketa

DBH 4. maila

Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa 2. ariketa 1. Programa ireki. 2. Irudia marraztu eta “02_adib_2_SkechUp” izenaz gorde ezazu. Kanpoko karratuak 100 cm neurtzen ditu eta barruko ziurkunferentziak 75 cm.

16 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa 3. ariketa

1. Layout programa ireki eta ondorengo bistak marraztu leku egokietan.

17 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa 4. ariketa

1. Layout programa ireki eta ondorengo bistak marraztu leku egokietan.

18 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa 5. ariketa

1. Layout programa ireki eta ondorengo bistak marraztu leku egokietan.

19 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa paperean eta ordenagailuan 6. ariketa

“Layout� programa

1. Layout programa ireki eta ondorengo piezaren bistak marraztu leku egokietan.

20 IĂąaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa paperean eta ordenagailuan

“Layout� programa 7. ariketa

1. Layout programa ireki eta ondorengo piezaren bistak marraztu leku egokietan.

21 IĂąaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa

8. ariketa

1. Sketch Up programa ireki eta ondorengo pieza marraztu. 2. Layout programa ireki eta dagozkion bistak marraztu.

22 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa 9. ariketa

1. Sketch Up programa ireki eta ondorengo pieza marraztu. 2. Layout programa ireki eta dagozkion bistak marraztu.

23 Iñaki Zarauz Leoz


OHI

DBH 4. maila Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa

10. ariketa 1. Sketch Up programa ireki eta ondorengo pieza marraztu. 2. Layout programa ireki eta dagozkion bistak marraztu.

24 Iñaki Zarauz Leoz


OHI

DBH 4. maila Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa

11. ariketa 1. Sketch Up programa ireki eta ondorengo pieza marraztu. 2. Layout programa ireki eta dagozkion bistak marraztu.

25 Iñaki Zarauz Leoz


OHI

DBH 4. maila Marrazketa teknikoa paperean eta ordenagailuan

“Layout” programa 12. ariketa 4. Sketch Up programa ireki eta ondorengo pieza marraztu. 5. Layout programa ireki eta dagozkion bistak marraztu.

26 Iñaki Zarauz Leoz


OHI

DBH 4. maila

27 I単aki Zarauz Leoz


OHI

DBH 4. maila

Elektronika digitala

“ELEKTRONIKA DIGITALA” Ikaslea: Ikasturtea: Data: Irakaslea: Iñaki Zarauz Leoz

28 Iñaki Zarauz Leoz


OHI

DBH 4. maila

ELEKTRONIKA DIGITALA 1. Proiektua 2. Seinale motak a. Analogikoak

3. orr 5. orr

b. Digitalak c. Informazio unitateak: bit, byte, kb, Mb, ... d. Sistema bitarra e. ASCII kodea 3. Automatismoak a. Automatismo baten atalak b. Eskema elektronikoak 4. Boole-ren aljebra a. Boole-en aljebraren erabilera b. Ate logikoak 5. Ate logikoak a. And atea b. Or atea c. Not atea d. Nor atea e. Nand atea f. Xor atea g. Xnor atea 6. Egi taula 7. Oinarrizko ate logikoak 8. Ebatzitako zirkuikuak 9. Ariketak 10.Simuladoreak 11. Simulatzeko ariketak 12. Ebazteko ariketak

12.orr

15. orr

17. orr

22. 22. 24. 26. 28. 32. 37.

orr orr orr orr orr orr Orr

29 I単aki Zarauz Leoz


OHI

DBH 4. maila

1. jarduera 1. PROIEKTUA: a) “Diseinatu eta garagu ezazu bi etengailu dituen markagailua. A etengailua sakatzean markagailuak 1 (“bat”) zenbakia adieraziko du, eta B etengailua sakatzean, 2 zenbakia (“bi”) adierazi beharko du”.

30 Iñaki Zarauz Leoz


OHI

DBH 4. maila

0 2

1 3

b) “Aurreko zirkuitua egokitu ondorengo baldintzetan ere bete ditzan: A eta B sakatzen ez direnean 0 (“zero”) zenbakia adierazi beharko da A eta B aldiberean sakatzen direnean 3 (“hiru”) zenbakia markagailuan adierazi beharko da.

31 Iñaki Zarauz Leoz


OHI

DBH 4. maila 2. jarduera

2. Seinale motak Aldagi batek hartu ditzazkeen balioak, orokorrean, jarraiak edo ez-jarraiak izan daitezke. Jarraiak (analogikoak) dira denboran zehar edozein balio hartu dezaketenean eta ez jarraiak (digitalak), denboran zehar soilik balio mugatua hartu dezaketenean.

Analogikoa

Digitala

a. Seinale analogikoak Magnitude bat analogikoa da bi balioren artean edozein balio hartu dezakeenean. Adibidez, irudiko adibidean, 15ºC eta 16ºC artean, aldagaiak edozein balio hartu dezake: 15.01ºC, 15.02ºC, ...15.36ºC, ...etab... Naturako magnitude gehienak analogikoak dira: tenperatura, denbora, hezetasuna, argitasuna, korrontearen intentsitatea, boltaia, ... Aldameneko adibidean, denboraren zehar tenperaturaren aldaketa irudikatzen da. Magtitude analogikoa dela garbi ikusten da.

32 Iñaki Zarauz Leoz


OHI

DBH 4. maila

b. Seinale digitalak Aldagai batek hartu ditzazkeen balioak ez jarraiak direnean, hau da, balio multzo bateko bakioak hartzen dituenean, aldagaia digitala dela esaten da. Adibideako irudian, “T” aldagaiak soilik bi balio hartu ditzazke denboraren zehar: “0” edo “4, 5”

Beste adibide honetan, txirrinak tentsioa jasoko du sakagailuak aktibatzen direnean. Ondorioz, bere muturretako tentsioa pilak emandako 4,5 v izango da batzuetan eta 0 beste batzuetan.

Seinalea badago=1 Seinalea ez badago=0

George Boole (1815-1864) Funtzio logikoak matematika berri batez aztertu zitezkela proposatu zuen. “Boolen algebrak” jasotzen ditu erlazio guzti hauek, gaur egungo digitalizazioaren sorrera izan zena.

33 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Ariketa_1: Ondoko seinalea, zein balio bitar sekuentziar dagokio? Adib1: 1100111101

Adib2:

Ariketa_2:

Datuak 1110

c. Informazio unitateak: bit, byte, kb, Mb, ... a) Bit: Oinarrizko informazio unitatea “bit”-a da, datu bitar batez adierazten dena: n=1 edo n=0 “1” bita

34 Iñaki Zarauz Leoz


OHI

DBH 4. maila

b) Byte: 8 bitez osatutako informazio unitateari esten zaio

c) Kb=Kilobyte: 1024 bytez osatutako unitateari deritzo. d) Mb= Megabyte: 1024 Kb-tez osatutako informazio unitatea. e) Gaur egun handiagoak ere erabiltzen dira: Gigabyte ( Gb), terabyte (Tb), ‌

d. Sistema bitarra George Boole matematikariak, zenbaki sistema berri bat bat aurkeztu zuen, gure zenbaki sistema hamartarraren ezaugarri berdinak dituena: sitema bitarra. Zenbaki sistema honetan, soilik bi dira erabiltzen diren zifrak ( 0 eta 1) eta gai da edozein zenbaki adierazi eta edozein eragiketa matematiko kalkulatzeko. Formalismo matematiko honi esker, gizakia gai da edozein informazio bit zerrenda baten modura adierazteko: soinua, irudia, boltaia, ... Adibidez:

Zein erlazio dago zenbaki sistema hamartarraren eta bitarraren artean?

35 IĂąaki Zarauz Leoz


OHI

DBH 4. maila

Sistema bitarrak 0 eta 1 zifrak erabiltzen ditu eta 2 zenbakian oinarritutako berredurak erabiltzen ditu edozein zenbaki adierazi ahal izateko. Bainan nola erlazionatzen dira zenbaki sistema hamartarra eta zenbaki sistema bitarra? Adib: 27 = 16+8+2+1 = 24+23+21+20 = 1·24+1·23+0·22+1·21+1·20 = 11011 110012 = 1·24+1·23+0·22+0·21+1·20 = 16+8+1 = 25 Ariketa_3: Nola adierazten dira bi zenbaki hauek beste sisteman? 18= 101012= Hamartarra

Bitarra

0 1 2 3 4 5 6 7

000 001 010 011 100 101 110 111

Ariketa 4: 4 digitu erabilita adierazi itzazu 8-tik 15ra bitarteko zenbaki hamartar guztiak

Ariketa_5: Zein zenbaki hamartar adierazten du ondoko kode bakoitzak?

36 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Ariketa_6: Zein zenbaki hamartar adierazten du ondoko seinaleak?

Ariketa_7: Informazioa 4 digitunaka garraiatzen den sistema honeta, zein zenbaki zerrenda hari gara igortzen?

e. ASCII kodea Informatikaren munduan erabiltzen den kodea da, hizki, zenbaki eta bestelako ikurrei zenbaki bana atxekitzen dion kodea. ASCII kodearen bidez, hizkiak honela kodifikatzen dira:

37 I単aki Zarauz Leoz


OHI

DBH 4. maila

Ariketa_8: Zein hitz ari da argi sistema hau adierazten?

Ariketa_9: Nola esaten da “bit” ASCII kodean?

Ariketa 10: Zer dio seinale honek?

38 Iñaki Zarauz Leoz


OHI

DBH 4. maila

3.

jarduera

3. Automatismoak Automatismoa bat makina bat gobernatzeko erabiltzen den kontrolsistema da, behin eta berriz errepikatzen diren lanetan gizakia ordezkatzen duena. Automatismoa erabilitako teknologiaren araberakoa da ( elektrikoa, neumatikoa, hidraulikoa edo elektronikoa) Gaur egun gehien eraikitzen diren automatismoak elektronikoak dira, eraikitzeko sinpleenak, merkeenak eta txikienak direlako. Beste motatako automatismoak garestiagoak, mantenu zailagokoak, leku gehiago okupatzen dute eta zuhurtasun txikiagokoak dira, bainan hala ere ezin dira baztertu, hainbat lan esparrutan ezinbestekoak direlako. Automatismoaren eraikuntza erbilitako teknologiaren araberakoa bada ere, automatismoaren diseinua berdina da teknologia guztietarako. Beraz, lehenik automatismoa diseinatuko dugu, edozein teknologia erabili nahi bada ere (elektronikoa, hidraulikoa, neumatikoa, etab...), bigarrengo fase batetan, teknologia hauetako bat aukeratu eta diseinatutakoa eraikitzeko. Gai honen bukaeran honelako buruketak askatzeko gai izango gara:

“ 5 etengailu dituen logela batetan, argia piztea nahi da aktibatutako etengailu kopurua bakoitia denean, eta itzalita mantenduko da aktibatutako etengailu kopurua bikoitia denean�

39 IĂąaki Zarauz Leoz


OHI

DBH 4. maila

a. Automatismo baten atalak Automatismo baten osagaiak ondorengo eskemari jarraituz sailkatu daitezke: 1. Sarrerako osagaiak: Kanpotiko informazioa jaso eta automatismora bidaltzeko ardura duten osagaiak dira ( etengailuak, mikroruptoreak, argi sentsoreak, tenperatura sentsoreak, ...), eta automatismoaren ingurua nolakoa den eta nola aldatzen den adieraziko dute.

2. Automatismoa: Sarrerako osagaiek emandako informaziao bildu eta irteerako aginduak zein izango diren kalkulatzeaz arduratzen den gailua da. Gehienetan automatismoa elektriko edo elektronikoa izango da. Gaur egun, industri mailan PLC edo automata programagarriak dira gehien erabiltzen diren automatismoak, bainan lan honetarako gero eta garrantzi gehiago hartzen ari dira ordenagailuak. 3. Irteera osagaiak: Aginduak betetzeko helburua duten gailuen multzoari esaten zaio (motoreak, argiak, led-ak, txirrinak, ...), automatismoak esandakoa bete eta lana egiteko helburua dutenak. S a rr e r a

Automatismoa

ir t e e r a

Sarrerako seinaleak hizki xeheaz adierazten dira (a, b, c, ...) eta irteerako seinaleak hizki larriaz (A, B, C, ...) 40 I単aki Zarauz Leoz


OHI

DBH 4. maila

a Automatismoa

A

b

B

c

C

d Orokorrean, irteerako seinale batzu lortu nahi dira sarrerako seinaleen arabera. Informazio honen arabera diseinatu egiten da automatismoa, ondoren teknologia bat aukeratu ( elektrikoa, neumatikoa, ...) eta automatismoa eraikitzeko.

Ariketa 11: Aurreko sailkapenaren arabera ondorengo osagai elektronikoak sailkatu: 1) 3. LDR fotoerresistentzia 4. Motorea 2)

5. Led diodoak

6. Errelea

41 I単aki Zarauz Leoz


OHI

DBH 4. maila 4. jarduera

4. Boole-ren aljebra a. Boole-en aljebraren erabilera Boole-ren aljebra soilik bi egoera adierazten dituzten eragileekin egiten du lana: “0” eta “1” (Egia ala gezurra; Irekita ala itxita; Piztuta ala itzalita; ...) Honela bi egoeratan egon daitezkeen gailuetan erabili ahal izango da: 1 = aktibatuta = konektatuta= piztuta= martxan= ... 0 = desaktibatuta= konektatu gabea= itzalita= geldirik=...

=1 =1

=0 =0 121lgjisdf=1=1=

0

=

1

=

b. Ate logikoak Edozein zirkuitu elektriko, elkar loturiko hainbat osagaiez eratzen dela ikusi genezake. Irteerako osagai bat elikatzeko asmo soila duten osagai desberdinen arteko lotura hiru modutara gauzatu daiteke: serie, paralelo eta elkarketa mistoa.

42 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Adibidez:

Irudiko zirkuituan, lotura mistoa duten hiru osagai ditugu (a, b eta c), argi bat ( L) pizteko helburua dutenak. Etengailu horietako bakoitza bi egoeratan aurkitu daiteke: itxita ( 0) ala irekita (1). Sortzen diren konbinaketa guztietatik, batzuk argiaraino korrontea iristea posible egingo dute (orduan argiaren egoera 1 izango da), bainan beste batzuk ordea ez (argiaren egoera 0 izango da une horietan). Zenbat konbinaketa posible dira sarrerako gailu kopuruaren arabera? n= sarrerako gailu kopurua m= 2n = irteerako aukera posibleak Adib: n=3

m= 23= 8

Adibideko 3 etengailuak (a,b,c) 8 aukera desberdin sortzen dituzte argia piztu ala itzaltzeko ( L=0 ala L=1), alegia 8 zirkuitu desberdin daude hauek elkarrekin lotzeko (serie, paralelo eta misto) Ondorioz, edozein zirkuitu elektriko, sarrerako aldagai binario multzo batez (kontaktuaz) eta irteerako aldagai binanio multzo batez (eragileaz) osatutako konbinaketa izango da. Adibidean, argiaren egoera aldaketa ( itzalita=0 ala piztuta=1) sarrerako etengailuen egoerak gobernatuta etorriko da ( a, b eta c) eta hauek elkarri lotzeko moduaren arabera (serie, paralelo edo misto). Lotura hau ekuazio matematiko batez adierazi ahal izango dugu, “funtzio logikoa� deritzona. Zirkuituaren xehetasun guztiak funtzio honen bitartez aztertu ahal izango ditugu modu garbiago batetan.

43 IĂąaki Zarauz Leoz


OHI

DBH 4. maila

5. Ate logikoak: And, or, not, nor, xor, xnor

Hauek dira definitzen diren funtzio logikoak:

Ate logikoak “txip”-etan datoz integratuta, hainbat hanketako silizio “pastiletan” txertatuta

a. And atea (Y=eta, biderkadura,·) Eragiketa honek bi edo aldagai gehiago erlazionatu ditzazke. Honela definitzen da: Eta ( “ Y ” ) eragiketaren emaitza 1 izango da aldagai edo konstante guztiak 1 balioa dutenean. Bestelako kasuetan 0 balio izango du. 0x0=0 0x1=0 1x0=0 1x1=1

a

b

B

0 0 1 1

0 1 0 1

0 0 0 1

44 Iñaki Zarauz Leoz


OHI

DBH 4. maila

Funtzio honi ere “biderkaketa logikoa” izana ere ematen zaio. “x” ikurraz edo “ · “ ikurraz adierazten da, nahiz eta gehienetan ikurrik ere ez da erabiltzen. Adibidez: a x b x c = a·b·c = a b c Gaur egun irudiko zirkuitu elektroniko integratu batetan eraikitzen da “txip” modura

Bi sarrera seriean daudenean funtzio hau betetzen dute.

Hainbat ate logiko txipetan bilzen dira. Irudian 7400 serieko txip bat duzue. 14 hanka ditu eta 4 and ate logiko integratzen ditu bere baitan.

45 Iñaki Zarauz Leoz


OHI

DBH 4. maila

b. Or atea (O=or= “edo”, + batura) Aldagai edo konstante bat baino gehiagori aplika dakioke eta honela definitzen da: Edo ( “ O ” ) eragiketaren emaitza 1 izango da aldagai edo konstanteetako edozeinek 1 balioa hartzen duenean. Bi aldagaien kasuan, adibidez, honera eragiten du: 0+0=0 0+1=1 1+0=1 1+1=1

a

b

B

0 0 1 1

0 1 0 1

0 1 1 1

Edo eragiketa adierazteko “+” ikurra erabiltzen da eta “batura logikoa” izenaz ere ezagutzen da. Gaur egun irudiko zirkuitu elektroniko integratu batetan eraikitzen da “txip” modura Bi sarrerako seinale paralelon daudenean funtzio hau betetzen dute.

46 Iñaki Zarauz Leoz


OHI

DBH 4. maila

c. Not atea ( “ a ”=, aurkakoa ) Eragiketa hau aldagai bati, konstante bati edo hauen konbinaketa bati aplikatu dakioke. “Not” eragiketa adierazteko aldagaiaren gainean lerro bat marrazten da. Adib: not(a) = a Honela definitzen da:

a

B

10

0

1

0 1

1

0

Aldagaiak “1” balio badu, “not” eragiketak “0” balioan bihurtze du. Aldagaiak “0” balio badu, not eragiketak “1” balioan transformatzen du. Bi dira funtzio hau betetzen duten operadore elektriko/elektronikaok: “N.C” motako sakagailuak eta “Not” inbertsoreak, zirkuitu integratu modura “txip”-etan saltzen direnak.

d. “Nor” atea Bi sarreretarako “Nor” funtzioa honela definitzen da: a

b

S

0 0 1 1

0 1 0 1

1 0 0 0

Irteera aktibatu egingo da soilik sarrera guztiak desaktibatuta daudenean (Or funtziaren aurkakoa da)

47 Iñaki Zarauz Leoz


OHI

DBH 4. maila

e. “Nand” atea Bi sarreretarako “Nand” funtzioa honela definitzen da: a

b

S

0 0 1 1

0 1 0 1

1 1 1 0

And funtzioaren aurkakoa izanik, sarrera guztiak aktibatu ezik beti aktibatuko da .

f. XOR atea

a

b

S

0 0 1 1

0 1 0 1

0 1 1 0

“a” eta “b” sarrerak desberdinak direnean aktibatuko da

g. XNOR funtzioa a

b

S

0 0 1 1

0 1 0 1

1 0 0 1

“a” eta “b” sarrerak berdinak direnean aktibatuko da

48 Iñaki Zarauz Leoz


OHI

DBH 4. maila

6. Egi taula Funtzio logiko bat adierazteko modu desberdinak daude. Ikasturte honeta bi modu aztertuko ditugu: “Egi-taula” eta “Karnaught-en mapa”. Egi-taula oso erabilia da sarrerako aldagaien balioaren arabera irteerako aldagaiaren balioa zein den jakiteko. Egi-taulak bi atal ditu: Ezkerreko zutabeetan sarrerako aldagaiak idazten dira eta eskuineko zutabeetan irteerako aldagaiek hartzen dituzten balioak adierazten dira. Adibidez:

Ondorioz: L= a· b· c

a

b

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

c L 0 1 0 1 0 1 0 1

0 0 0 0 0 0 0 1

7. Oinarrizko ate logikoak Ondorengo orrialdeetan zirkuitu elektriko sinpleak erabiliz funtzio desberdinak adieraziko dira, lanpara baten adibidean, noiz piztuko den (1) eta noiz itzaliko den (0) adieraziko delarik zirkuituaren egoeraren arabera. Logikaren esparruan oinarrizko lau funtzio daude: “Berdintza”, “aurkakoa”, “eta” , “edo”.

49 Iñaki Zarauz Leoz


OHI

DBH 4. maila

5. jarduera

8. Ebatzitako zirkuikuak 1) Ondoko zirkuitua aztertu dezagun:

Zirkuituaren egi taula idatzi 2)

Ondoko zirkuitua aztertu dezagun:

Zirkuituaren egi taula idatzi 3) Ondoko zirkuitua aztertu dezagun:

i) ii)

Egi taula idatzi Zein egoeratan piztuko da argia?

50 I単aki Zarauz Leoz


OHI

DBH 4. maila

4) Ondoko zirkuitua aztertu dezagun:

i) Zirkuituaren egi taula idatzi ii) Zein egoeratan piztuko dira bi bonbilak? 5) Ondoko zirkuitua aztertu dezagun:

Zirkuituaren egi taula idatzi 6) Ondoko zirkuitua aztertu dezagun:

i) Zirkuituaren egi taula idatzi ii) Noiz piztuko da lanpara? 7) Ondoko zirkuitua aztertu dezagun:

i) Egi taula idatzi ii) Ekuazioa idatzi 51 I単aki Zarauz Leoz


OHI

DBH 4. maila

8) Ondoko zirkuitua aztertu dezagun

i) Egi taula idatzi ii) Noiz egongo da L1 lampara piztuta? iii) Eta noiz egongo da itzalita? 9) Ondoko zirkuitua aztertu dezagun:

i) Zirkuituaren ekuazioa idatzi ii) Noiz piztuko da lanpara? 10) Ondoko zirkuitua aztertu dezagun:

i) Zein da zirkuituaren ekuazioa? ii) Noiz piztuko da lanpara?

52 I単aki Zarauz Leoz


OHI

DBH 4. maila

6. jarduera 9. Ariketak 1. ariketa:

http://joshblog.net/projects/logic-gate-simulator/Logicly.html helbidean sartu eta simulatzailea erabili ondorengo zirkuituak nola funtzionatzen duten aztertzeako:

1. Ondoko zirkuitua eraiki:

i) ii) iii)

Zirkuituaren egi taula marraztu Zein baldintzetan piztuko da bonbila? “Krokodrile clips” programa ireki eta zirkuitu honi dagokion zirkuitu elektronikoa eraiki.

53 Iñaki Zarauz Leoz


OHI

DBH 4. maila

iv) Ondoko osagaiak erabiliz zirkuitua osatu ezazu:

2. ariketa: “Lantegi batetan kanpoko dei sistema bat ipini nahi da, kanpokaldean dagoen sakagailu batez aktibatuko dena edo atea aktibatzen denean konektatuko dena�. a) Egi taula idatzi. b) Funtzioa idatzi c) Zirkuitua marraztu d) Ate logikoak erabiliz simulatu ezazu (http://joshblog.net/projects/logic-

gate-simulator/Logicly.html) a b Lantegia

a

b

0 0 1 1

0 1 0 1

F 0 1 1 1

54 IĂąaki Zarauz Leoz


OHI

DBH 4. maila 7. jarduera

10. Simuladoreak. i) Igogailua “Aszensore baten aginte automatismoa diseinatu nahi dugu. Aszensore honek 15 kg eta 75 kg bitarteko objetuak altza behar ditu egoera desberdinetan. Aszensoreak pisuak neurtzeko bi malgukiren gainean dago mantenduta, eta hiru karrera amaierako etengailuen arabera pisuen neurriak hartuko ditu, irudian ikusten den modura. Pisuaren arabera, “a”, “b” eta “c” sakagailuak aktibatuko dira eta honen arabera, baldintza hauek beteko ditu aszensoreak igotzeko ala ez erabakitzeko:

a) Aszensore hutsik dagoenean funtzionatuko du. b) 5 eta 15 kg bitarteko pisuentzako ez du funtzionatu beharko (“a” aktibatutakoan” c) 15 kg eta 75 kg bitarteko pisuentzako funtzionatu beharko du (“a” eta “b” aktibatuta) d) 75 kg baino gehiagoko pisuentzako ez du funtzionatu beharrik ( “a”, “b” eta “c” aktibatuta) 1) Egi taula idatzi, 2) Zirkuitua irudikatu.

55 Iñaki Zarauz Leoz


OHI

DBH 4. maila

a

b

c

M

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

1 0 1 0

56 I単aki Zarauz Leoz


OHI

DBH 4. maila

ii. Prentsatzeko makina

Ondoko baldintzak bete behar dituen prentsatzeko makina baten aginte mandua diseinatu ezazu sakagailuak erabiliaz. o Makina isolaturiko lokal batetan kokatzen da, langile bakar batek erabiltzeko helburuaz giltzatutako ate bat zeharkatuta erabili daitekeena soilik. o Makinak bi etengailu ditu ( “a” eta “b”) , istripuak ekiditeko biei eraginda jartzen delarik makina martxan. o Nahi izanez gero, aldameneko gelan dagoen “c” sakagaluari eraginda ere jarri liteke martxan.

a. Egi–taula idatzi b. Zirkuitua marraztu a

b

c

P

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

0 1 0 0 1 -

57 Iñaki Zarauz Leoz


OHI

DBH 4. maila

iii) Ondorengo zirkuitua eraiki. Zein baldintzetan piztuko da bonbila bakoitza?

58 I単aki Zarauz Leoz


OHI

DBH 4. maila 8. jarduera

11. Simulatzeko ariketak 1go ariketa: Andonik bi lekutatik piztu nahi du haizegailua: lurrean etzanda dagoela edo mahaian eserita dagoela. Ikasitakoa aztertuz, bi etengailu horiek “edo” funtzioaren arabera elkartuz helburua beteko dela ikusiko dugu, beraz, paraleloan lotuz eraikiko dugu zirkuitu elektrikoa

2.ariketa: Banketxe bateko diru kutxan, bi lekuetatik aldiberean bi etengailuz irekitzeko sistema ipini nahi dute, segurtasun neurri modura lapurretak saiezteko. Ikasitakoaren arabera, bi etengailuak “eta” funtzioaren arabera egon beharko dute konektatuta: kutxa irekitzen duen motorea aktibatuko da etangailu bat eta bestea aldiberean aktibatzen direnean.

a

b

M

0 0 1 1

0 1 0 1

0 0 0 1 59

Iñaki Zarauz Leoz


OHI

DBH 4. maila 9. jarduera

12. Ariketak 1. Ariketa: “ESA Europako espazio agentziak a,b, c, d eta e kandidatuetatik martitzera joango den misio batetarako astronautak hautatu behar ditu, ondoko baldintza hauek kontutan harturik:”  a eta a: edo biak dihoazte edo ez dira joango.  a edo/eta b joan behar dute, bainan biak elkarrekin ez.  c edo e joan behar dute, bainan biak elkarrekin ez.  d baldinbadoa, orduan b ere joan beharko du.  e baldinbadoa, orduan c eta d ere joan beharko dute. Zein joango da? Ebazpena: a 0 0 0 0 0 0

b

c

d

e

F

0 0 0 0 0 0

0 0 0 0 1 1

0 0 1 1 0 0

0 1 0 1 0 1

0 0 0 0 0 0

2. Ariketa 60 Iñaki Zarauz Leoz


OHI

DBH 4. maila

“3 etengailu dituen logela batetan, argia piztu nahi da aktibatutako etengailu kopurua bikoitia denen.� a) egi taula idatzi b) Zirkuitua marraztu a

b

c

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1 1

0 1 0 1 0 1 0 1

F 0

1

61 IĂąaki Zarauz Leoz


OHI

DBH 4. maila

3. Ariketa “ Hiru etengailu dituen logelan, argiak piztu nahi dira aktibatutako etengailu kopurua bakoitia denean” a) egi taula idatzi b) Zirkuitua marraztu a

b

c

0 0 0 0 1 1 1 1

0 0 1 1 0 0 1

0 1 0 1 0

F

0

62 Iñaki Zarauz Leoz


OHI

DBH 4. maila

4. Ariketa “Aszensore baten hutsegite sistema diseinatuko dugu. Motorea, atea eta erabiltzailearen deia hartuko dira kontutan. Sistemak txirrina jo beharko du aszensorea gaizki dabilenean�. a) egi taula idatzi b) Zirkuitua marraztu m

a

e

0 0 0 0 1 1 1 1

0 0 1 1 0

0 1

F

63 IĂąaki Zarauz Leoz


OHI

DBH 4. maila 10. jarduera

13. Zirkuituak eraiki 1. Ondoko zirkuituak eraiki

Osagaiak:

1. 2. 3. 4. 5. 6.

Board plaka Sorgailua Bi konmutadore 7400 txipa Erresistentzia Led diodoa

64 I単aki Zarauz Leoz


OHI

DBH 4. maila

2. Ondoko zirkuitua eraiki

65 I単aki Zarauz Leoz


OHI

DBH 4. maila

3. Ondoko zirkuitua eraiki

66 I単aki Zarauz Leoz


OHI

DBH 4. maila

67 I単aki Zarauz Leoz


OHI

DBH 4. maila

SCRATCH ARIKETAK

“SCRATCH” Ikaslea: Ikasturtea: Data: Irakaslea: Iñaki Zarauz Leoz

68 Iñaki Zarauz Leoz


OHI

DBH 4. maila

AURKIBIDEA I. DESKRIBAPEN OROKORRA

3. or

II. PROIEKTUAK: 1.

ARIKETA: ARRAIN ONTZIA

5. or

2.

ARIKETA: ROBOT HIGIKARIA

6. or

3.

ARIKETA: SEMAFOROA

7. or

4.

ARIKETA: PACKMAN BIDEOJOKUA

8. or

5.

ARIKETA: PONG BIDEOJOKUA

9. or

6.

ARIKETA:

ERAGIKETA MATEMATIKOAK

10. or

7.

ARIKETA:

BIGARREN MAILAKO EKUAZIOAK

11. or

8.

ARIKETA:

MARTZIANITOAK

12. or

69 I単aki Zarauz Leoz


OHI

DBH 4. maila

I. DESKRIBAPEN OROKORRA

1) HISTORIA PIXKA BAT

Scratch informatika-aplikazio bat da nagusiki haurrei zuzendua, interfaze grafiko sinple baten erabileraren bitartez ordenagailuen programazioaren kontzeptuak esploratzea eta saiakuntzak egitea baimentzen diena. Scratchek LOGO lengoaia erabiltzen du, lengoaia autonomoa errazten duen programazio-lengoaia. MITeko (Massachussets Institute of Tecnology) Media_lab laborategiko "the Lifelong Kindergarten group" taldeak garatzen du, Mitchel Resnick-ek zuzendua. 2007ko udan agertu zen lehen aldiz. Scratch instalatu eta birbanatu ahal da modu askean edozein ordenagailutan Windowsekin,MAC OS X, edo, Linux. Scratch izena scratching-aren teknikatik eratorria da, eta hizkuntzari zein haren aplikazioari dagokio. "Scratching" musikalaren antzekotasuna piezen berrerabilpen errazean datza: Scratchen objektu guztiak, grafikoak, soinuak eta komandoen sekuentziak modu errazean inportatu ahal dira 70 I単aki Zarauz Leoz


OHI

DBH 4. maila

programa berri batean eta hainbat eratan konbinatu daitezke, hasiberriei emaitza azkarrak lortu eta gehiago saiatzeko eragiten diena. Programa hau erabili ahal dugu, haren lema esaten duenez, programatu, sortu eta jokatzeko. Scratch mundu osoan erabiltzen da ingurune diferente askotan: eskolak, museoak, komunitate zentroak eta etxeak. 6-16 urtekoentzat zuzenduta dago baina adin guztietako jendeak erabili du Scratch. Adibidez, haur txikiek proiektuak sortu ahal dituzte haren gurasoekin edo anai nagusiagoekin, eta unibertsitateko ikasleek zientzietako edo konputaziosarrerako eskolaren batean. Diseinuan, lehentasun nagusia lengoaia eta ingurune intuitiboa egitea zen, programazioan aurretiko esperientzia ez zuten haurrentzat. Kontraste handia dago funtzio multimedia zein hari anitzeko programazio-estiloa ahaltsuaren eta Scratch programazio-lengoaiaren irismen mugaturen artean. Erabiltzaile-interfazeak pantaila zatitzen du zenbait paneletan Scratchen garapenaren ingurunerako: ezkerrean blokeen paleta, kolore diferenteekin funtzioaren arabera, informazioaren erdian momentuko sprite-a eta scripten area, eskuinean agertokia eta sprite-en (ordenagailugrafikoen mota) zerrenda Erlaitz diferenteak dauzka hainbat elementu atzitzeko: programak (animazioetako aginduekin) eszenatokiak (animazio beraren era desberdinak) eta soinuak . Gure Scratch sorkuntza partekatu ahal dugu bere web-orrian: http://scratch.mit.edu. Sorkuntza programatik gorde daiteke, web-orrian kontu bat sortu eta gero. Scratchen kontu bat edukita sorkuntza partekatu ahal izango dugu Scratch beste erabiltzaile batzuek ikusi ahal izan dezaten. Scratch.mit.edu orritik animazioa partekatu ahal izango dugu beste orri batzuetan.

71 I単aki Zarauz Leoz


OHI

DBH 4. maila

II. PROIEKTUAK 6. ariketa: ARRAIN ONTZI BIRTUALA “Diseinatu eta eraiki ezazu arrainontzi birtual bat, non, gorako, beherako, ezkerreko eta eskuineko geziei sakatzerakoan, arraiak gora-behera-ezkerrara eta eskuinera higituko diren.”

72 Iñaki Zarauz Leoz


OHI

DBH 4. maila

7. ariketa: LERRO JARRAITZALEA “Diseinatu eta eraiki ezazu agertokian marraztutako ibilbide bat jarraitzeko gain den robot higikaria. Robotak bi “antena” izango ditu:  Ezkerreko antena=gorria  Eskuineko antena=urdina. Ezkerreko antenaz ibilbidea ukitzean, esquinera higituko da Eskuineko antenaz ibilbidea ukitzean, ezkerrera higituko da. Ibilbidea ukitzen ez duenean, aurrera higituko da.”

73 Iñaki Zarauz Leoz


OHI

DBH 4. maila

8. ariketa: “SEMAFOROA” “Diseinatu eta eraiki ezazu semaforo batez gobernatutako gurutzebidea. Semaforoaren egoera 10 segundura aldatuko da. Semaforoa gorria denan, ibilgailuak gelditu eta oinezkoak zebrabidetik igaroko dira.”

74 Iñaki Zarauz Leoz


OHI

DBH 4. maila

9. ariketa: “PACKMAN BIDEOJOKUA” “Diseinatu eta eraiki ezazu PackMan bideojokua. Joku baldintzak: 

Packmana ezker/eskuin/gora/behera geziez gobernatuko da.

Ibilbidean zehar topatutako puntito horiak jatean, puntu bana irabaziko da.

Mamuak ukitzean, jokua amaitutzat emango da.”

75 Iñaki Zarauz Leoz


OHI 10.

DBH 4. maila ariketa: “PONG BIDEOJOKUA”

“Diseinatu eta eraiki ezazu Pong bideojokua, non, pelota ezker/eskuin higitzen den bitartean, bi teklaz, jokalariek (gora/behera teklaz, adibidez) mugituko dute dagokien pala.”

76 Iñaki Zarauz Leoz


OHI

DBH 4. maila

11. ariketa: “BATUKETAK, KENKETAK, BIDERKETAK ETA ZATIKETAK” “Proiektu honek 3 joku desberdin eraikitzea proposatzen ditu: a) Diseinatu eta eraiki ezazu bi batugaien balioa eskatu eta baturaren emaitza kalkulatuko dituen bideojokua.

b) Diseinatu eta eraiki ezazu biderketak egiten dituen bideojokua. c) Diseinatu eta eraiki ezazu zatiketak egiten dituen bideojokua. i) Zatiketa osoa bada, zatidura pantailan adieraziko da. ii) Zatidura osoa ez bada, zatidura osoa eta hondarra adieraziko dira. iii) Eta zatitzailea 0 bada, zatiketa ezinezkoa dela adieraziko da.”

77 Iñaki Zarauz Leoz


OHI

DBH 4. maila

12. “

ariketa: “BIGARREN MAILAKO EKUAZIOAK”

Diseinatu eta eraiki ezazu bigarren mailako ekuazioak ebazten

dituen joku bat., non, jokuak ekuazioaren a, b eta c koefizienteen balioak eskatuko dituen, eta dagokion formula erabiliz, ekuazioaren bi soluzioak aurkeztuko ditu, baldin eta errokizuna positiboa bada, zeren, negatiboa izanezkero, ekuazioak soluziorik ez duela adieraziko da.”

78 Iñaki Zarauz Leoz


OHI 13.

DBH 4. maila ariketa: “MARZIANITOAK”

“Diseinatu eta eraiki ezazu marzianitoen bideojoku klasikoa.”

79 Iñaki Zarauz Leoz


OHI

DBH 4. maila

ARDUINO

“Arduino”

Ikaslea: Gela: Ikasturtea: Data: Irakaslea: Iñaki Zarauz Leoz

80 Iñaki Zarauz Leoz


OHI

DBH 4. maila

81 I単aki Zarauz Leoz


OHI

DBH 4. maila “Can't buy what I want because it's free”- Pearl Jam

ARDUINOA IKASTETXEAN 0. HITZAURREA

1

1. KAPITULUA: 1.1. Zer da Arduinoa? ARDUINO FENOMENOA

2

1.2. Arduinoa ikastetxean

3

1.3. Zergatik Arduinoa?

5

2.1. Arduino Uno-a 2. KAPITULUA: HARDWAREA

7 6

2.2. Sumarioa

8 7

2.3. Eskemak eta planoak

8

2.4. Elikadura

9

2.5. Sarrera-irteerak 2.5.1. I/O digitalak (eta PWM irteera analogikoa) 2.5.2. Sarrera analogikoak 2.5.3. Beste konexio-pinak 2.6. Komunikazioa

9

9 11 12

13

3.1. Arduinoa SOFTWAREA instalatu 3. KAPITULUA:

14 14

3.2. Arduino IDEa 3.2.1. Erreminta-barra 3.2.2. Menuak

19

4. KAPITULUA: PROGRAMAZIOA 4.1. Egitura 4.1.1. setup() 4.1.2. loop() 4.1.3. Funtzioak () 4.1.4. Giltzak {} 4.1.5. Puntu eta koma ; 4.1.6. Iruzkinak // 4.2. Aldagaiak 4.2.1. Aldagaien erabilera-eremua 4.2.1.1. Aldagai lokalak 4.2.1.2. Aldagai globalak

19 20

26 26 26 27 27 28 28 29 29 29

82 Iñaki Zarauz Leoz


OHI 4.2.2. Aldagai motak 4.2.2.1. Char 4.2.2.2. Byte

DBH 4. maila 30

83 I単aki Zarauz Leoz


OHI 4.2.2.3. Integer 4.2.2.4. Long 4.2.2.5. Float 4.2.2.6. Array 4.2.3. Konstanteak 4.2.3.1. True/flase 4.2.3.2. High/low 4.2.3.3. Input/output 4.2.4. Eragiketak 4.2.4.1. Konposizio-eragiketak 4.2.4.2. Konparaketa-eragiketak 4.2.4.3. Eragiketa logikoak 4.2.4.4. Eragiketa matematikoak 4.2.5. Zenbaki aleatorioak 4.2.5.1. randomSeed() 4.2.5.2. random() 4.2.6. Denbora-funtzioak 4.2.6.1. delay() 4.2.6.2. millis() 4.2.7. Fluxu-kontrola 4.2.7.1. if(){} else {}

4.2.7.2. for(){} 4.2.7.3. while(){} 4.2.7.4. do...while(){} 4.2.8. I/O digitalak 4.2.8.1. pinMode() 4.2.8.2. digitalRead() 4.2.8.3. digitalWrite() 4.2.9. I/O analogikoak 4.2.9.1. analogRead() 4.2.9.2. analogWrite() 4.2.10. Serie-funtzioak 4.2.10.1. Serial.Begin() 4.2.10.2. Serial.Print() 5. KAPITULUA: ARDUINOA KONEKTATU 5.1. Sarrera digitalak 5.1.1. Pull Up konexioa 5.1.2. Pull Down konexioa 5.2. Sarrera analogikoak 5.2.1. Hiru hariko sentsoreak 5.2.2. Bi hariko sentsoreak 5.3. Irteera digitalak 5.4. Irteera analogikoak 5.4.1.1. Kontsumo txikikoak < 40mA 5.4.1.2. Kontsumo handiagokoak > 40 mA 5.5. Kontrolagailuak

DBH 4. maila

33

34

38 39 39

42

43 44

47 47 48 48 49 49 49 50

51 51

51 52 84

I単aki Zarauz Leoz


OHI

DBH 4. maila

6. KAPITULUA: ARDUINOAREKIN PRAKTIKAK 6.1. Blink

54 55

6.2. Alarma bisuala

58

6.3. Inklinazio-detektorea

61

6.4. DYAko anbulantzia

64

6.5. Kandela

67

6.6. Potentziometro baten irakurketa

69

6.7. Kontatzailea

72

6.8. Solfeo de Morfeo

76

6.9. Led-a ordenagailutik agindu

79

6.10. Errelea

80

6.11. Motorraren kontrol digitala

83

6.12. Motorraren kontrol analogikoa

85

6.13. Serbomotor baten kontrola

88

6.14. Stepper-a

91

6.15. LCD pantaila

95

6.16. FSR presio sentsorea irakurtzen

98

6.17. Termometro digitala

102

6.18. Proiektua: Joystic batekin bi serbo eta laserra kontrolatu.

105

7. ERANSKINA

109

8. BIBLIOGRAFIA

110

85 I単aki Zarauz Leoz


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. Funtsean, hardware 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, Interneten aurki daitekeen informazio amaigabea antolatu, funtzionalena hartu, eta sinple eta labur azaltzen saiatu naiz zer den Arduinoa eta zertarako erabil litekeen azaltzeko. Ia informazio guztia http:/www.arduino.cc webgunetik edo bertan inspiraturiko manualetatik aterea dago, eta, Creative Commons AttributionShareAlike 3.0 License. lizentziapekoa izaki, berriz ere lizentzia horrekin argitaratua izan da.

94


1. Arduino fenomenoa

1. KAPITULUA: ARDUINO FENOMENOA 1. Zer da Arduinoa Arduinoa prototipo elektronikoen oinarri izango den kode irekiko hardware- eta software- plataforma bat da. Artista, diseinatzaile eta ikasleirakasleentzat pentsatua dago, baita hobby gisa objektu nahiz ingurune interaktiboak sortzea helburu duen edozeinentzat ere. Nolabait esatearren, Arduinoa ingurunea senti dezakeen elementua da. Alde batetik, sentsoreak eta hartzaileak erabiltzen ditu horretarako. Bestetik, 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. Beste era batera esanda, Arduinoa gure begiak kontrolatzen dituen burmuina izan liteke; ikusteko gaitasuna du, eta edonora begiratzeko ahalmena ematen digu. Oinarrian, ATMEGA etxeko xx8 mikrokontrolagailua du. Hori plataformaren burmuina litzateke, eta Arduino Programing Language (Wiring-en oinarritua) nahiz Arduino Development Enviroment (Processingen oinarritua) erabiliz programatzen da. Arduinoan oinarrituriko proiektuak nahiz prototipoak guztiz autonomoak izan litezke, edota PC edo memoriaren batean ejekuzioan dagoen edozein sofwarerekin komunika litezke (Flash, Processing, MaxMSP, edo baita OpenOffice-ekin ere). Horrek prototipo ibiltariak, estatikoak edo adierazleak osatzeko aukera eskaintzen du. Zirkuitu inpresoa osatzen duten plakak aurrez fabrikan mihiztatuak eska daitezke, edo, sarean zintzilikatua dagoen informazioa erabiliz, norberak ere mihizta ditzake. Erreferentziako hardware-diseinua (CAD artxiboak) eskuragarri dago sarean; beraz, edonork du aukera hardwarea bere kabuz eraikitzeko, baita dagoenaren gainean nahi dituen berrikuntzak garatzeko ere. Software eta hardware libreko plataforma honek mundu oso bat ireki dio prototipoak laborategitik nahiz enpresetatik kanpo eraikitzeari.

95


1. Arduino fenomenoa

2. Arduinoa ikastetxean Ikastetxeetan prototipo elektronikoen eraikuntza aurrera eramateko zegoen hardware askearen gabezia zela medio sortu zen Arduinoa. Bereziki Hezkuntzan erabiltzeko sortu zela esan liteke, nahiz eta urte gutxian bilakaera askoz ere zabalagoa izan duen. Gida honek Arduinoa ikastetxeetan erabiltzeko baliagarri nahi luke izan, eta, bide batez, irakaslea PBLra (Project Based Learning proiektuetan oinarrituriko irakaskuntza) 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 hardware irekiko plataforma izaki, 300 pertsonatik gorako garatzaile taldea du, eta milioika erabiltzaile mundu guztian zehar. Gida 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. Ondoren, 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 PBL irakaskuntza-metodologia hiru puntu hauetan garatzen du: Arduinoa. Ikasle 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. 96


1. Arduino fenomenoa Esperimentazioa. Ikaskuntza 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 Pathavi-k dioen bezalaxe–. Ikastean, % 1 teoria da, eta % 99 praktika eta mugimendua. Librea, forman eta funtzioan. Erreminta digitaletako hardwarea eta softwarea gure orainaren eta geroaren parte dira, eta, neurri handi batean, horien erabilerak pertsona nahiz gizarte moduan izango dugun bilakaera markatuko digu. Softwarea nahiz hardwarea erabiltzeak gure bizitzan zehar egunero aurkituko ditugun elementu horiek hobeto ulertzen lagunduko digu, baina, guztiaren gainetik, hardware eta software libreak erabiltzeak guztioi luzatuko digu hori egiteko aukera, eta ahalbideratuko gure ideiak prototipatzea inongo traba legalik gabe. Amaitzeko, esan beharrekoa da Arduinoa ez dela irakaskuntzan hardware- edo software-plataforma soil gisa txertatzen. Hainbat irakasgaitan (teknologia, diseinua, matematika, fisika eta arte digitala) kontzeptu konplexuak aztertu eta praktikara eramango dituen irakaskuntza-metodologia gisa ere agertuko zaigu.

97


1. Arduino fenomenoa

3. Zergatik arduinoa Merkatuan, beste mikrokontrolagailu-plataforma ugari daude, eta antzeko funtzionalitatea eskain dezakete gehienek. Aukerak anitzak direla jakinda, ordea, hauek dira nire arrazoiak ikastetxean erabiltzeko aukera egokiena Arduinoa dela pentsatzeko. Merkea da. Beste mikrokontrolagailuekin alderatuta, prezio xumeagoa du. Aurrez mihiztatua, Arduinorik erabilienak (Uno) 25 eurotik beherako kostua du, eta norberak muntatutako Arduinoaren prezioa are merkeagoa da. Merkatua. Taxuzko 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. Multiplataforma da. Arduino softwarea Windows, Mac, OSX eta Linux sistema eragileetan ejekutatzen da. Beste mikroprosezagailuplataforma gehienak Windows edo DOS sistema eragileetara mugatuta daude. Programazio-ingurune sinple eta argia dauka. Arduino programazio-ingurunea hasiberrientzat oso erabilerraza da, eta, aldi berean, ahalmentsua, erabiltzaile aurreratuek zukua atera diezaioten. Kode irekiko software garagarria du. Arduino softwarea edozein programatzailek garatzeko irekia da. C++ lengoaian oinarrituriko liburutegiak garatuz, Arduinoaren kapazitateak muga gutxi ditu. Kode irekiko hardware garagarria du. Arduinoa ATMEGA xx8 mikrokontrolagailuetan oinarritua dago, eta gainerako modulu guztien CAD planuak, Creative Commons Attribution-ShareAlike 3.0 License lizentziapean, sarean argitaratuak daude. Diseinatzaile ausartenek Arduinoaren bertsio propioa diseina dezakete, eta baita, betiere lizentzia irekian, saldu ere; honela, Arduinoaren prestazioak 98


1. Arduino fenomenoa nahiz garapena bultzatuko dituzte. Arduinoaren plataformari hamaika funtzionalitate gehitu dizkio erabiltzaileen komunitateak oraingoz (wifia, GPSa, GRSMa, Irudi detekzioa, Android konexioa...), eta kontaezinak dira oraindik garatu dakizkiokeenak.

99


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.

100


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 328(datasheet) mikrokontrolagailuan oinarrituriko sarrera-irteera plaka programagarri bat da. Uno-a Arduinoetan azkenekoa da, eta Arduino plataformaren erreferentzia bihurtu da, Arduino softwarearen 1.0 bertsioarekin batera.

101


2. Hardwarea 14 sarrera-irteera digital ditu (horietako 6 PWM irteera analogiko gisa erabil daitezkeenak), 6 sarrera analogiko, 16 MHz-eko maiztasuna duen kristal oszilatzailea, USB konexioa, jack elikadura, ICSP header-a, eta Reset pultsagailu bat. Funtsean, mikroa kontrolatu, elikatu eta

102


2. Hardwarea ordenagailura erraz konektatzeko beharrezko guztia dauka.

2. Sumarioa Mikrokontrolagailua

ATmega328(datasheet)

Lan-tentsioa

5V

Elikadura-tentsioa 7-12 V Elikadura-tentsioa (onargarriak) 6-20 V I/O (sarrera-irteera) pin digitalak 14 (horietariko 6k PWM irteera ematen dute) Sarrera analogikoak 6 I/O (sarrera-irteera) korronteak 40 mA 3.3V-eko pinaren korrontea 50 mA Flash memoria erabiliak)

32 kB (horietatik 2 kB, bootloaderrak

SRAM

2 kB

EEPROM

1 kB

Erloju-maiztasuna

16 MHz

Tamaina

2,7 eta 2,7 hazbete

3. Eskemak eta planuak EAGLE artxiboak Eagle_Desing.zip Arduino UNO REV3 plakaren eskema

103


2. Hardwarea

104


2. Hardwarea

4. Elikadura Arduinoa USB bitartez edo kanpoko elikadura-iturri bitartez elika daiteke, eta berak igartzen du automatikoki zein duen konektatua. Kanpo-elikadura bitartez konektatzean, bi aukera ditugu. Plakak bistan duen 2.2 mm-ko jack elikadura erabili, AC/DC (220v/9V) bihurgailu batez, edo bateria sorta bat erabili, horren konexioak plakan dauden GND eta Vin pinetara konektatuta. Kontuan izan plaka gehienez 6-20 V-era elika daitekeela, baina egokiena 712 V bitartean elikatzea dela.

Elikadura-pinak hurrengoak dira: VIN. Arduinora kanpo-elikadura bat konektatzeko pina da. Arduinoa pin honetatik edo jack konexiotik elika daiteke, eta, azken horretatik elikatuz gero, Vin pina elikadura gisa balia daiteke. Berezitasun bat besterik ez da, baina erabilgarri suerta liteke zenbaitetan. 5V. Plakak berak erregulaturiko 5V-eko irteera bat ematen digu. Tentsio- irteera hau oso erabilia da plakara konektatuko ditugun sentsoreak elikatzeko garaian. Eroalea gorriz kableatzea gomendatzen dut beti. Pin hau elikadura-sarrera gisa erabiltzeak plakaren erregulatzailea bypasseatzen du, eta plaka erre dezake. Ez esan, gero, abisatu ez nuenik! 3V3. Plakak berak erregulaturiko 3.3 V-eko tentsioa ematen digu. Gehienez, 50 mA-ko korrontea hornitzen du.

5. Sarrera-irteerak 1. I/O Digitalak (nahiz PWM irteera analogikoa) 105


2. Hardwarea 14 pin digitalak irteera nahiz sarrera digital gisa erabil daitezke, aurrez nola deklaratzen ditugun. 5 V-ean lan egiten dute guztiek, eta pin bakoitzak GEHIENEZ 40 mA- ko korrontea jaso nahiz eman dezake. Oso ideia ona da IRTEERA gisa erabiltzen den edozein pinetan seriean 470 Ohm edo 1 k立 -eko erresistentzia bat jartzea. Pin bakoitzak 20-50 k立 bitarteko Pull Up erresistentzia bat dauka, baina berez deskonektatua dago. Sarrera guztiak Pull Up erresistentzia bitartez kableatzea gomendatzen

106


2. Hardwarea da. Aurrerago, liburuan zehar, kableatze modu hori ikusiko duzue. Ezaugarri horiek komunak dira pin guztientzat, baina, horietaz aparte, pin batzuek ezaugarri bereziak dituzte, eta ondoren zerrendatzen dizkizuet: Serial: 0(RX) eta 1(TX). TTL serie-datuak hartzeko (RX) nahiz bidaltzeko (TX) erabil daitezke pin hauek, Arduinoa edozein serie-dispositiborekin komunikatu nahi denean. Kanpo-interrupzioak: 2 eta 3. Pin hauek, trigger pultsu batez, interrupzio bat programatzeko konfigura daitezke. PWM: 3, 5, 6, 9, 10 eta 11. Pin hauek 8 biteko PWM irteera analogiko bat programatzeko aukera ematen digute, analogWrite() funtzioa erabiliz. OHARRA: PWM (pulse-width modulation) PWMren funtzioa seinale periodiko baten pultsuen zabalera modulatzea da, hau da, seinale horren lan-zikloa aldatzea. Oso baliagarria da, adibidez, DC motore baten abiadura-kontrola egiteko. Seinale periodiko baten lan-zikloa edo Duty Cycle-a seinale horren parte positiboak periodo osoarekiko duen zabaleraerlazioa da. analogWrite() funtzioak, 8 bit izaki, 0 eta 255 bitarteko zenbakiak onartzen ditu sarrera- aldagai gisa. Arduinoak guk analogWrite() aginduan emaniko zenbakiaren proportzionala den 5V- eko seinale karratu bat emango digu. Hurrengo taulan aurki dezakezue analogWrite() funtzioaren aldagaia eta irteerako tentsioaren batez bestekoaren arteko erlazioa. analogWrite(pin, 0) -> Duty Cycle 0 (Bat ere ez) -> 0 V (Irteerako batez bestekoa) analogWrite(pin, 64) -> DutyCycle 0,25 (Laurdena) -> 1,25 V (Irteerako batez bestekoa) analogWrite(pin, 128)-> Duty Cycle 0,5 (Erdia) -> 2,5 V (Irteerako batez bestekoa) analogWrite(pin, 256)-> Duty Cycle 1 (Osoa) -> 5 V (Irteerako batez bestekoa)

107


2. Hardwarea Hona hemen adibide bat, seinale karratu batentzat:

Duty Cycle=Ton/

Tof f

Toff

x 100

-> 0 V (Irteerako batez bestekoa)

To n Tof f Ton

Ton

-> 1,25 V (Irteerako batez bestekoa)

Toff -> 2,.5 V (Irteerako batez bestekoa)

Ton

Toff

-> 3,75 V (Irteerako batez bestekoa) -> 5 V (Irteerako batez bestekoa)

Ton

LED: 13. pina. Plakan bertan txertaturiko led bat 13. pin digitalera konektaturik dago. Pin horren balioa altua (HIGH) denean, led-a piztuta ikusiko dugu, eta balioa baxua (LOW) denean, aldiz, itzalita. Aurrerago ikusiko dugun bezala, oso erabilgarria egingo zaigu, Arduinoa ongi konektaturik dagoen jakiteko. 2. Sarrera analogikoak Arduinoak 6 sarrera analogiko ditu, A0 eta A5 artean izendatuak, eta bakoitzak 10 biteko bereizmena ematen digu. A0-A5 pinetan sartzen dugun balio analogikoa balio digital bihurtzen dute. Normalki, sarrerako tentsio maximoa 5 V-era erreferentziatua dute, eta horretan oinarrituta egiten dute digitalerako barne-konbertsioa, analogRead() komandoa erabiliz.

108


2. Hardwarea 5V

->

1023

3,75 V -> 918 2,5 V -> 612 1,25 V -> 306 0V

->

0

10 biteko bereizmenak 1024 digituko irakurketa ahalbideratzen dio sarrera analogiko bakoitzari. analogRead() komandoak, automatikoki, sartzen zaion tentsio-maila bakoitzari 0 tik 1023ra bitartean dagoen balio bat bueltatuko dio, eta zenbaki hori erabiliko dugu programatzaileok sarreran dagoen tentsioa interpretatzeko.

109


2. Hardwarea Esate baterako, analogRead(3) komandoak hirugarren pina irakurri ondoren, 611 balioa bueltatzen baldin badigu, badakigu 2,5 V dauzkagula lehenengo pinean. OHARRA. Sarrera analogikoaren erreferentziako tentsio maximoa 5 V da normalean, baina, zenbait kasutan, tentsio-maila desberdina emango diguten sentsoreak konektatuko ditugu, eta erreferentziako tentsio maximoa txikiagoa izango da.. Kasu horietan, etaAREF pina eta analogReference () funtzioa erabiliz, aldatu egin daiteke balio-maila hori. 3. Beste konexio-pinak AREF: Sarrera analogikoetarako erreferentzia-tentsioa konektatzeko pina, erreferentzia 5 V EZ den guztietan.

Reset: Pin hau LOW baliora eraman behar da mikrokontrolagailua erreseteatzeko. Normalki, berez duen Reset botoia tapatzen duen Shield-en bat konektatzen baldin badiogu soilik erabiltzen da..

110


2. Hardwarea OHARRA: Atmega328-aren pinen mappeoa begiratzea ondo etorriko litzaioke bere Arduinoa muntatu nahi duenari edota emanikoari zuku gehixeago atera nahi dionari.

6. Komunikazioa ATmega328-ak UART TTL (5 V) komunikazioa ahalbidetzen du bere 0 (RX) eta 1 (TX) pinetan, baina Arduinoak integratua duen ATmega16U2 txipak seriekomunikazio hori USB komunikazio gisa bideratzen du, eta Arduinoa COM portu estandarrera konektatzea ahalbideratzen. Hau da funtsean Arduinoaren eta beste mikrokontrolagailuen arteko desberdintasun nabarmenena: Arduinoa edozein ordenagailutako USB portutik programatu daitekeela. Birtute horretan sakonduz, Arduino softwareak serie-monitore bat dakar integraturik, eta, bertan, denbora errealean,Arduinoarekin komunikazioa bidera daiteke, hala nola Arduinoaren sarrera-irteeren balioa PCan ikusi edota PCtikArduinora informazioa edo aginduak bidali. OHARRA: Arduinoak USB portua babesteko fusible bat dauka plakan integraturik.500mA-tik gorako kontsumoa duenean, eta USB portua babeste aldera,Arduinoa deskonektatu egingo da PCtik.

111


3. Softwarea 3.

KAPITULUA: SOFTWAREA

1. Softwarea instalatu Arduino programazio-inguruneak (IDE) erraza egiten du kodea idaztea eta, ondoren, I/O plakara bidaltzea. Windows, Mac OS X eta Linux-pean egiten du lan. Java lenguaian garatua dago, eta Proccessing software irekian oinarritua. Saretik jaitsi daiteke, beti bezala eskuragarri www.arduino.cc webgunean.. Uneko azken bertsioa erabiliz egin dut ondorengo instalazioa.. Jarraian, azalduko dut Arduino programa nola instalatu, ondoren zuen Arduino plaka nola konektatu eta lehen programa nola jarri funtzionamenduan. Gida hau Arduino Uno-a Windows XP-pean instalatzeko dago prestatua. Barianteak asko izan daitezke sistema eragileetan; hala, bada, instalatzeko garaian beste sistema-eragile baten aurrean aurkitzen bazarete, informazioa hurrengo esteketan duzue: Linux-en instalatu -> http://www.arduino.cc/playground/Learning/Linux Mac OS Xen instalatu -> http://arduino.cc/en/Guide/MacOSX Windows-en instalatu

-> http://arduino.cc/en/Guide/Windows

a) LortuArduino plaka bat eta USB kablea (begiratu konektoreak!)

b) Jaitsi Arduino softwarearen azken bertsioa, eta instalatu. Softwarea jaitsi ostean, deskonprimatu artxiboa.

112


3. Softwarea Ondoren, eraman Arduinox.x karpeta osoa C:/Archivos de programa/ karpetara. Azkenik, eginArduino exekutagarriari lasterbide bat mahaigainean.

d) Konektatu Arduino plaka, eta instalatu Driverrak. Arduino plakaren funtzionamendua egokia izan dadin, Driverrak instalatu beharra dago. Ondoren, irudi bidez, Driver horiek instalatzeko pausoak listatuko ditut.

d) Ireki Arduino IDEa, eta kargatu Blink programa. Arduinoa USB portura konektatzean, hardware berriaren morroia abiatuko zaigu. Driverrak eskuz instalatuko ditugunez, esan “ez� windows updatera konektatzeari. Aukeratu, ondoren, instalazioa kokaleku jakin batetik egitea.

113


3. Softwarea Arakatu Arduinoa instalatu dugun karpeta, eta aurkitu haren barruan Drivers karpeta. Kontuan izan EZ dudala FTDI USB Drivers karpeta aukeratu. Hori bertsio zaharragoentzat erabiltzen da.

“Ezikusiarena egin� zertifikatua eskatzen duen leihoari, eta instalatu Driverrak.

114


3. Softwarea Azkenik, kontuan izan Arduino softwareak ez duela COM portua automatikoki aurkitzen eta, beraz, eskuz sartu behar diogula Arduinoa konektaturik dagoen portuaren zenbakia. Bestela, komunikazio-errore oso ohiko bat emango digu.

Arduinoa zein COM portutan dagoen konektaturik jakiteko, aurkitu gailu- kudeatzaile menuan COM/LPT portuen lista, eta begiratu zein den gure Arduinoaren portua.

115


3. Softwarea Behin jakinda gure Arduinoari COM4 portua egokitu zaiola, joan Arduino IDEra,

eta aukeratu portu hori Tools / Serial Port sailean. Orain, ongi konpilaturiko edozein programa karga genezake Arduinoan. Nik BLINK (dir-dir) programa kargatzea aholkatzen dut. Aurrerago, sakonago azalduko dut programa hori. Programa Arduinora ondo kargatu den edo ez jakiteko, nahikoa da hurrengo pausoak jarraitzea. Plakako Led-ak dir-dir egin behar du 1000 milisegundoko maiztasunaz. Programan delay(100) konstantea 100era jaitsi, eta, kargatu ondoren, plakako Led- ak dir-dir egin behar du 100 milisegundoko maiztasunarekin. Azkarrago, alegia.

116


3. Softwarea

2. Arduino IDEa

Arduino IDEa (Integrated development environment) programaziosoftware bat da. Programazio-software gehienak bezala, argia izatea du helburu, eta bertan idatziko diren Arduinorako programek duten zailtasuna ez areagotzea. Hori horrela, nahiko azkar egingo dugu software hau erabiltzeko gida labur bat. 1.

Erreminta-barra

Verify/Compile Idatziriko kodea aztertzen du, akats bila. Konpilatzaileak erroreren bat aurkitzen badu, ezin izango da kodea Arduinora igo. 117


3. Softwarea Upload to I/O Board Idatziriko kodea Arduino plakara igotzen du. Gogoratu igo aurretik gordetzea. OHARRA: Arduinora programak igotzea erraza bada ere, behin Arduinoan dagoen programa ordenagailura jaistea EZINEZKOA da. Horrek kargatzen ditugun programa guztiak aurrez gordetzea zein garrantzitsua den erakutsi beharko liguke. Ez esan, berriz ere, abixatu ez nuenik! Ne w Errutina edo programa berri bat kargatzen du. Sketchbook (programa lista) bistaratzen du, han dagoen adibideren bat kargatu nahi izanez gero.

Sav e Uneko programa gordetzen du.

Serial Monitor Arduino plakatik USB bitartez ordenagailura bidaliriko datuak bistaratzen ditu. Aldiz, ordenagailutik Arduinora datuak bidali nahi izanez gero, testua idatzi, eta SEND botoia sakatu behar da.

2.

Menuak

Import Library. Idazten ari garen programari liburutegi bat gehitzeko erabiltzen dugun komandoa da. Programa-errutinari funtzionalitate berriak ematen dizkio, baina, aldi berean, haren tamaina handiagotzen du. Liburutegia inportatu ondoren, kodearen hasieran 118


3. Softwarea #include gehitu behar da. OHARRA: Liburutegi-kode bat programa nagusiago bat garatzeko erabiliko den azpiprograma talde bat da. Liburutegiek programaren atal edo egiteko berezi baten kodea eta datuak gordetzen dituzte. Horrek programa nagusitik liburutegiek duten kodeari deiak egitea ahalmentzen du, programa nagusian guztia programatzen ibiltzen jardun beharrean. Adibide nabarmena dira aparailu desberdinekin komunikatzeko sortzen diren kode- liburutegiak. Demagun GPS berezi batekin komunikatzeko protokoloa nahiz kodea liburutegi batean gordeta dugula. Norbaitek GPS horrekin komunikazio-errutina bat osatu nahi badu, ez dauka kode guztia idazten hasi beharrik. Nahikoa luke liburutegia inportatu eta

119


3. Softwarea haren funtzioak erabiltzearekin. http://www.ladyada.net/library/arduino/libraries.html

Show Sketch Folder. Programa edo errutina direktorioa bistaratzen du. Hor gordetzen dira guk aurrez eginak ditugun programa guztiak. Add File. Gure programa nagusiari errutina bat gehitzen dio. Horrek proiektuei artxiboak gehitzea ahalbideratzen du. Errutina berria fitxa berri batean irekitzen da. Hurrengo adibidean, lau artxiboko programa nagusi bat duzue.

120


3. Softwarea

121


3. Softwarea Auto Format. Honek gure kodea formateatzen du.

OHARRA: Zer da kodea formatu onean mantentzea? Beharrezko oharrak jartzea, edo gehiegi ez jartzea, eta funtzio edo atal desberdinak egoki tartekaturik edukitzea da. Denboran atzera egindako kodea edo beste norbaitek eginikoa egoki formateaturik ez izateak burukomin handiak sor liezazkiguke, eta sortzen dizkigu sarritan. Kodea formatu onean edukitzea azpiko arropa egokia izatea bezalakoa da; ez da ezinbestekoa, ezinbestekoa bihurtzen den arte.

Archive Sketch. Kodea gorde, karpetaratu eta konprimatu egiten du; eta edozein foro, blog edo tutorialetan zintzilikatzeko modu egokian paketatzen du.

Board. Erabiltzen ari garen Arduinoa aukeratu behar da lista honetan. Arduino softwareak ez du berak bakarrik ezagutzen plaka; hortaz, plaka desberdin bat konektatzen dugun bakoitzean, kontu izan behar da egokia aukeratzeko. Bestela, ez da komunikaziorik izango .

122


3. Softwarea

123


3. Softwarea Serial Port. Gure ordenagailuak dituen serie-konexioko Arduino guztiak bistaratzen ditu.Tools menua luzatzen dugun bakoitzean, bere kasa aktualizatzen da. Windows-en COM1 edo COM2 balioa hartzen du serie-konexioa duten gailuentzat, eta COM4, COM5, COM6 edo handiagoa USB konexioa duten gailuentzat. Kontuan izan programa kargatzeko garaian portu egokia aukeratu behar dela; horretarako, gailu-kudeatzailea erabili.

Programmer. Gure Arduino plakaren bootloaderra grabatu nahi dugun kasuan bakarrik erabiliko dugu aukera-lista hau. Kasu oso aurreratua izaki, kontzeptu batzuk gainetik aipatuko ditut, eta kasu praktiko batera mugatuko dut azalpena.

Gehiagorako, kontsultatu; http://www.ladyada.net/learn/avr/programmers.h tml Arduino mihiztatuak erabiltzen ari zaretenok ez duzue tarte honen beharrik. 124


3. Softwarea Mikro batekin komunikatu nahi dutenek beharrezko dute “programmer� bat. Beraz, oso garratntzitsua izango da mikroak eta Arduinoak izango duten konexio mota (Serie TTL, USB, portu pareloa, etab.). Programmer mordoa daude aukeran, baina nagusienen ezaugarriak aztertuko ditut. ISP (In sistem Programming) → Programazio mota honekin txipa zirkuitutik atera gabe programa daiteke. Sistema honetan oinarritzen dira Arduinoa programatzaile gisa erabiltzeko aukera guztiak; bai AVRa, bai USBtiny-a ere. Horiek komunikazio-protokoloan eta -bidean bakarrik desberdintzen dira; batean TTL seriea, eta bestean USB. Guk hau guztia ez dugu sumatuko; izan ere, plakak berak du USB-SerieTTL bihurgailu bat, eta, beraz, ez dugu Arduinoa programatzean programmer funtziorik erabiliko. Baina bada kasu bat, nahiko orokorra gainera, Arduinoa Txip programatzaile gisa erabiliko duguna. Hori Arduino berriak geuk egiterakoan da. Baldin eta Arduinoa geronek mihiztatu nahi badugu, bi aukera ditugu Atmega 168-a, adibidez, erosteko garaian: bootloaderra dakarrena erosi edo bootloader gabekoa erosi. OHARRA: Bootloaderra abio-gestore bat da, programa nagusia martxan jarri dadin baimentzen duena, eta guztiz aparte programatu eta grabatzen da. Gehienetan babes-neurriak izaten ditu, aparailuaren martxa desegokiak edo aldaketak ekiditeko.

125


3. Softwarea Baldin eta bootloader gabeko Atmega 168 txipa erosten badugu (kasurik orokorrena eta merkeena), abio-gestorea grabatu beharko diogu lehenengo, eta, horretarako, gure Arduino Uno-a erabil dezakegu. Arduino Uno-a erabili beharrean beste programatzaileren erabili nahi badugu, egoki aukeratu behar dugu.

bat

Arduinoa, gure kasuan, programatzaile gisa erabilita, gai izango gara guk sortu nahi dugun Arduino berriaren txipari bootloaderra grabatzeko.

Burn bootloader. Aurreko kasuari jarraiki, guk mihiztatu beharreko arduinoaren txipari (Atmega 168 da orokorrena) bootloaderra grabatzeko agindua ematen dion komandoa da. Gogoratu kasu honetan board atalean plaka egokia aukeratu behar duzuela. Arduino Uno-a kasu honetan programatzaile gisa ariko da lan egiten, eta helburuko plaka Atmega 168-a izango da (Diecimila) gure kasuan.

126


4. Programazioa

4. KAPITULUA: PROGRAMAZIOA Arduinoaren programazioa ez da C lengoaiatik asko desberdintzen. Hortaz, lengoaia honetara ohituta zaudetenoi 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 lengoaian oinarriturikoa 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 loop(). Adibidea

1.

setup()

Programan exekutatzen den lehen funtzioa da, eta BEHIN bakarrik exekutatzen da. Hurrengo lanak hartu behar dira funtzio honetan. Programan erabiliko diren aldagaiak deklaratu. pinMode()-a sarrera

erabiliz,

irteera(OUTPUT).

pinei

beren

egitekoa

finkatu: edo (INPUT) edo

Serie-komunikazioak abiatu. Serial.begin(abiadura baudio/s) Adibidea: Programa honek serie-komunikazioaren abiadura 9600 baudio/s-ra mugatzen du, eta 13. pina irteera-pina izango dela adierazten du.

127


4. Programazioa OHARRA: Serie-komunikazioak abiatzeko garaian (Arduinoaren datuak ordenagailura pasatzeko ezinbestekoa), 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 9600 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. Funtzio honen kodea behin eta berriz exekutatzen da, bukaerarik gabe. Funtzio 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()

Deia egindakoan (void) exekutatzen diren kodeak dira. Programan errepikatzen den kodea ez erabiltzeko sortzen dira. Funtzio 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. 128


4. Programazioa Adibidea

4.

Giltzak {}

Giltzek funtzio-blokearen hasiera eta bukaera markatzen digute. Giltza guztiek bikotean etorri behar dute; irekierako giltza guztiek, beraz, itxierako bat behar dute eduki. Arduino IDEak badu giltza-balantzea txekeatzeko modu berezi bat ere. Aukeratu irekierako giltza bat, eta softwareak berak argituko du non duen itxierakoa. Adibidea

5.

Puntu eta koma ; .

Deklarazio bakoitzaren ondoren jarri beharreko sintaxia da.. Programaren elementuak banatzeko erabiltzen da. Puntu eta koma bat ahazteak konpilazioakatsa emango dizu, eta ezingo duzu programa Arduinora igo. Ohartu iruzkinen ondoren ez dagoela (;) puntu eta koma jarri beharrik. Adibidea

129


4. Programazioa 6.

Iruzkinak //

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. Etorkizunerako, memoria gisa oso baliagarriak suertatzen dira. Zenbait 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. Iruzkinak beharrezko ikusten ditugun aginduetan bakarrik jarriko ditugu; programaren helburuaz ezer ez dakien baina kodea uler dezakeenak laguntzarako izango lituzkeen tokietan bakarrik. Iruzkin gehiegik iruzkinen balioa ezerezean uzten dute. Zentzuak, praktikak eta beste iruzkinak irakurtzeak erakusten dute, azkenean, nola egokitu iruzkinak programari. Adibidea

2.Aldagaiak Aurrerago programak erabiliko duen balio numeriko bat gordetzeko forma bat da aldagaia. Izenak 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. Deklarazio hori programa guztian zehar behin bakarrik egin behar da, eta aldagaiaren balio-aldaketa, aldiz, programan nahi adina aldiz gerta daiteke.

130


4. Programazioa 1.

Aldagaien erabilera-eremua

Aldagaiak, non deklaratzen diren, bi motatakoak izan daitezke, globalak edo lokalak. Aldagaia deklaratzeko garaian, kontuan izan non erabiliko duzuen, eta, horren arabera, era globalean edo era lokalean deklaratu. Dudak baldin badituzue, emaiozue pasaporte anitza; egin aldagai globala, eta arazo gutxiago izango duzue. 1.Aldagai globalak Programa bateko edozein tokitan kontsultatu nahiz erabil daitezkeen aldagaiak dira aldagai globalak. Programaren hasieran deklaratzen dira, setup() funtzioaren aurretik.

131


4. Programazioa Adibidea

2.Aldagai lokala Aldagai lokalak funtzio baten barruan edo for lazo baten barruan deklaratzen diren aldagaiak dira.. Deklaratu 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.

Aldagai motak 1. char

132


4. Programazioa Karaktere bat gordetzen du bere barnean. Karaktere hori ASCII kodeko karaktere bat izango da (Adibidez: a, b,c, H, &, Ă‘, ....). Oso egokia da hitzak gordetzeko.

Aldagaiaren ASCII karakterea bi eratara gorde daiteke: karaktere bera emanez kakotx artean edota karaktereari dagokion balio dezimala emanez.

char aldagaiak erabiltzerakoan, oso baliagarria izango zaizueASCII taula:

133


4. Programazioa 2. byte Komarik gabeko eta 8 biteko balio numeriko bat gordetzen du. Beraz, 0 tik 255 arteko zenbakia behar du izan, ez handiagoa ez txikiagoa. byte angelua = 180; // angelua aldagaia byte motakoa dela deklaratzen du 3. int -OSOAKomarik gabeko 16 biteko (2 byte) balio numeriko bat gordetzen dute, zenbaki

134


4. Programazioa OSOA deiturikoa. Beraz, -32768 tik 32767 arteko zenbakia behar du izan, ez handiagoa ez txikiagoa.

dela deklaratzen du

int luzera = 1550; // luzera aldagaia int motakoa

OHARRA: Zenbaki osoek ez dute komarik. Sentsoreen irakurketak (int) batean gordetzean koma galtzea ekarriko du. Demagun tenperatura-sentsore batek 3,8 V-eko balioa ematen digula. Balio hori int = tenperatura; aldagaian sartzen baldin badugu, automatikoki 3 bihurtuko dela jakin behar dugu. Oso aldagai erabiliak dira, memorian espazio gutxi erabiltzen dutelako, eta beren arteko eragiketak oso azkar egiten direlako.Aldiz, sentsibilitate handiagoa behar dugun kasuetan, float aldagaiak erabiltzen ikasi beharko dugu. 4. long Komarik gabeko 32 biteko (4 byte) balio numeriko bat gordetzen dute. Beraz , -2 146 483 648 tik 2 147 483 647 arteko zenbakia behar du izan, ez handiagoa ez txikiagoa. long segundoak = 900050; // segundoak aldagaia long motakoa da 5. float Komadun zenbakiak gordetzeko erabiliko dira aldagai hauek. Koma flotante gisa deklaratzen ditu, eta programak beharrezko prozesua emango die eragiketak egiteko garaian. 32 biteko (4 byte) balio moduan gordetzen dira. Beraz, 3.4028235 E-38 tik 3.4028235 E38 arteko zenbakia behar du izan, ez handiagoa ez txikiagoa. float tenp = 18.14; // tenp aldagaia float motakoa dela deklaratzen du Adibidea

135


4. Programazioa

6. array arrayak zenbaki-zerrenda bat dira.Arrayaren barneko zenbakiak byte, int, long edo float motakoak izan daitezke. Zenbaki-lista bat izatean, oso garrantzitsua da bai zein balio sartu dugun zenbaki bakoitzean, baita zenbaki horrek zerrendan duen posizioa ere. arraya deklaratzeko garaian, zein zenbaki motaz osatua dagoen esango dugu, eta zenbat zenbakiz osaturik dagoen, ondoren. Kontuan izan – eta honek nahaste askotara bideratzen gaitu – 0 posizioa lehenengo posizioa dela.Alegia, num[4] array batek 5 zenbaki izango ditu bere barnean, 0-12-3-4 posizioetan.

int num[4] = {0, 0, 0, 5, 0} // num aldagaia 5 posizioko array gisa deklaratzen du, eta balioak eman. arrayari balioak emateko nahiz bertako balioak lortzeko, nahitaezkoa da zein posizioz ari garen esango digun indizea adieraztea.

num[2] =10; // num arrayaren 3. posizioan 10 zenbakia sartzen du. Honela geratuko zaigu, beraz, gure arraya.

136


4. Programazioa

arrayetik balioak irakurtzeko garaian ere, indizea erabiliko dugu. x = num[3];

// x aldagaiaren

balioa 5 izango da orain( x=5 ). 3.

Konstanteak

Arduino programak aurrez definituriko zenbait konstante ditu. Programak irakurterrazagoak egiteko erabiltzen dira. 1. TRUE/FALSE Egoera logikoak adierazten dituzten konstante BOOL-earrak dira. FALSE - 0 - gisa definitzen da, eta TRUE - 1- gisa.. Adibidea

2. HIGH/LOW Konstante hauek pinen egoera altua edo baxua adierazten digute. HIGH egoera altu gisa definitua dago, eta LOW egoera baxu gisa. Bakoitzak tentsio elektriko bat dauka berari lotua. Oso erabiliak dira programazioan. HIGH-> ON (5V) -> 3V – 5V artean LOW-> OFF (0V) -> 0V - 1,5V artean Kontuan izan sarrera digital baten irakurketa egiten ari garenean arduinoak HIGH moduan hartzen dituela 3V-etik gorako tentsioak, eta LOW gisa 1,5V-etik beherakoak. Tartean geratzen diren tentsioak (1,5V-3V) ezezagun moduan hartzen 137


4. Programazioa ditu, eta ez ditu ulertzen balio logiko gisa. Erantzuna edozein izan daiteke kasu horietan. Adibidea

3. INPUT/OUTPUT pinMode() funtzioak erabiltzen dituen konstanteak dira, pin digitalek SARRERA edo IRTEERAgisa lan egingo duten definitzeko. Adibidea

4.Eragiketak Arduinoa programatzeko garaian, hurrengo eragiketa aritmetikoak erabiltzen dira.

138


Kontuan izan eragiketaren erantzuna oso baldintzatua dagoela eragiketan erabiltzen diren eragile motekin. OHARRA: Eragiketaren emaitza erabiltzen diren eragileen mota berekoa izango da. Demagun 9/4 eragiketa egiten dela. Erantzuna 2 izango da, eragileak 9 eta 4 zirelako (OSOAK) eta erantzuna ere OSOA izango delako , (2), eta ez float (2.25). Eragileak zenbaki mota desberdinetakoak baldin badira, erantzuna zenbaki kota luzeenekoa izango da. Demagun 9/2.4 eragiketa dugula. Erantzuna float modukoa izango da, hots, (3.75), bietatik luzeena (4 byte). bat. Aldagai baten izatea aldatzeko, cast operazioa erabiliko dugu. Hona hemen float bat int bihurtzeko era erraz Adibidea

1.

Konposizio-eragiketak

Oso erabiliak dira for() {} lazoetan, kontrol-aldagaiaren aldaketa progresiboa egiteko.


Arduino

DBH 4. maila

2.

Konparaketa-eragiketak

Oso erabiliak dira if() {} deklarazioetan, kondizio jakin bat egiazkoa ala gezurrezkoa den jakiteko.

3.

Eragiketa logikoak

ETA(&&), EDO( | | ) eta NOT( ! ) eragiketa logikoak dira. Konparaketa taldeetan erabiltzen dira gehienetan, bi kondizio batera, biak bakanean, edo bietatik bat ere betetzen ez den ziurtatzeko.

4.

Matematikoak

Eragiketa matematiko ohikoenak ditugu, lehenengo.

I単aki Zarauz Leoz

141


Arduino

DBH 4. maila

Balio-tartea aldatzeko eragiketak, ondoren; oso erabiliak SENTSOREEN irakurketak egitean. Lehenengo, mappeo-a ikusiko dugu, balio-tartea aldatzeko oso eragiketa erabilia.

Ondoren, estutzea, constrain() ikusiko dugu, balio-tarte jakin batetik kanpora irteten diren balioak mespretxatzeko oso erabilia.

OHARRA: Sentsore bat irakurtzen dugun unean, Arduinoak bere barnean duen konbertsore analogiko- digitalak 10biteko balio-tartean dagoen balio bat ematen dio, alegia, 0tik 1023 arteko zenbaki bat. Horrek 5mV-eko sentsibilitatea ematen dio irakurketari, baldin 5V-eko erreferentziarekin lanean ari bagara. Hori da kasurik ohikoena.

I単aki Zarauz Leoz

142


Arduino

DBH 4. maila

Ondoren, zenbaki hori tratatu eta irteera analogiko batera eraman nahi baldin badugu, oso presente izan behar dugu irteera analogikoek duten balio-tartea 8 bitekoa dela, alegia, 0tik 255 arteko zenbakiak bakarrik onartzen dituztela. Beraz, bi balio-tarteen arteko konbertsio bat egitea ezinbestekoa da; bestela, okerreko irakurketa-idazketa bat egiten ariko gara!! Badira eragile batzuk konbertsio hau egiteko, eta aurrerago aztertuko ditugu; baina bada oso erabilia den konbertsio azkar bat ere. Bi balio-tarteen maximoak 1024 eta 256 direla jakinda, nahikoa da balio-tarte altuko irakurketa guztiak /4 egitea, eta listo izango dugu 10 bitean egin dugun irakurketaren 8 biteko proportzionala.

5.

Zenbaki aleatorioak

Zenbait aplikaziotan beharrezko izango ditugu zenbaki aleatorioak. Demagun loteria-makina bat diseinatu nahi dugula, edota kolore aleatorioz piztuko den Led argi bat. Kasu horietan, programaz sortu behar ditugu zenbaki aleatorioak, eta, ondoren, irteeretara transmititu. Arduinoak ez du zenbaki aleatorioak sortzeko erreminta propiorik, baina haren bi funtzio jakin erabil ditzakegu zarata elektrikoa neurtzeko, eta horiek emango digute zenbaki aleatorioa (random) sortzeko hazia (seed). analogRead() funtzioa da horretarako gehien erabiliko duguna. Konektatu GABEKO edozein sarrera analogiko hartuko dugu, eta bertan dagoen zarata elektrikoa erabiliko dugu zenbaki aleatorioak sortzeko. Hori bezalaxe, milis() funtzioa ere erabil genezake, eta zenbaki aleatorioen sekuentzia errepikatua nahi dugunean, baita konstante bat ere.

I単aki Zarauz Leoz

143


Arduino

DBH 4. maila

Bi funtzio erabili behar dira hori aurrera eramateko: lehenengo, randomSeed() funtzioa, hazi aleatorioa sortzeko; ondoren, random() funtzioa, zenbaki aleatorioa sortzeko. 1. randomSeed() randomSeed(analogRead(1)); //Zenbaki aleatorioa sortuko du 1. sarrera analogikoko zaratarekin. //Parametro gisa hazia sartu behar zaio; analogRead(), edo milis() //edo konstante bat. 2. random() random(100,200); //Parametro gisa zenbaki aleatorioa zein zenbaki tartetan nahi dugun //esan behar diogu; kasu honetan 100 eta 200 arteko zenbaki aleatorioa //bueltatuko digu. 6.

Denbora-funtzioak

Oso erabilia, lehenengoa behintzat, bi akzioren artean denbora-tarte bat itxarotea nahi dugunean. Ikus ditzagun, bada, delay() eta millis() funtzioak. 1. delay() Gure programa pausatuko du parametroan adierazten dizkiogun milisegundoetan zehar. delay(1000);

// 1sg itxarongo du

2. millis() Arduinoa programa exekutatzen hasi denetik zenbat milisegundo pasatu den adieraziko digu. Zenbaki hau gainezkatu egingo zaigu, 9 bat ordu pasa ondoren. value = millis(); // Sartu value aldagaira programa hasi denetik pasatu den denbora 7.

Fluxu-kontrola

I単aki Zarauz Leoz

144


Arduino

DBH 4. maila

1. if ( baldintza) { } .... else { } if sententziak pasa zaion baldintza egiazkoa den begiratzen du, eta, hala bada, giltza artean dauden aginduak betetzen ditu. Bestela, else-n kakotxen artean dagoena egiten du. else gabeko sententzia bada eta if-en baldintza ez baldin badu betetzen, ezer egin gabe programan aurrera egingo du hurrengo pausura arte. else sententzia guztiz hautazkoa da, beraz. if edo else baten barruan beste nahi adina if .. else sententzia jar genitzake. 2. for ( aldagaia hasieratzea, baldintza, aldagaiaren aldaketa ) { } for sententzia giltzen artean{ }gorderiko agindu talde bat zenbaitetan errepikatzeko erabiltzen da. Bira bakoitzean aldatuko den aldagai bat erabiltzen da gehienetan, harik eta baldintza bete eta lazoa geratzen duen arte.

Aldagai lokal baten edo gehiketa kontatzaile baten hasieratzea egiten da, lehenbizi, eta behin bakarrik, gainera.Aginduak betetzen ditu, eta lazoa amaitzen duen bakoitzean, baldintza betetzen ote den begiratzen du. Baldintza TRUE den bitartean, aginduak egiten ditu behin eta berriz, eta kontrol-aldagaia aldatzen du. Baldintza FALSE den kasuan, lazoa amaitu egingo da, eta sententziatik atera. Hurrengo adibideak plakan integraturiko led-a 20 aldiz piztuitzaltzea ekarriko du. Kasu egin nola hasieran i kontrol aldagaia =0 gisa hasieratu eta integer gisa deklaratzen duen. Ondoren, 20 baino txikiagoa den artean jarrai dezala esaten dio, eta buelta bakoitzean (

I単aki Zarauz Leoz

145


Arduino

DBH 4. maila

i++ ), i-ren balioari bat gehitu diezaiola. Ondorioz, giltzen artean duen guztia 20 aldiz errepikatuko du, eta, kasu honetan, 13. pina piztu eta itzali.

3. while ( baldintza ) { } while lazoa etengabe errepikatuko da, parentesi artean duen baldintza FALSE bihurtzen den arte. Zerbaitek lazo barruan kontrolaldagaia aldatu beharra dauka; bestela, while lazoa ez da inoiz amaituko, eta programa blokeatuta geratuko da.Aldaketa hori kodean egin daiteke, while bukaeran aldagaiari balioa igoz, adibidez, edota kanpoko egoera bati baldintzatua izan daiteke, sentsore baten irakurketa, esaterako. Hurrengo adibidean, 200 aldiz idatziko du gauza bera serie-monitorean. Lehenengo, baldintza gisa, i<200 den artean giltza artean dagoena egin dezala esaten zaio. Ikusi nola giltza arteko azken agindua kontrol aldagaiari bat gehitzea den. Adibidea

4. do......while ( baldintza ) { } do lazoa errepikatuko du, while baldintza betetzen den artean. while lazoaren oso antzekoa da. Desberdintasun bakarra dago. Kasu honetan, baldintza lazoaren amaieran begiratzen da.

I単aki Zarauz Leoz

146


Arduino

DBH 4. maila

Horrek esan nahi du nahiz eta baldintza FALSE izan lazoaren barruan dauden aginduak behin behintzat egin egingo direla. Hurrengo adibidean, sentsore baten irakurketa x aldagai batean gordetzen da; ondoren, berdina egiten jarrai dezala esaten zaio, irakurketa 100 baino txikiagoa den bitartean.

8.

I/O digitalak

Irteera-sarrera digitalen berezitasuna bi eratara lan egin ahal izatea da. Hori dela medio, lehengo zein lan egingo duten deklaratzea tokatuko zaigu. Ondoren, zerrendatuak daude sarrerairteera digitalak kudeatzeko erabilienak diren funtzioak 1. pinMode(pin,Modua) void setup () funtzioan deklaratzen dira sarrera-irteera moduan. Hor esango zaio pin berezi bati ea INPUT (sarrera) edo OUTPUT (irteera) gisa lan egingo duen. Adibidea

OHARRA: Arduinoaren pin digitalek INPUT gisa lan egiten dute, deklaratzen ez baldin badira. Pull Up erresistentziak ere badituzte integraturik, baina deskonektatuta daude, berez. Bada Pull Up erresistentziak softwarez konektatzeko modu bat ere. Normalki, 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 Up erresistentziak softwarez aktibatu)

IĂąaki Zarauz Leoz

147


Arduino

DBH 4. maila

2. digitalRead(pin) Pin bateko balioa irakurtzen du, HIGH edo LOW moduan. Gehienetan, aldagai baten barnean sartu ohi da irakurketa. Zein pinetako balioa irakurri nahi dugun esan behar diogu funtzioari, eta hori zenbaki bitartez edo aldagai bitartez esan diezaiokegu.

3. digitalWrite(pin) Pin jakin bati HIGH edo LOW balioa ematen dio. HIGH balioa emanez gero, pin horrek 5V izango ditu; LOW balioa emanez gero, berriz, 0V. Adibidea

9.

I/O analogikoak

Sarrera-irteera analogikoek, digitalek ez bezala, ez dute programaren hasieran zein egoeratan lan egingo duten deklaratu beharrik. Sarrera eta irteera analogikoak fisikoki pin desberdinak dira. 1. analogRead(pin) Pin analogiko bateko balioa irakurtzen du, eta 10 biteko konbertsore analogiko-digital baten bitartez 0-1023 arteko balio bat ematen dio irakurketari. Normalki, irakurketa aldagai batean gorde ohi da. Adibidea

I単aki Zarauz Leoz

148


Arduino

DBH 4. maila

2. analogWrite(pin,value) Balio seudo-analogiko bat idazten du esango diogun pinean. Balio hori PWM modulazioan oinarrituta idatziko du. Kontuan izan balioa 8 bitean emango diogula.Alegia, irakurketa analogiko baten balioa (10 bit) zuzenean irteera analogiko batean idatzi nahi dugun kasuetan, balio-tarte konbertsio bat egin beharko dugu. PWM irteera analogikoa onartzen duten irteerak hurrengoak dira Arduino Uno-an; 3, 5, 6, 9, 10 eta 11. Adibide honetan, 5. irteera analogikoan, 8biteko balio-tartetik (0 - 1023 arteko zenbakiak) erdikoa pasa diogu, alegia, 127. PWM pultsu-modulazioa erabiliz 5. irteeran 5V balio maximoaren erdia jarriko digu, 2,5V, alegia.

I単aki Zarauz Leoz

149


Arduino

I単aki Zarauz Leoz

DBH 4. maila

150


Arduino

DBH 4. maila

S4A: Scratch for Arduino

“S4A: Scratch for Arduino” Ikaslea: Ikasturtea: Data: Irakaslea: Iñaki Zarauz Leoz

Iñaki Zarauz Leoz

151


Arduino

DBH 4. maila

S4A: Scratch for Arduino 1. ariketa: SARRERA ANALOGIKOAREN IRAKURKETA “Diseinatu eta eraiki ezazu 0 eta 1. sarrera analogikoan konektaturiko sentsoreen balioak irakurtzen duen S4A programa. Sarrerako balioaren arabera, puntu gorria aurrera/atzera eta gora/behera higituko da.”

Iñaki Zarauz Leoz

152


Arduino

DBH 4. maila

S4A: Scratch for Arduino 2. ariketa: SARRERA ANALOGIKOAREN IRAKURKETA

“Diseinatu eta eraiki ezazu Orioko kaleetarik zehar higituko den ibilgailu bat gobernatuko duen S4A bideojokua. Ibilgailuaren biraketa angelua potentziometro batez aldatuko da”

Iñaki Zarauz Leoz

153


Arduino

DBH 4. maila

S4A: Scratch for Arduino

2. ariketa: PONG JOKUA SENTSOREEKIN

3. ariketa: Pong jokua “Diseinatu eta eraiki ezazu 2 eta 3. sarrera analogikoetan

konektaturiko sentsoreen balioen arabera gobernatzen den Pong jokua.” EBAZPENA:

OY ardatzaren eta A0 sentsorearen arteko erlazioa

Iñaki Zarauz Leoz

154


Arduino

DBH 4. maila

S4A: Scratch for Arduino 4. ariketa: Termometroa “Diseinatu eta eraiki ezazu 1. Sarrera analogikotik jasotako NTC termistentzia baten balioa erabiliz logela baten temperatura zein den adierazten duen bideojokua. Adierazle gisa semáforo bat erabili. Tenperaturaren semaforoa ondoko taulari jarraituz egokituko da. 0<A1<400: Semaforo berdea. 400<A1<800: Semaforo horia. 800<A1<1023. Semaforo gorria. Oharra. NTC termistentziaren balioa gutxitu egiten da temperatura igo ahala.”

Iñaki Zarauz Leoz

155


Arduino

DBH 4. maila

S4A: Scratch for Arduino 5. ariketa: Domotika

“Diseinatu eta eraiki ezazu etxeko logelaren aldagaiak kudeatuko dituen algoritmoa eta zirkuitua. Hauek dira kudeatu beharreko aldagaiak: a. Argiteria b. Berogailua. Bi adierazleek argiteri eta tenperatura balio bi finkatuko dituzte. Sentsoreen balioak hauen azpitik daudenean, bai argiteria eta baita berogailua ere piztuko ditu.�

IĂąaki Zarauz Leoz

156


Arduino

DBH 4. maila

S4A: Scratch for Arduino 6. ariketa: Termometroak eta temperatura eskalak “Diseinatu eta eraiki ezazu temperatura LM35 sentsorearen bitartez neurtuko duen algoritmoa eta programa. Ondoren, jasotako balioa temperatura eskala desberdinetan adierazi beharko da: a) Celsius eskala. Erreferentzia baliaok: (0 ºC, 100 ºC) b) Fahrenheit eskala. Erreferentzia baliak: (32 ºF, 212 ºF) c) Kelvin eskala. Erreferentzia baliak: (273 ºK, 283 ºK)” A4 sarrera analogikoan jasotzen da LM35 sentsorearen balioa A4: (0, 1023) LM35 eta Celsius eskalaren arteko erlazioa: Tenperatura (ºC) = 0.488 * A4 EBAZPENA:

Iñaki Zarauz Leoz

157


Arduino

DBH 4. maila

S4A: Scratch for Arduino 7. ariketa: Serbomotoreen kontrola “Diseinatu eta eraiki ezazu serbomotore baten mugimendua kontrolatuko duen programa, ondorengo baldintzak beteaz: a) A0 potentziometroaren arabera biratuko du serbomoteak. b) A0 eta serbomotorearen angelua lotzen dituen erlazioa.

α Biraketa angelua. α =(0º,180º)

A0 Potentziometroa A0=(0, 1023)

c) Serbomotoreen sarrera ataza MSE Arduino I/O oskolan: D3 edo D5. d) S4A programaren irteerak serbomotoreentzat: D8 eta D12

Iñaki Zarauz Leoz

158


Arduino

DBH 4. maila

ArduBlock

“ArduBlock”

Ikaslea: Gela: Ikasturtea: Data: Irakaslea: Iñaki Zarauz Leoz

Iñaki Zarauz Leoz

159


Arduino

DBH 4. maila

TEKNO 4. maila Txertatutako sistemak “ARDUBLOCK”

Iñaki Zarauz Leoz

160


Arduino

DBH 4. maila

AURKIBIDEA 1. ARIKETA: IRTEERA DIGITALAK 2. ARIKETA: AGINDU ERREPIKAKORRAK 3. ARIKETA: SEMAFOROA 4. ARIKETA: SARRERA ANALOGIKOAK 5. ARIKETA: SENTSOREAK. Potentziometroak eta termstentziak 6. ARIKETA: DOMOTIKA. Aldagaien kudeaketa 7. ARIKETA: SARRERA DIGITALAK 8. ARIKETA: KONTAGAILUAK 9. ARIKETA: IRTEERA PROGRESIBOAK 10. ARIKETA: FUNTZIO LOGIKOAK 11. ARIKETA: SERBOMOTOREENKONTROLA 12. ARIKETA: SERBOMOTOREEN KONTROLA POTENTZIOMETROAZ 13. ARIKETA: SERBOMOTORE JARRAIEN KONTROLA

I単aki Zarauz Leoz

161


Arduino

DBH 4. maila

1. ariketa: IRTEERA DIGITALA “Diseinatu eta eraiki ezazu 0,5 segunduro led bat piztu eta itzaliko duen sketcha.” 1) ZIRKUITUA

2) ARDUBLOCK ALGORITMOA

3) ARDUINO SKETCHA

Iñaki Zarauz Leoz

162


Arduino

DBH 4. maila

2. ariketa: AGINDU ERREPIKAKORRAK “Diseinatu eta eraiki ezazu 20 aldiz, led bat, segundero, piztu eta itziliko duen programa. Ondoren zirkuitua eraiki eta funtzionamendua konprobatu.” 1) ZIRKUITUA

2) ARDUBLOCK ALGORITMOA

3) ARDUINO SKETCHA

Iñaki Zarauz Leoz

163


Arduino

DBH 4. maila

3. ariketa: “SEMAFOROA” “Hiru led erabilita, diseinatu eta eraiki ezazu semaforo bat gobernatuko duen zirkuitua eta programa.” 1) ZIRKUITUA

2) ARDUBLOCK ALGORITMOA

Iñaki Zarauz Leoz

3) ARDUINO ALGORITMOA

164


Arduino

DBH 4. maila

4. ariketa: “SARRERA ANALOGIKOA. Potentziometroa sentrore gisa” “Diseinatu eta eraiki ezazu potentziometro baten aginduak jarraituz leda piztu ala itzaliko duen zirkuitua eta algoritmoa. Sarrera 250-eko balioa gainditzen duenean leda piztuko da eta azpitik dagoenean itzali egingo da.” 1) ZIRKUITUA

2) ARDUBLOCK ALGORITMOA

Iñaki Zarauz Leoz

3) ARDUINO ALGORITMOA

165


Arduino

DBH 4. maila

5. ariketa: “SENTSOREAK: Potentziometroak eta termistentziak” “Diseinatu eta eraiki ezazu bi sentsore analógico dituen zirkuitua: Potentziometroa eta termistentzia. Termistentziak potentziometroak baino balio handiagoa duenean leda piztu egingo da eta itzali egingo da kontrako egoeran ” 1) ZIRKUITUA

3) ARDUINO ALGORITMOA

2) ARDUBLOCK ALGORITMOA

Iñaki Zarauz Leoz

166


Arduino

DBH 4. maila

6. ariketa: “DOMOTIKA: Aldagaien kudeaketa” “Diseinatu eta eraiki etxe bateko 3 argi eta berogailu elektriko bat kontrolatuko dituen sistema. Kanpoko argitasunaren arabera eta tenpraturaren arabera piztu/itzaliko dira logelako hiru lanparak eta berogailu elektrikoa. Sarrerako seinale analogikoak:

Sarrerako seinale digitalak:

A1= s-tenp =Tenperatura sentsorea A2= s-argi= Argitasun sentsorea

PIN PIN PIN PIN PIN

13= 12= 11= 05= 04=

Lanpara 1 Lanpara 2 Lanpara 3 Bentiladorea Berogailu elektrikoa

Argitasunaren kontrolerako algoritmoa: i) s-argi (A2)< 100  Lanpara 1 piztuta (PIN 13=HIGH) ii) s-argi (A2)< 150  Lanpara 2 piztuta (PIN 12=HIGH) iii) s-argi (A2)< 200  Lanpara 3 piztuta (PIN 11=HIGH) Tenperatura kontrolerako algoritmoa: i) s-tenp (A1)< 100  Berogailua piztu (PIN 4=HIGH) Bentiladorea itzali (PIN 5=LOW) ii) s-argi (A1)>180  Berogailua itzali (PIN 4=LOW) Bentiladorea piztu (PIN 5=HIGH) 1) ZIRKUITUA

Iñaki Zarauz Leoz

167


Arduino

DBH 4. maila

2) ARDUBLOCK ALGORITMOA

I単aki Zarauz Leoz

168


Arduino

DBH 4. maila

3. ARDUINO SKETCHA

I単aki Zarauz Leoz

169


Arduino

DBH 4. maila

7. ariketa: “SARRERA DIGITALAK” “Diseinatu eta eraiki ezazu sakagailu batek agintzen duenean, argi bat, 2 segunduro, piztu eta itzaliko duena, efektua 17 aldiz errepikatuko delarik”. Sakagailua A0 sarreran konekatuko dugu. Irteera 13. irteeran konektatuko dugu” 1) ZIRKUITUA

2) ARDUBLOCK ALGORITMOA

Iñaki Zarauz Leoz

170


Arduino

DBH 4. maila

3) ARDUINO ALGORITMOA

I単aki Zarauz Leoz

171


Arduino

DBH 4. maila

8. ariketa: “SARRERAKO SEINALEEN KONTAGAILUA” “Diseinatu eta eraiki ezazu 2.sarreran (A2) jasotzen den seinalea zenbatuko duenzirkuitua eta algoritmoa. Kont izeneko aldagai bat definituiko dugu, kontagailu gisa jokatuko duena sarrerako pultsuak zenbatuz. Behin 10 zenbatuta, led bat piztuko da eta kontaketa berriz ere zerotik hasiko da ” Algoritmoak honako agindu logika jarraituko du: Sarrerako egoera jasoko da eta kont=10 baldintzarekin konparatuko da. Baldintza Egia bada, argia piztuko da, eta ez bada, kont aldagaia unitate batetan handiagotuko da (kont=kont+1) 1) ZIRKUITUA

2) ARDUBLOCK ALGORITMOA

Iñaki Zarauz Leoz

172


Arduino

DBH 4. maila

3) ARDUINO ALGORITMOA

I単aki Zarauz Leoz

173


Arduino

DBH 4. maila

9. ariketa: IRTEERA PROGRESIBOAK. Led bat progresiboko piztu/itzali. “Diseinatu eta eraiki ezazu PIN10 irteerara 0-tik 255-ra bitarteko balio analogikoak igorriko dituen programa.” Kont izeneko aldagai batek irteerako balioa handiagotzen edo txikiagotzen joango da, eta dagokion balioa, irteeran adieraziko du, balio desberdineko irteera seinaleak igorriz.

1) ZIRKUITUA

2) ARDUBLOCK ALGORITMOA

Iñaki Zarauz Leoz

174


Arduino

DBH 4. maila

3) ARDUINO ALGORITMOA

I単aki Zarauz Leoz

175


Arduino

DBH 4. maila

10.

ariketa: FUNTZIO LOGIKOAK. AND, OR, NAND eta NOR. “Diseinatu eta eraiki ezazu sarrerako bi agindu digitalen arabera, irteerako lau led piztu/itzaliko dituen zirkuitua eta programa, aginduak ondorengo funtzio digitalei jarraituz: Sarrera digitalak: D4 eta D7 Irteera digitalak: D11 (gorria); D10 (horia); D09 (berdea); D06 (zuria)” a) AND FUNTZIOA PIN D4 Sarrera 1 0 0 1 1 b) OR FUNTZIOA

PIN D7 Sarrera 2 0 1 0 1

PIN 11 AND 0 0 0 1

PIN D4 Sarrera 1 0 0 1 1

PIN D7 Sarrera 2 0 1 0 1

PIN 10 OR 0 1 1 1

PIN D12 Sarrera 2 0 1 0 1

PIN 09 NAND 1 1 1 0

PIN D12 Sarrera 2 0 1 0 1

PIN 06 NOR 1 0 0 0

c) NAND FUNTZIOA PIN D8 Sarrera 1 0 0 1 1 a) NOR FUNTZIOA PIN D8 Sarrera 1 0 0 1 1

Iñaki Zarauz Leoz

176


Arduino

DBH 4. maila

1) ZIRKUITUA

2) ARDUBLOCK ALGORITMOA

I単aki Zarauz Leoz

177


Arduino

DBH 4. maila

3) ARDUINO ALGORITMOA

I単aki Zarauz Leoz

178


Arduino

I単aki Zarauz Leoz

DBH 4. maila

179


Arduino

11.

DBH 4. maila

ariketa: SERBOMOTOREEN KONTROLA.

“Diseinatu eta eraiki ezazu lau sakagailuei eragiterakoan, serbomotore baten kokapena kontrolatuko duen zirkuitua eta programa. Motorearen kokapena, argi desberdinen erabilerarekin adieraziko da, ondorengo taulari jarraituz: Motorea 3. irteeran konektatuko da (D03)” Sakagailua D4 D7 D8 D12

Angelua 0º 45º 90º 180º

D11 D10 D09 D06

Argia (Gorria) (Horia) (Berdea) (zuria)

1) ZIRKUITUA

Iñaki Zarauz Leoz

180


Arduino

DBH 4. maila

2) ARDUBLOCK ALGORITMOA

I単aki Zarauz Leoz

181


Arduino

DBH 4. maila

3) ARDUINO SCRATCHA

I単aki Zarauz Leoz

182


Arduino

DBH 4. maila

12. ariketa: SERBOMOTOREEN KONTROLA POTENTZIOMETROAZ “Diseinatu eta eraiki ezazu serbomotore baten kokapena kontrolatuko duen ArduBlock algoritmoa eta zirkuitua. Serbomotorearen angelua potentziometro batez gobernatuko da, ondorengo taulari jarraituz: Potentziometroaren seinalea (0-1023)

Serbomotoaren angelua (0º-180º)

0

128

22,5º

256

45º

512

90º

768

135º

1023

180º

Formuala matematikoa: y=y0+m(x-xo) x= Potentziometroa (0-1023) y= Serbomotorea (0º-180º)

m

180  0.1759 1023

y  0.1759  A0

ARDUBLOCK ALGORITMOA

Iñaki Zarauz Leoz

183


Arduino

DBH 4. maila

13. ariketa: SERBOMOTORE JARRAIEN KONTROLA

“Diseinatu eta eraiki ezazu serbomotore jarrai baten higidura kontrolatuko duen ArduBlock programa. Serbomotorearen jarrai baten biraketa abiadura, adierazitako angeluaren balio kontrolatuz gobernatzen da, ondorengo balioei jarraituta:

Serbomotorearen abiadura

Abiadura

Balio analogikoa

Adierazitako angelua

Abiadura maximoa kontrako

V = -max

V=0

α = 0º

norantzan α = 85º

Abiadura geldoa kontrako norantzan Abiadura minimoa

V=0

V=127

α = 95º

Abiadura geldoa Abiadura maximoa

α = 90º

V = max

V=255

α = 180º

Biraketa abiadura sentsore baten baliorekin erlazionatu nahi bada, ondorengo erlazioa eraiki beharko da: ARDUBLOCK ALGORITMOA

Iñaki Zarauz Leoz

184


Arduino

DBH 4. maila

MYOPENLAB

“MyOpenLab”

Ikaslea: Gela: Ikasturtea: Data: Irakaslea: Iñaki Zarauz Leoz

Iñaki Zarauz Leoz

185


Arduino

DBH 4. maila

Egilea: I単aki Zarauz Leoz

I単aki Zarauz Leoz

186


Arduino

DBH 4. maila

AURKIBIDEA

III.

PROIEKTUA: Sarrera digitalak: AND

2. PROIEKTUA: Funtzio logikoak: AND, OR, NAND, NOR 3. PROIEKTUA: Hesia 4. PROIEKTUA: Konparaketa digitala 5. PROIEKTUA: Konparaketa analogikoak 6. PROIEKTUA: Konparaketa bikoitza 7. PROIEKTUA: Denboraren kontrola 8. PROIKETUA: Motoreen kontrola 9. PROIEKTUA: Garajeko atea 10. PROIEKTUA: Serie eta paraleloko zirkuituak 11. PROIEKTUA: Fluxu diagramak 12. PROIEKTUA: Bigarren mailako ekuazioak 13. PROIEKTUA: Jangelako argiteria. 14. PROIEKTUA: Zinta garaitzailea 15. PROIEKTUA: Termometroa (ªC ºK eta ºF) 16. PROIEKTUA: Fluxu diagramak. Semaforoa 17. PROIEKTUA: Fluxu diagramak. Aldagaien konparaketa 18. PROIEKTUA: Fluxu diagramak. Segundu kontagailua. 19. PROIEKTUA: Fluxu diagramak. Gasolindegia 20. PROIEKTUA: Fluxu diagramak. Igogailua

Iñaki Zarauz Leoz

187


Arduino

DBH 4. maila

1. PROIEKTUA: “Sarrera digitalak: AND” “Diseinatu ezazu sarrerako bi etengailu eta irteerako argi bat dituen makina birtuala, AND funtzioaz lana egingo dutelarik, ondorengo taulari jarraituz:” Sarrera Sarrera AND I1 I2 O1 0 0 0 0 1 0 1 0 0 1 1 1

SOLUZIOA

Iñaki Zarauz Leoz

188


Arduino

DBH 4. maila

2. PROIEKTUA: “Funtzio logikoak: AND, OR, NAND, NOR” “Diseinatu ezazu sarrerako bi etengilu eta irteerako lau argi dituen makina birtuala. Irteerak AND, OR, NAND eta NOR funtzioei erantzungo diete ondoko taulari jarraituz:”

Sarrera Sarrera AND I1 I2 O1 0 0 0 0 1 0 1 0 0 1 1 1

OR O2 0 1 1 1

NAND NOR O3 O4 1 1 1 0 1 0 0 0

SOLUZIOA

Iñaki Zarauz Leoz

189


Arduino

DBH 4. maila

3. PROIEKTUA: “Hesia” “Diseinatu ezazu sarre gisa bi etengilu izanik, hesi bat igo eta jeitsiko duen makina birtuala. III. A etengailuari sakatzean, hesia eskubiruntz jeitsiko da. IV. B etengailua sakatzean, heria ezkerreruntz jeitsiko da. V. Hesia mugimenduan dagoenean, argi gorri batez ere adierazi beharko da.”

SOLUZIOA

Iñaki Zarauz Leoz

190


Arduino

DBH 4. maila

4. PROIEKTUA: Konparaketa digitalak “ Diseinatu eta eraiki ezazu bi etengailuen konparaketa egingo duen makina birtuala (VM-a). D1 etengailua D2 etengailuarekin alderatzean, led bat piztuko da D1>D2 egoera gertatzean denean.” Ebazpena:

Iñaki Zarauz Leoz

191


Arduino

DBH 4. maila

5.PROIEKTUA: Konparaketa analogiakoak “Diseinatu eta eraiki ezazu A eta B etengailu analogikoak dituen VMa. A>B denean, irteerako leda piztu egingo da.” SOLUZIOA

Iñaki Zarauz Leoz

192


Arduino

DBH 4. maila

6. PROIEKTUA: “Konparaketa bikoiza: Magnitude boolearrak eta double motako magnitudeak” “Diseinatu eta eraiki ezazu bi magnitude konparatuko dituen makina birtuala. II. Bi magnitude boolear konparatu eta D1>D2 kasuan, led berde bat piztu. III. Bi magnitude oso konparatu eta D1>D2 kasuan, led gorri bat piztu

SOLUZIOA

Iñaki Zarauz Leoz

193


Arduino

DBH 4. maila

7. PROIEKTUA: Denboraren ordulari-egutegia “Diseinatu eta eraiki ezazu ordu, minutua eta segundua adierazten dituen ordularia eta eguna, hilabetea eta urtea adieraziko dituen egutegia”.

SOLUZIOA

Iñaki Zarauz Leoz

194


Arduino

DBH 4. maila

8. PROIEKTUA: Motoreen kontrola “ Diseinatu eta eraiki ezazu motore baten kontrola gauzatzen duen VMa. a. Lehen sakagailuak abian jarriko du motorea. b. Bigarren sakagailuak motorea gelditu egingo du. c. Hirugarren sakagailuak motorearen alarma abiaraziko du matxuraren berri emateko. d. Laugarren sakagailuak motorea berriabiaraziko du.”

SOLUZIOA

Iñaki Zarauz Leoz

195


Arduino

DBH 4. maila

9. PROIEKTUA: Garajeko atea “Diseintu eta eraiki ezazu garaje bateko atea ireki eta itxiko duen VMa. a. Sakagailu batek irekitze prozesua abian jarriko du. b. Bi ledek irekitze/ixte egoerak adierazkiko dituzte. c. Hirugarren ledak prozedua eteteko aukera emango du.”

SOLUZIOA

Iñaki Zarauz Leoz

196


Arduino

DBH 4. maila

10. PROIEKTUA: Serie eta araleloko zirkuituaK “Diseinatu eta eraiki ezazu pareleloan bi bonbila piztu eta itzaltzeko gai den zirkuitua. Etengailu batek zirkuitua ireki edo itxi egingo du.”

SOLUZIOA

Iñaki Zarauz Leoz

197


Arduino

DBH 4. maila

11. PROIEKTUA: Fluxu diagramak. “Diseinatu eta eraiki ezazu led bat piztu eta itzaliko duen makina birtuala. Leda, i aldagaiak 50ko balioa gainditzen duenean piztuko da eta itzalita mantenduko da i aldagaiak 50ko balioa gainditzen ez duenean.”

SOLUZIOA:

Iñaki Zarauz Leoz

198


Arduino

DBH 4. maila

12. PROIEKTUA: Bigarren mailakok ekuazioak “Diseinatu eta eraiki ezazu bigarren mailako ekuazioak askatzen dituen makina birtuala. i) Sarrera gisa a, b eta c koefizienteak jasoko ditu. ii) Irteera gisa X1 eta X2 erroak kalkulatuko ditu.”

SOLUZIOA:

Iñaki Zarauz Leoz

199


Arduino

DBH 4. maila

13. PROIEKTUA: Jangelako argiteria “Diseinatu eta eraiki ezazu jangelako argiteria eta sukaldeko ontzigarbigailua martxan jarriko dituen sistema domotikoa. a. Lehen etengailuak lehenengo argi piztu/itzaliko du. b. Bigarren eta hirugarren etengailuak paraleloan piztu/itzaliko dute bigarren argia. c. Hirugarren etengailuak labea piztuko jarriko du. d. Ordulariak uneko ordua adieraziko du.

SOLUZIOA:

IĂąaki Zarauz Leoz

200


Arduino

DBH 4. maila

14. PROIEKTUA: Zinta garaitzailea “ Diseinatu eta eraiki ezazu ezkerretik eskuinera poteak garraitatuko dituen makina birtuala. a) Makinak bi kontrol izango ditu: i) Zinta abian jarriko duen etengailu bat. ii) Zinta berriz ere abiaraziko duen etengailua. 9. Makinak lau adierazle izango ditu. 10. Zinta martxan dagoela adieraziko duen leda. 11. Zintaren hasiera, erdigunea eta amaiera adieraziko duten hiru led.

SOLUZIOA:

IĂąaki Zarauz Leoz

201


Arduino

DBH 4. maila

15. PROIEKTUA: Termometroa (ªC ºk eta ºF) “ Diseinatu eta eraiki ezazu tenperatura Celsius eskalan jasoko duena eta Kelvin eskalara eta Fahrenheit eskalara moldatu eta gero, bi adierazleetan adieraziko duen termometroa. 3) Sarrera gisa gurpil motako kontrol bat izango du tenperatura adierazteko. 4) Irteera gisa bi adierazle izango ditu tenperatura ºC-tan eta ºFetan adierazteko.

SOLUZIOA:

Iñaki Zarauz Leoz

202


Arduino

DBH 4. maila

16. PROIEKTUA: Fluxu diagramak. Semaforoa “Diseinatu eta eraiki ezazu semaforo bat gobernatzen duen makina birtuala. a) Argi gorria bost segunduz piztuko da. b) Argi berdea sazpi segunduz piztuko da. c) Argi laranja bi segunduz piztuko da.

SOLUZIOA:

IĂąaki Zarauz Leoz

203


Arduino

DBH 4. maila

17. PROIEKTUA: Fluxu diagramak. Aldagaien konparaketa “Diseinatu eta eraiki ezazu bi aldagaien konparaketa egingo duen makina birtuala. i) “a” aldagaia “b” aldagaia baino handiagoa denean argi berde batez adieraziko da. ii) “a” aldagaia “b” aldagaia baino txikiagoa denean, argi borri batez adierazikoa da. Programak fluxu diagrama batez gobernatuko da, non “arg” izeneko aldagai bat erabiliko den.”

SOLUZIOA:

Iñaki Zarauz Leoz

204


Arduino

DBH 4. maila

18. PROIEKTUA: Fluxu diagramak. Segundu kontagailua. “Diseinatu eta eraiki ezazu 30 segundu zenbatuko dituen kontagailua. Zenbaketa markagaikuan adieraziko da, eta helmugara iristean programa gelditu egingo da.”

SOLUZIOA:

Iñaki Zarauz Leoz

205


Arduino

DBH 4. maila

19. PROIEKTUA: Fluxu diagramak. Gasolindegia “Diseinatu eta eraiki ezazu gasolindegi baten surtidorea gobernatzen duen makina birtuala. i) Adierazle batek (“litroak” )zenbat litro erosi nahi diran adieraziko du. ii) Beste adierazle batek (“bolumena”) kontxearen deposituak zenbat gasolina litro dituen adieraziko du. iii) “Bete” sakagailuari sakatzean, kontagailu batek zenbat litro gasolina ixurtzen ari direngaren adieraziko du. iv) Bi leden bitartez lan egoera adieraziko da. a) Led gorriak gasolindegia abian dela adieraziko du. b) Led berdeak gasolina isurtzen ari garela adieraziko du.

Iñaki Zarauz Leoz

206


Arduino

DBH 4. maila

SOLUZIOA:

I単aki Zarauz Leoz

207


Arduino

DBH 4. maila

20. PROIEKTUA: Fluxu diagramak. Igogailua “Diseinatu eta eraiki ezazu hiru pisutako igogailu automatiko bat. a) Zenbakiko adierazle batek igogailua zein pisutan dagoen adierazik o du. b) Argizko adierazle batek atea ireki egin dela adieraziko du. c) Jarraitu beharreko sekuentzia: 1-3-1-2-1-3-1-2-1-3-1-2-1-3...”

SOLUZIOA:

Iñaki Zarauz Leoz

208


Arduino

DBH 4. maila

MYOPENLAB eta Arduino

“MyOpenLab eta Arduino” Ikaslea: Gela: Ikasturtea: Data: Irakaslea: Iñaki Zarauz Leoz

Iñaki Zarauz Leoz

209


Arduino

DBH 4. maila

Arduino MyOpenLab

Egilea: I単aki Zarauz Leoz

I単aki Zarauz Leoz

210


Arduino

DBH 4. maila

ARDUINO eta MYOPENLAB

AURKIBIDEA I.

SARRERA

II.

ARIKETA-PROIEKTUAK

1. PROIEKTUA: Dirdirkako irteera (D13)

5. or

2. PROIEKTUA: Etengailua bistaratze panelean

7. or

3. PROIEKTUA: Etengailua eta hesia

8. or

4. PROIEKTUA: Bi sarrera analogiko konparatu

9. or

5. PROIEKTUA: Adierazle analogikoak

10. or

6. PROIEKTUA: Adierazle digitalak

11. or

7. PROIEKTUA: Termometro digitala

13. or

8. PROIKETUA: Alarma sistema

14. or

9. PROIEKTUA: Argitasun sentsoreak

16. or

10. PROIEKTUA: Pultsu kontagailua

18. or

11. PROIEKTUA: Arduino I/O shield

20. or

12. PROIEKTUA: Etxeko sarrera

22. or

I単aki Zarauz Leoz

211


Arduino

DBH 4. maila

I. SARRERA Arduinoaren sarrera/irteera atazak ondorengo moduan antolatzen dira MyOpenLab softwareaz maneiatzen direnean: SARRERA IRTEERAK

Sarrera analogikoa Sarrera analogikoa Sarrera analogikoa Sarrera analogikoa Sarrera analogikoa Sarrera analogikoa Komunikazio ataza Sarrera digitala 1 Sarrera digitala 2 Sarrera digitala 3 Sarrera digitala 4 Sarrera digitala 5 Sarrera digitala 6 Irteera digitala 1 Irteera digitala 2 Irteera digitala 3 Irteera digitala 4 Irteera digitala 5 Irteera digitala 6

1 2 3 4 5 6

ARDUINO pinak A0 A1 A2 A3 A4 A5 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13

TINKERKIT pinak I0 I1 I2 I3 I4 I5 O5 O4 O3

O2 O1 O0

ARDUINO I/O pinak Pot.1 Pot.2 Argia IR hurbilt. Tenp. D2 M+ D4 MO6-LED D7 D8 O9-LED O10-LED O11-LED D12 -

MyOpenLab pinak ADC-1 ADC-2 ADC-3 ADC-4 ADC-5 ADC-6 In-1 In-2 In-3 In-4 In-5 In-6 Out-1 Out-2 Out-3 Out-4 Out-5 Out-6

Beraz, lotura elektrikoak gauzatzerakoan, kontutan hartu beharko da taula honetako atxikipena eraikitako zirkuiteriak ondo funtzionatzeko. Ondoko iruadian, Arduino plaka deskribatzen da:

I単aki Zarauz Leoz

212


Arduino

DBH 4. maila

Ondoko iruadian, MyOpenLab-eko Arduinoarentzat interfazea deskribatzen da:

Ondoko iruadian, Tinkerkit Shield plaka deskribatzen da:

Ondoko iruadian, Arduino I/O Shield plaka deskribatzen da:

I単aki Zarauz Leoz

213


Arduino

DBH 4. maila

II. ARIKETA-PROIEKTUAK: 1. PROIEKTUA: “Dirdirka egiten duen irteerako argia” “Diseinatu eta eraiki ezazu led argi bat, segunduro, dirdirka piztu/itzaliko duen makina birtuala. Leda, Arduinoaren 13. irteeran konektatuko dugu eta bistaratze panelean, ondorengo makina diseinatuko dugu: BISTARATZE PANELA

ZIRKUITU ELEKTRIKOA

Iñaki Zarauz Leoz

214


Arduino

DBH 4. maila

SOLUZIOA: ZIRKUITU-PANELA

I単aki Zarauz Leoz

215


Arduino

DBH 4. maila

2. PROIEKTUA: Etengailua bistaratze panelean “Diseinatu eta eraiki ezazu bistaratze paneleko botoi bati sakatzean, Arduinoko D9. irteeran (Tinkerkit O2) lotutako leda piztu eta itzaliko duen makina birtuala.”

BISTARATZE-PANELA

ZIRKUITU ELEKTRIKOA

SOLUZIOA:

ZIRKUITU-PANELA

Iñaki Zarauz Leoz

216


Arduino

DBH 4. maila

3. PROIEKTUA: Etengailua eta hesia “Diseinatu eta eraiki ezazu kanpoko etengailu bat sakatzean (D07), hesi birtual bat igo eta jeitsi egingo duen makina birtuala.” ZIRKUITU ELEKTRIKOA

SOLUZIOA:

Iñaki Zarauz Leoz

BISTARATZE-PANELA

ZIRKUITU-PANELA

217


Arduino

DBH 4. maila

4. PROIEKTUA: Bi sarrera analogiko konparatu “Diseinatu eta eraiki ezazu bi sentsore analogikoetatik jasotako balioak konparatuko dituen makina birtuala (aA0; bA1). i) a>b  led gorria piztuko da bistaratze penelean. ii) a<b  led berde bat piztuko da bistaratze panelean.” BISTARATZE-PANELA

ZIRKUITU ELEKTRIKOA

ALDAGAIEN ZERRENDA SOLUZIOA:

Iñaki Zarauz Leoz

ZIRKUITU-PANELA

218


Arduino

DBH 4. maila

5. PROIEKTUA: Adierazle analogikoak “Diseinatu eta eraiki ezazu argitasun sentsore baten balioak bistaratze-panelean adieraziko dituen makina birtuala. a) LDR batez eta erresistentzia batez argitasun magnitudearen balioa jasatzen dituen sentsorea eraikiko dugu. b) Bistaratze panelean jasotako balioa adieraziko dugu. BISTARATZE-PANELA

SOLUZIOA:

Iñaki Zarauz Leoz

ZIRKUITU ELEKTRIKOA

ZIRKUITU-PANELA

219


Arduino

DBH 4. maila

6. PROIEKTUA: Adierazle digitalak “Diseinatu eta eraiki ezazu kanpoko hiru sakagailuri eragitean, bistaratze panelean semaforo bat gobernatuko duen makina birtuala”

BISTARATZE-PANELA

ZIRKUITU ELEKTRIKOA

Iñaki Zarauz Leoz

220


Arduino

DBH 4. maila

SOLUZIOA:

ZIRKUITU-PANELA

I単aki Zarauz Leoz

221


Arduino

DBH 4. maila

7. PROIEKTUA: Termometro digitala “Diseinatu eta eraiki ezazu LDR erresistentzia batez eta potentziometro batez eraikitako tenperatura sentsore bat erabiliz, pantailan tenperaturaren balioa ºC-tan, ºK-etan eta ºF-etan adieraziko duen makina birtuala”

BISTARATZE-PANELA

ZIRKUITU ELEKTRIKOA

SOLUZIOA: ZIRKUITU-PANELA

Iñaki Zarauz Leoz

222


Arduino

DBH 4. maila

8. PROIEKTUA: Alarma sistema “Diseinatu eta eraiki ezazu ikastolako alarma sistema eratuko duen makina birtuala. Bistaratze-paneleko ereduari jarraituz, eremu nagusietan, sentsore desberdinak kokatuko ditugu, eta gertaera desberdinak, bistaratzepanelean adieraziko zaizkigu. Sentsoreak ondorengo Arduinoko sarrerak erabiliz kokatuko ditugu: ARDUINO pinak D6 D5 D3

TINKERKIT pinak O3 O4 O5

MyOpenLab pinak In-2 In-3 In-5

D6 O3In-2  Batzar aretoko sarrera. D5 O4In-3  Sarrera nagusia. D3 O5In-5  Emergentziazko atea.

Eremua Batzar aretoa Sarrera nagusia Emergentziazko atea

BISTARATZE-PANELA

ZIRKUITU ELEKTRIKOA

Iñaki Zarauz Leoz

223


Arduino

DBH 4. maila

SOLUZIOA: ZIRKUITU-PANELA

I単aki Zarauz Leoz

224


Arduino

DBH 4. maila

9. PROIEKTUA: Argitasun sentsoreaen eboluzioa denboran “Diseinatu eta eraiki ezazu LDR argitasun sentsore batez jasotako argitasun balioak, segunduro, grafikoki adieraziko dituen makina birtuala”

BISTARATZE-PANELA

ZIRKUITU ELEKTRIKOA

Iñaki Zarauz Leoz

225


Arduino

DBH 4. maila

SOLUZIOA: ZIRKUITU-PANELA

I単aki Zarauz Leoz

226


Arduino

DBH 4. maila

10. PROIEKTUA: Pultsu kontagailua “Diseinatu eta eraiki ezazu D7 sarreratik 10 pultsu zenbatuko dituen makina birtuala. Pultsuak kontagailu batetan zenbatuko ditu eta 10 kopurura iristerakoan, sistema berrarabiazi egingo da”.

BISTARATZE-PANELA

ZIRKUITU ELEKTRIKOA

Iñaki Zarauz Leoz

227


Arduino

DBH 4. maila

SOLUZIOA: ZIRKUITU-PANELA

I単aki Zarauz Leoz

228


Arduino

DBH 4. maila

11. PROIEKTUA: Arduino I/O (MSE BILBO) shieldaren interfazea “Diseinatu eta eraiki ezazu Arduino I/O shield txartelaren interfazea izando den makina birtuala, non sarrera analogikoak, sarrera digitalak eta irteera digitalak duten balioa bistaratze-panelean adieraziko diren, ondorengo eskemari jarraituta: SARRERA IRTEERAK

Sarrera digitala 1 Sarrera digitala 2 Sarrera digitala 3 Sarrera digitala 4 Sarrera digitala 5 Sarrera digitala 6 Irteera digitala 1 Irteera digitala 2 Irteera digitala 3 Irteera digitala 4 Irteera digitala 5 Irteera digitala 6 Sarrera analogikoa Sarrera analogikoa Sarrera analogikoa Sarrera analogikoa Sarrera analogikoa Sarrera analogikoa

ARDUINO pinak

1 2 3 4 5 6

D7 D6 D5 D4 D3 D2 D8 D9 D10 D11 D12 D13 A0 A1 A2 A3 A4 A5

TINKERKIT pinak

O3 O4 05

O2 O1 O0

I0 I1 I2 I3 I4 I5

ARDUINO I/O

D7(I) Etengailua D6(O). LED zuria M-; Serv.02 D4(I) Etengailua M+; Serv. 01 D2(O) Txirrina D8(I) Etengailua D9(O) LED berdea D10(O) LED horia D11(O) LED gorria D12(I) Etengailua A0 (Pot.) A1(Pot.) A2 (LDR) A3 (Infr.) A4 (NTC term.) -

MyOpenLab pinak

In-1 In-2 In-3 In-4 In-5 In-6 Out-1 Out-2 Out-3 Out-4 Out-5 Out-6 ADC-1 ADC-2 ADC-3 ADC-4 ADC-5 ADC-6

BISTARATZE-PANELA

IĂąaki Zarauz Leoz

229


Arduino

DBH 4. maila

SOLUZIOA:

ZIRKUITU-PANELA

I単aki Zarauz Leoz

230


Arduino

DBH 4. maila

12. PROIEKTUA: Etxeko sarreraren kontrola “Diseinatu eta eraiki ezazu etxeko sarrerako hesia ireki/itxiko duen makina birtuala. Horretaz gain, beste hauek ere kontutan hartu beharko ditu: a) Kontagailu batez, hesia zeharkatuta, aparkaleku barruan dauden ibilgailuen kopurua adierziko da. b) LED argi-panel batek sartu/irteerak eta atea irekitze/ixte egoerak adieraziko dira. c) LED argi-panel batek batzez, irekitzeko deia edo/eta segurtasun deiak egiten ari diren adieraziko da.” BISTARATZE-PANELA

ZIRKUITU ELEKTRIKOA

Iñaki Zarauz Leoz

231


Arduino

DBH 4. maila

ZIRKUITU-PANELA

SOLUZIOA:

I単aki Zarauz Leoz

232


Arduino

I単aki Zarauz Leoz

DBH 4. maila

233


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.