35
UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETA KRISTJAN PROSEN UPORABA RAZVOJNEGA OKOLJA ARDUINO PRI RAČUNALNIŠKO PODPRTIH ŠOLSKIH EKSPERIMENTIH DIPLOMSKO DELO LJUBLJANA, 2016

UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

UNIVERZA V LJUBLJANI

PEDAGOŠKA FAKULTETA

KRISTJAN PROSEN

UPORABA RAZVOJNEGA OKOLJA ARDUINO

PRI RAČUNALNIŠKO PODPRTIH ŠOLSKIH

EKSPERIMENTIH

DIPLOMSKO DELO

LJUBLJANA, 2016

Page 2: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo
Page 3: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

UNIVERZA V LJUBLJANI

PEDAGOŠKA FAKULTETA DVOPREDMETNI UČITELJ FIZIKA – TEHNIKA

KRISTJAN PROSEN

Mentor: izr. prof. dr. SLAVKO KOCIJANČIČ

UPORABA RAZVOJNEGA OKOLJA ARDUINO PRI

RAČUNALNIŠKO PODPRTIH ŠOLSKIH EKSPERIMENTIH

DIPLOMSKO DELO

LJUBLJANA, 2016

Page 4: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo
Page 5: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

ZAHVALA

Zahvaljujem se mentorju, dr. Slavku Kocijančiču, za vse nasvete in

usmeritve tako v času študija kot pri pisanju diplomske naloge.

Iskrena hvala staršem, sestri in punci, ki so verjeli vame in mi stali ob

strani tudi takrat, ko je bilo težko.

Page 6: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo
Page 7: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

I

POVZETEK

Diplomsko delo obravnava uporabo računalnika pri eksperimentalnem delu v osnovni

šoli s poudarkom na pregledu obstoječih merilnih sistemov in njihovimi alternativami.

Na začetku sta predstavljena dva komercialna merilna sistema Pasco in Vernier, ki

sta trenutno med najbolj razširjenimi. Pregledu obstoječih sistemov sledi predstavitev

alternativnih rešitev z mikrokrmilniškimi razvojnimi ploščicami, med katerimi je

izpostavljena Arduino razvojna ploščica kot najprimernejša za učitelja v osnovni šoli.

Predstavitev Arduino razvojne ploščice je omejena na najnujnejše, kar mora nekdo,

ki elektronike ne pozna podrobno, vedeti, da lahko začne z uporabo le-te. V

zaključku diplomskega dela je predstavljen kratek pregled učnih načrtov za

naravoslovne predmete (fizika, kemija, biologija, tehnika) in predstavitev možnosti

vpeljave Arduino razvojne ploščice v poučevanje.

KLJUČNE BESEDE

Arduino razvojna ploščica, računalniška merjenja, eksperimentalno delo, računalnik v

šoli, tehniško izobraževanje, naravoslovje, Pasco, Vernier

Page 8: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

II

ABSTRACT

The topic of this diploma work is computer-aided measurement in primary school.

Main focus is on existing technology and alternatives for them. In the beginning,

there is a short introduction of two existing systems, which are mostly used in school

today, Pasco and Vernier. Second part of diploma work covers alternative solutions

for teachers to use in their teaching. Arduino development board is presented in a

simple way, so someone with a little knowledge in electronics could understand the

main principles of Arduino and could start using it. At the very end, there is a short

overview of curricula for science themed courses.

KEY WORDS

Arduino development board, computer aided measurements, experimental work,

computer in school, science education, science, Pasco, Vernier

Page 9: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

III

KAZALO VSEBINE

1 UVOD .................................................................................................................. 1

2 PREGLED OBSTOJEČIH MERILNIH SISTEMOV .............................................. 2

2.1 MERILNI SISTEM VERNIER ......................................................................... 2

2.2 MERILNI SISTEM PASCO ............................................................................ 3

3 MIKROKRMILNIŠKE RAZVOJNE PLOŠČICE .................................................... 4

4 PRIMERJAVA KOMERCIALNIH MERILNIH SISTEMOV IN

MIKROKRMILNIŠKIH RAZVOJNIH PLOŠČIC ........................................................... 6

5 ARDUINO UNO ................................................................................................... 8

5.1 ARDUINO RAZVOJNO OKOLJE .................................................................. 9

5.1.1 ARDUINO STROJNA OPREMA ............................................................. 9

5.1.2 ARDUINO PROGRAMSKA OPREMA .................................................. 11

5.1.3 NAMESTITEV ARDUINO PROGRAMSKE OPREME .......................... 12

5.1.4 DELOVANJE ARDUINO PROGRAMSKE OPREME ............................ 14

5.2 FUNKCIJE KI JIH ARDUINO RAZVOJNO OKOLJE OMOGOČA ............... 15

5.2.1 ANALOGNO DIGITALNI PRETVORNIK ............................................... 15

5.2.2 PULZNO ŠIRINSKA MODULACIJA ...................................................... 16

5.2.3 I2C PROTOKOL .................................................................................... 17

5.2.4 UART KOMUNIKACIJA ........................................................................ 18

5.3 PRIMER PRVE UPORABE ARDUINA ........................................................ 18

6 MOŽNOSTI UPORABE ARDUINA V OSNOVNI ŠOLI ...................................... 21

6.1 UPORABA ARDUINA PRI POUČEVANJU FIZIKE ..................................... 21

6.2 UPORABA ARDUINA PRI POUČEVANJU TEHNIKE ................................. 21

6.2.1 UPORABA ARDUINA PRI POUČEVANJU ROBOTIKE V TEHNIKI ..... 21

6.2.2 UPORABA ARDUINA PRI POUČEVANJU KEMIJE IN BIOLOGIJE V

OSNOVNI ŠOLI ................................................................................................. 22

7 SKLEP ............................................................................................................... 23

8 LITERATURA IN VIRI ........................................................................................ 24

Page 10: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

IV

KAZALO SLIK

Slika 2.1: Primer osnovne enote (komunikatorja) [1]. ................................................. 2

Slika 2.2: Primer izpisa podatkov v programu Logger Pro 3 [1]. ................................. 3

Slika 3.1: Mikroprocesor Intel 8080 [3]. ...................................................................... 4

Slika 5.1: Arduino UNO [4]. ......................................................................................... 8

Slika 5.2: Arduino UNO razvojna ploščica z označenimi glavnimi sestavnimi deli [4]. 9

Slika 5.3: Arduino povezan z napajalnim adapterjem [3]. ......................................... 10

Slika 5.4: Podatki na napajalniku primernem za Arduino [3]. .................................... 10

Slika 5.5: Mikrokrmilnik Atmega328 [3]. .................................................................... 11

Slika 5.6: Arduino IDE [4]. ......................................................................................... 12

Slika 5.7: Seznam COM portov. ............................................................................... 14

Slika 5.8: Arduino IDE [3]. ......................................................................................... 15

Slika 5.9: Grafični prikaz poteka analogno-digitalne pretvorbe [7]. ........................... 16

Slika 5.10: Grafični prikaz pulzno širinske modulacije [3]. ........................................ 17

KAZALO PREGLEDNIC

Preglednica 4.1: Preglednica kriterijev izbire. ............................................................. 6

Page 11: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

V

AKRONIMI IN OKRAJŠAVE

OŠ Osnovna šola

TIT Tehnika in tehnologija

UN Učni načrt

IKT Informacijsko-komunikacijska tehnologija

MRP Mikrokrmilniška razvojna ploščica

Page 12: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

1

1 UVOD

Učenci se že na začetku svojega šolanja srečajo s preprostimi eksperimenti s

katerimi preizkušajo lastnosti različnih materialov, preverjajo odvisnosti med

različnimi količinami (določajo razmerja med spremenljivkami: zveza čim-tem), ter

tako pričenjajo s prvimi opisi pojavov v svetu okoli sebe. Ker samo opazovanja niso

dovolj za natančnejše opise pojavov moramo določene količine tudi izmeriti. S tem

namenom začnemo učence navajati na merjenje. Učenci merijo dolžine, čas, maso

itd. Uporabljajo preproste pripomočke kot so merila, štoparice, tehtnice itd.

Pridobljene podatke nato analizirajo in interpretirajo. Preko praktičnega dela učenci

spoznajo principe, s katerimi pridemo do uporabnih podatkov o lastnostih teles,

materialov ...

Z razmahom digitalne elektronike se v naš vsakdan vključuje IKT. Tudi v industriji

praktično vsa merjenja izvajajo s pomočjo računalnika. Inženirji si z računalnikom

pomagajo pri meritvah in simulacijah, v proizvodnji za kontrolo produktov itd. Tudi

učence spremlja digitalna elektronika na vsakem koraku; večina učencev ima

pametne telefone, uporabljajo računalnike, pametne TV in druge naprave. Ker je

večina učilnic na šolah opremljena z računalniki, učenci znajo na eni strani izvajati

meritve oziroma razumejo principe merjenja, na drugi strani pa so zelo vešči uporabe

digitalnih naprav, je uvedba računalniško podprtih merjenj smiselna že v OŠ.

Za računalniško podprta merjenja potrebujemo vmesnik, ki nam podatke (meritve) iz

okolja pretvori v digitalni podatek katerega računalnik lahko prebere in zapiše. Z

računalnikom lahko shranimo veliko količino podatkov, ki jih v primernih programskih

okoljih lahko analiziramo in nato tudi predstavimo v obliki tabel in grafov.

V diplomskem projektu bodo na kratko predstavljeni obstoječi merilni vmesniki, ki so

dostopni na trgu in možne alternative. Podrobneje bo predstavljena Arduino razvojna

ploščica, ki je relativno nova na trgu in kaže velik potencial za preprost in samostojen

razvoj lastnega merilnega sistema.

Page 13: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

2

2 PREGLED OBSTOJEČIH MERILNIH SISTEMOV

Računalnik je v šolah že samoumeven pripomoček za poučevanje, zato so se na trgu

tudi pojavili različni kompleti za računalniško merjenje, ki vsebujejo tako strojno kot

programsko opremo. Učitelj enostavno namesti programsko opremo na računalnik in

ga poveže z osnovno enoto (komunikator). Na to enoto lahko učitelj priklaplja različne

merilnike, preko katerih lahko pošilja podatke do računalnika, kjer jih program

zapisuje (lahko v tabelo, graf ali pa hkrati v tabelo in graf). Pri nas sta pogosta

predvsem dva merilna sistema, in sicer Vernier in Pasco.

2.1 MERILNI SISTEM VERNIER

Merilne sisteme Vernier proizvaja istoimensko podjetje ustanovljeno leta 1981 s

sedežem v ZDA.

Njihova ponudba zajema zelo širok spekter pripomočkov, ki jih lahko kupimo in

uporabimo za meritve. Za povprečno rabo v osnovni šoli potrebujemo osnovno enoto,

ki je vezni člen med računalnikom in merilnikom. Osnovnih enot obstaja več vrst:

a) namenska tablica, ki ima že integriran komunikator in lahko preko nje

neposredno spremljamo meritve,

b) brezžični komunikator, ki ga lahko povežemo z mobilnim telefonom, tablico,

prenosnim računalnikom, ipd., na katerem je že naložen program za obdelavo

podatkov,

c) klasični komunikator, ki ga preko USB povezave povežemo z računalnikom,

slika 2.1 [1].

Slika 2.1: Primer osnovne enote (komunikatorja) [1].

Ko imamo izbrano osnovno enoto potrebujemo še merilnik, s katerim dejansko

merimo podatke opazovanega pojava. Podjetje Vernier ponuja številne senzorje kot

so: merilniki pospeška, barometri, merilci naboja, pH senzorji, silomeri, termometer,

itd. [1].

V skladu s svojimi potrebami si izberemo posamezne senzorje, ki so potrebni, da

lahko meritve izvedemo.

Page 14: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

3

Za zapis in prikaz podatkov na računalniku je potrebno imeti še program, ki bere

podatke, poslane iz merilnika, in jih ustrezno prikazuje. Podjetje Vernier je razvilo

lasten program za obdelavo podatkov. Za najširšo uporabo je na voljo program

Logger Pro 3, slika 2.2 [1].

Slika 2.2: Primer izpisa podatkov v programu Logger Pro 3 [1].

Program je na voljo za vse tri večje operacijske sisteme, ki jih uporabljamo danes -

Windows, Macintosh in Linux. Omogoča nam beleženje podatkov in izrisovanje

grafov tekom merjenja. Grafe lahko nato obdelujemo, npr. iz grafa odvisnosti lege od

časa dobimo graf hitrosti itd. [1].

2.2 MERILNI SISTEM PASCO

Tako kot podjetje Vernier ima podjetje Pasco svoj sedež v ZDA. Je podjetje z več kot

50 letno tradicijo, ki se je iz majhne garaže razvilo v enega največjih proizvajalcev

opreme za laboratorijska merjenja [2].

Princip delovanja Pasco merilnega sistema je podoben delovanju Vernier merilnega

sistema. Na spletni strani proizvajalca so na voljo različni tipi osnovnih enot, poleg

katerih potrebujemo še merilne senzorje in program, s pomočjo katerega nato

obdelujemo meritve na računalniku. Podjetje Pasco ponuja več različnih tipov

programske opreme, namenjene specifičnim področjem: za uporabo s strani mlajših

učencev (SPARKvue), program za fizikalna merjenja (PASCO Capstone), program

za spektrometrijo, modeliranje molekul, itd. [2].

Podjetje Pasco ima v svoji ponudbi tudi pripomočke za eksperimente (različni vozički

in tirnice zanje - makete mostov s senzorji, kjer lahko analiziramo obremenitve, itd.)

ali pa celo komplete eksperimentov, v katere je vključena vsa potrebna oprema (tako

senzorji kot tudi pripomočki za izvedbo eksperimenta) [2].

Page 15: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

4

3 MIKROKRMILNIŠKE RAZVOJNE PLOŠČICE

Ob komercialnih izdelkih, ki so proizvodi večjih podjetji se vedno pojavijo izdelki

»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo v lastno

veselje in zanje porabljajo svoj prosti čas. Izdelki so zato namenjeni širši množici

uporabnikov brezplačno, v zameno za donacije ali pa simbolično ceno. Podobno se

dogaja tudi na področju elektronike, saj je razvoj napredoval tako močno, da je

izdelava mikrokrmilnika, tranzistorja ali katerekoli druge elektronske komponente

izredno poceni. Dostopnost teh komponent je omogočila uporabo elektronike

večjemu številu ljudi, kar se je odrazilo v množici novih razvojnih ploščic, ki so

dostopne vsem.

Mikrokrmilniške razvojne ploščice (MRP) so tiskana elektronska vezja, na katerih so

vsi elementi, ki so potrebni za krmiljenje vezja, ki za nas opravlja neko nalogo:

mikroprocesor, izhodno/vhodna vezja, generator takta, RAM, programski spomin itd.

[3].

Prve MRP so se začele pojavljati okoli leta 1970. Leta 1976 je podjetje Intel

predstavilo razvojno ploščico, ki je delovala z njihovim takratnim mikroprocesorjem

8080, slika 3.1, in omogočala 1 kilobyte RAM-a in 4 kilobyte ROM-a. Za današnje

razmere je to sicer zelo malo, vendar je bil takrat to velik korak naprej v elektroniki.

Slika 3.1: Mikroprocesor Intel 8080 [3].

MRP omogočajo sprejemanje in oddajanje različnih vrst signalov, kar nam omogoča,

da nadzorujemo zunanji realni svet. Diskretni digitalni vhodi/izhodi nam omogočajo

oddajanje in sprejemanje podatkov z enim bitom (vklop/izklop), preko analognih

signalov lahko spremljamo različne spremenljivke (temperatura, tlak, pH,...) oziroma

jih uporabimo kot izhodne signale in jih pošiljamo v vezja [3].

MRP so danes preproste in poceni za izdelavo, kar v kombinaciji z odprtokodno

programsko opremo pomeni, da so zelo poceni. Vse vsebujejo t.i. flash spomin, ki

nam omogoča hiter zapis programske kode na MRP. Današnje MRP delujejo kot

prevajalniki iz enega jezika v drugega (ang. cross-compilers), saj zapis kode na

Page 16: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

5

osebnem računalniku prenesemo preko USB povezave na MRP, kjer se ta zapis

ustrezno pretvori, da ga mikrokrmilnik razume in izvaja [3].

Prvotni namen MRP so danes zamenjali povsem drugačni trendi, saj jih zaradi

njihove velike dostopnosti in preprostosti programiranja uporablja vedno več

»neprogramerskih« skupin kot npr.: umetniki, oblikovalci, hobi uporabniki in ostali,

katerih cilj je predstaviti svoje ideje na interaktiven način. Med danes najbolj

priljubljenimi MRP so Arduino, Dwengo in Wiring [3].

Page 17: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

6

4 PRIMERJAVA KOMERCIALNIH MERILNIH SISTEMOV IN

MIKROKRMILNIŠKIH RAZVOJNIH PLOŠČIC

V naravoslovju nikoli nimamo univerzalne rešitve za problem. Vsaka rešitev nam

prinese določene prednosti in določene slabosti. Tako vedno tehtamo, katere so tiste

prednosti, ki odtehtajo slabosti posamezne rešitve oziroma pri kateri rešitvi bo vpliv

njenih slabosti najmanjši. V primeru, ko izbiramo med komercialnimi sistemi in MRP

vzamemo v obzir naslednje kriterije, preglednica 4.1,: zahtevnost uporabe, možnosti

uporabe in ceno.

Zahtevnost uporabe je relativna in je odvisna od znanja, ki ga ima učitelj. Učitelji

fizike, tehnike in računalništva imajo več izkušenj z delom z elektronskimi vezji in

programiranjem, kot učitelji biologije in kemije, kar jim olajša delo z MRP. Učitelji

tehničnih smeri znajo izdelati sami izdelati merilnike, katere povežejo z MRP in

napišejo program, da izvedejo meritve. Za ostale, ki so sicer vešči uporabe

računalnika, vendar ne poznajo podrobno elektronike in programiranja, so

komercialni sistemi veliko bolj prijazni za uporabo, saj delujejo po »plug and play«

principu. To pomeni, da glavne komponente povežemo med seboj, zaženemo

program na računalniku in že lahko izvajamo meritve [1-3].

Preglednica 4.1: Preglednica kriterijev izbire.

komercialni sistemi MRP

zahtevnost uporabe

preprosti za uporabo – »plug and play«

dovršena programska oprema

potrebujemo znanje iz programiranja in elektronike

obvladovanje vsaj enega programa za obdelavo podatkov (npr. Excel)

možnosti uporabe

specialni merilniki

zaprt sistem – poseg v programsko in strojno opremo ni mogoč

namenjeno izključno za meritve v naravoslovju

odprtokodni sistem – lahko poljubno posegamo v delovanje

širok spekter uporabe – mehatronika, robotika, računalniška merjenja,...

cena visoka nizka

Če je preprostost uporabe odlika komercialnih sistemov, je možnost uporabe izrazito

na strani MRP. Komercialni sistemi so zaprtokodni in poseganje v njihovo delovanje

praktično ni mogoče. Programske opreme ne moremo spreminjati, tako kot ne

moremo sami popravljati ali posegati v strojno opremo. Instrumenti so specifični in

narejeni za merjenje točno določene spremenljivke. Na drugi strani so MRP

namenjene izdelavi in testiranju različnih prototipov in o uporabne v mehatroniki,

robotiki, avtomatizaciji procesov, računalniško podprtih merjenjih itd... [1-3].

Zadnji in morda najbolj odločilen kriterij je cena. Cene tovrstnih merilnih sistemov so

relativno visoke, saj je cena programa Logger Pro 3 ~339 €, senzor osvetljenosti ~75

€, pH senzor ~101 €. Cena za opremljen učiteljev laboratorij torej lahko hitro preseže

nekaj tisoč evrov. MRP so zaradi preprostosti in nizkih stroškov izdelave zelo poceni

(Arduino stane ~ 15 €). Ves elektronski material, ki ga potrebujemo za računalniško

Page 18: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

7

podprta merjenja v OŠ nas stane manj, kakor povprečni senzor namenjen za delo z

merilnim sistemom Vernier [1-3].

Page 19: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

8

5 ARDUINO UNO

MRP so danes zaradi nizke cene in neštetih možnosti uporabe zelo priljubljene.

Uporabljajo jih različni profili ljudi - od umetnikov do hobi mehatrnonikov. Z njimi

lahko krmilimo različne elektromotorje, servomotorje, koračne motorje, svetleče

diode, spremljamo vhodne signale merilnikov, ki jih izdelamo sami, itd.. Med vsemi

MRP je danes najbolj popularen Arduino UNO (v nadaljevanju Arduino), slika 5.1.

Obstaja več izpeljank Arduino razvojne ploščice (Arduino Leonardo, Arduino Mega,

Arduino Zero,...). V diplomskem delu bo obravnavana Arduino UNO razvojna

ploščica, ki je najbolj pogosta in najbolj prodajana. Zanjo lahko dokupimo različne

dodatke (ang. shields), ki nam omogočajo nadgradnjo. Izgledajo podobno kot

Arduino in jih zlagamo nanj. Njihove funkcije so različne: wi-fi oddajnik/sprejemnik,

pomnilnik s SD kartico, podpora za avdio komuniciranje ..., ob tem je na voljo še

veliko komponent/senzorjev, ki so izdelani namensko za Arduino in zanje na spletu

dobimo tudi programsko kodo za delovanje, ki jo lahko dodamo v svojo skico.

Vsekakor je Arduino razvojno okolje primerna izbira za vsakega, ki se prvič podaja v

delo z elektroniko ali pa za nekoga, ki je vešč programiranja in dela z elektroniko in

želi svoj prosti čas nameniti razvijanju različnih projektov.

Slika 5.1: Arduino UNO [4].

Arduino je odprtokodno razvojno okolje, ki temelji na programski in strojni opremi, ki

je preprosta za uporabo. Arduino razvojne ploščice so zasnovane tako, da lahko

zaznajo vhodne signale – svetlobni senzor, pritisk na gumb – in jih pretvorijo v

izhodne signale – vklop elektromotorja, vklop svetleče diode. Razvojni ploščici lahko

»povemo« kaj naj z določenimi vhodnimi signali počne tako, da napišemo »navodila«

za mikrokrmilnik na ploščici. Navodila pišemo v Arduino programskem jeziku s

pomočjo programa Arduino, ki ga imamo naloženega na osebni računalnik in v

katerem napišemo ukaze (program) za mikrokrmilnik [4,5].

Page 20: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

9

5.1 ARDUINO RAZVOJNO OKOLJE

Arduino razvojno okolje je sestavljeno iz dveh delov: Arduino razvojne ploščice -

strojna oprema - in Arduino IDE (Integrated Development Enviroment) programa –

programska oprema [3,5].

Arduino razvojno ploščico si lahko predstavljamo kot računalnik v velikosti kreditne

kartice. Na ploščici najdemo večje število komponent, ki so potrebne za delovanje.

Slika 5.2: Arduino UNO razvojna ploščica z označenimi glavnimi sestavnimi deli [4].

Na sliki 5.2 so označeni glavni sestavni deli Arduino ploščice:

a) Reset tipka: z njo ponovno zaženemo Arduino, podobno kot osebni

računalnik, kadar imamo težave z delovanjem.

b) USB priključek: je namenjen povezavi Arduino ploščice z računalnikom.

Preko tega priključka komuniciramo s ploščico. Ob tem lahko služi priključek

tudi kot napajanje.

c) Tx in Rx LED: sta svetleči diodi, utripata kadar poteka komunikacija med

računalnikom in razvojno ploščico.

d) Napajalni priključek: je, kot že samo ime pove, namenjen zunanjemu

napajanju ploščice.

5.1.1 ARDUINO STROJNA OPREMA

Page 21: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

10

Slika 5.3: Arduino povezan z napajalnim adapterjem [3].

Napajalnik, primer slika 5.3, na katerega priključimo Arduino priključimo mora

biti enosmerni (DC adapter), ki zagotavlja napetost med 9 V in 12 V in lahko

zagotavlja tok vsaj 250 mA. Še bolje je, če je največji napajalni tok v območju

od 500 mA do 1 A. Vtič, ki ga priključimo na ploščico, mora biti premera 2,1

mm in imeti pozitivni priključek na sredini.

Slika 5.4: Podatki na napajalniku primernem za Arduino [3].

Primer zapisa podatkov na napajalniku, slika 5.4, ki je primeren za zunanje

napajanje Arduina. Glavni podatki so podčrtani z rdečo.

e) Digitalni vhodi/izhodi priključki: so priključki na Arduinu, ki so namenjeni

krmiljenju elektronskih vezji. Arduino jim lahko določa stanja 1 ali 0. Tiste, ki so

označeni z vijugo (~) lahko uporabimo za krmiljenje s pulzno širinsko

modulacijo. Takih priključkov je šest od skupno štirinajstih.

f) LED indikator napetosti: sveti kadar je Arduino priključen na ustrezno

napetost.

Page 22: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

11

g) LED testni indikator: je svetleča dioda, ki deluje kot digitalni izhod in je

namenjena preprostim testom programske kode.

h) Mikrokrmilnik ATMega328: je glavni sestavni del Arduina.

Slika 5.5: Mikrokrmilnik Atmega328 [3].

Mikrokrmilnik, slika 5.5, izpolnjuje ukaze, ki smo jih napisali v program ter tako

bere oziroma upravlja s pini.

i) Analogni vhodno/izhodni priključki: so tako kot digitalni namenjeni

krmiljenju oziroma zaznavanju signalov iz vezji, odvisno od konfiguracije, ki si

jo izberemo. Poleg njih so napajalni priključki, za napajanje vezji s pomočjo

Arduina, npr. 5 V, 3,3 V, GND itd. [4-6].

Na ploščici so še drugi elementi, ki so nepogrešljivi za delovanje Arduina, vendar

njihovo poznavanje ni nujno potrebno za osnovno razumevanje delovanja naprave.

Strojna oprema (v našem primeru Arduino ploščica) nam ne koristi veliko, če nimamo

na voljo programa, s katerim lahko strojno opremo upravljamo. V primeru Arduina

želimo ploščici povedati, katere priključke ima povezane z vezjem ki smo ga izdelali

in kaj naj z njim počne. V ta namen so za Arduino razvili program Arduino IDE (ang.

Arduino Integrated Development Enviroment).

5.1.2 ARDUINO PROGRAMSKA OPREMA

Page 23: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

12

Slika 5.6: Arduino IDE [4].

Arduino IDE, slika 5.6, je program, ki deluje na našem računalniku in nam omogoča

pisanje programskih kod za Arduino ploščico, katerim rečemo skice (ang. »sketch«).

Ker Arduino razvojno okolje temelji na programskem jeziku C, ki je za začetnike v

programiranju relativno zahteven za razumevanje je Arduino IDE zasnovan tako, da

so ukazi, ki jih pišemo v skico preprosti in intuitivni, saj jih definiramo z angleškimi

besedami, ki imajo enake pomene kakor ukazi, ki jih Arduino nato izvrši [4-6].

Glavna odlika tega programa je, da to preprosto kodo, ki jo uporabnik napiše prevede

v programski jezik C. Zapis v programskem jeziku C se naprej prenese v »avr-gcc

compiler«. To je program, ki zapis skice preveden v programski jezik C naprej

pretvori v jezik, ki ga mikrokrmilnik razume [4-6].

Arduino razvojno okolje je kompatibilno z vsemi tremi večjimi operacijskimi sistemi:

Windows, Linux in Macintosh. V šolah se praktično brez izjeme uporablja operacijski

sistem Windows, zato bo diplomsko delo osredotočeno na delo z Arduinom v tem

operacijskem sistemu. Za ostala dva, Linux in Macintosh je postopek namestitve

podoben, minimalno se razlikuje le nastavitev programa za normalno delo z

Arduinom [5].

Za programiranje Arduino ploščice moramo najprej namestiti Arduino IDE. Na spletni

strani www.arduino.cc poiščemo zavihek download in pod naslovom Download the

Arduino Software izberemo vrsto datoteke (Windows installer), ki jo želimo prenesti

na računalnik [5].

Ko se prenos konča datoteko poiščemo in jo z dvoklikom zaženemo. Kot prvo okno

se nam odpre licenčna pogodba, s katero se moramo strinjati, da lahko namestimo

5.1.3 NAMESTITEV ARDUINO PROGRAMSKE OPREME

Page 24: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

13

program. Licenčno pogodbo preberemo in v kolikor se strinjamo kliknemo Strinjam se

(ang. Agree) [5].

V naslednjem oknu se pojavi seznam posameznih komponent programa, ki jih lahko

namestimo. Privzeto so izbrane vse komponente. Slednjega ne spreminjamo in

kliknemo naprej (ang. Next) [5].

Odpre se novo okno, ki nas vpraša kam v računalniku želimo datoteko namestiti in

namestitveni program sam predlaga privzeto mapo. Če imamo svoj sistem

organiziranja računalnika, potem sami izberemo mapo, kamor želimo datoteko

namestiti, sicer pustimo privzeto nastavitev in ponovno kliknemo naprej [5].

Namestitveni program prikaže napredek nameščanja v odstotkih medtem, ko nalaga

datoteke. Ko je namestitev končana se pojavi še zadnje okno, ki od zahteva

dovoljenje za namestitev gonilnikov, zato kliknemo namesti. Ko se gonilniki namestijo

kliknemo konec (ang. Finish) [5].

Ko je namestitev končana Arduino preko USB kabla povežemo z računalnikom. LED

indikator napetosti na Arduinu začne svetiti in na računalniškem zaslonu se pojavi

čarovnik za namestitev nove strojne opreme, ki sam poišče gonilnike, ki so potrebni

za delovanje ploščice [5].

Ko imamo Arduino IDE program zagnan in ploščico povezano preko USB kabla z

računalnikom, moramo v programu določiti kateri USB vhod zaseda Arduino. To

storimo tako, da odpremo upravitelja naprav - na tipkovnici pritisnemo kombinacijo

tipk WIN + pause, nato pa izberemo gumb upravitelj naprav (device manager) [5].

Pod menijem ports, slika 5.7, preverimo kateri porti so zasedeni (npr. COM10,

COM11, COM12,...). Nato odklopimo Arduino in počakamo, dokler eden od portov ne

izgine s seznama. To je port ki ga izberemo v IDE programu (COMXY). Če Arduino

priključimo nazaj na isti USB priključek na računalniku, potem se bo vedno javljal iz

istega COM porta [5].

Page 25: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

14

Slika 5.7: Seznam COM portov.

Arduino IDE vsebuje besedilni urejevalnik za pisanje programske kode, prostor za

sporočila (povratna informacija programa o napisani kodi - skici), meni s standardnimi

ukazi (datoteka, urejanje, skica, orodja, pomoč) in orodno vrstico z gumbi

namenjenimi delu s programom [4].

Na sliki 5.8 so označeni gumbi v orodni vrstici:

a) Preveritev (verify): s klikom na ta gumb nam Arduino IDE preveri kodo in poišče

morebitne napake.

b) Posnemi (upoload): prenesemo napisano skico na Arduino ploščico.

c) Nova skica (new): odpre se nov prazen zavihek za zapis skice.

d) Odpri (open): odpre se seznam vseh shranjenih skic. Z dvoklikom na izbrano

skico, se le-ta odpre v novem zavihku.

5.1.4 DELOVANJE ARDUINO PROGRAMSKE OPREME

Page 26: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

15

Slika 5.8: Arduino IDE [3].

d) Shrani (save): shrani skico, ki jo imamo odprto [3].

5.2 FUNKCIJE KI JIH ARDUINO RAZVOJNO OKOLJE OMOGOČA

Arduino razvojno okolje nam ponuja več različnih funkcij, ki nam omogočajo

priključitev pametnih senzorjev, krmiljenje različnih motorjev in razširitve razvojne

ploščice s razširitvenimi moduli (angl. shields). To poglavje je namenjeno obravnavi

štirih glavnih funkcij, ki so aktualne za aplikacijo pri delu z Arduinom v OŠ.

Naloga analogno digitalnega pretvornika je pretvarjanje analognega signala v

binarna števila. Pri pretvarjanju se analogni signal v celoti ne pretvori v digitalni

signal, pač pa se vhodnemu (analognemu) signalu odvzema vzorce v določenih

časovnih intervalih, shranjeni vzorci pa so zapisani v digitalni obliki. Če vzorce

vhodnega signala odvzemamo dovolj pogosto dobimo za rezultat dober približek

tega, kar je bil vhodni signal. Slika 5.9 prikazuje a) dejanski signal in vzorčenje, b)

vrednosti, ki jih analogno digitalni pretvornik zabeleži. Potrebno se je zavedati, da po

vzorčenju lahko le sklepamo na dejanski potek signala, saj točno poznamo le točke,

ki jih je pretvornik vzorčil. Podatek o poteku funkcije med dvema vzorčenjema je

izgubljen. Zato je pomembno, da vzorčimo signal dovolj hitro, da ne zgrešimo hitrih

sprememb [7].

5.2.1 ANALOGNO DIGITALNI PRETVORNIK

Page 27: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

16

Slika 5.9: Grafični prikaz poteka analogno-digitalne pretvorbe [7].

Analogno digitalni pretvornik je vez med realnim svetom, kjer meritev izvajamo in

digitalnim svetom, kamor meritve shranjujemo in jih kasneje obdelujemo. Večina

senzorjev, ki jih uporabljamo pri merjenju oddajajo zvezen električni signal. Ta signal

analogno digitalni pretvornik pretvori v diskretne vrednosti, ki jih naš računalnik

shrani. Obstajajo tudi senzorji imajo že lastno elektroniko, ki nam pošilja že

pretvorjene digitalne podatke.

Arduino je opremljen z 10-bitnim analogno-digitalnim pretvornikom. Vhodne napetosti

med 0 V in 5 V razdeli na vrednosti med 0 in 1023. Preprost izračun nam pove, da

vsaka sprememba napetosti za 4,9 mV ustreza spremembi shranjene vrednosti za 1.

Čas, ki ga potrebuje za eno odčitavanje je približno 0,1 ms, kar pomeni, da lahko

odčita vrednost vhodnega signala približno 10000-krat na sekundo, kar je za potrebe

računalniško podprtih merjenj v šoli več kot dovolj [3,7].

Arduino ima šest pinov, preko katerih lahko analogne signale pretvarjamo v digitalne.

Ob njih je zapisano »ANALOG IN« in so na sliki 5.2 označeni s črko i [7].

Pulzno širinska modulacija je način, kako lahko z digitalnimi sredstvi dosežemo

analogne rezultate. Uporabimo digitalno krmiljenje, da ustvarimo pravokotni signal ki

ga preklapljamo med stanjem 1 in 0. Na začetku si izberemo fiksni časovni interval, ki

se tekom krmiljenja ne spreminja. Znotraj intervala imamo možnost, da bremenu

dovajamo moč ali pa ne. Če želimo, da breme deluje s 50 % moči, potem je čas

trajanja, ko bremenu dovajamo moč (digitalni izhod je v stanju 1) enak času, ko

bremenu moči ne dovajamo (digitalni izhod je v stanju 0). Skupno trajanje teh dveh

časov je fiksni časovni interval. Razmerje med časom dovajanja moči in fiksnim

časovnim intervalom nam pove s kolikšno močjo deluje breme. Primer: če si za

časovni interval T izberemo 1 s in želimo, da breme deluje s 30 % moči, potem mora

biti digitalni izhod v stanju logične enke 0,3 s in v stanju logične ničle 0,7 s [3,8].

5.2.2 PULZNO ŠIRINSKA MODULACIJA

Page 28: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

17

Na sliki 5.9 so primeri grafov, kjer je moč porabnika enaka 0 %, 25 %, 75 % in 100 %.

Vidimo, da dlje kot je digitalni izhod v stanju 1, z večjo močjo deluje breme [3].

Slika 5.10: Grafični prikaz pulzno širinske modulacije [3].

Pulzno širinska modulacija je funkcija, ki jo ima Arduino že vgrajeno. Na sliki 5.2

lahko vidimo, da je takih priključkov šest in so posebej označeni z vijugo (~). S

pulzno širinsko modulacijo lahko krmilimo koračne motorje, moč elektromotorjev,

svetilnost svetlečih diod, servomotorje, itd., kar nam pride prav predvsem pri

poučevanju predmetov, kjer je večji delež pozornosti namenjen krmiljenju različnih

porabnikov [3,5,6].

V nekaterih primerih se kot uporabna funkcija Arduina izkaže možnost, da med seboj

povežemo dve Arduino razvojni ploščici, ki lahko komunicirata (možno je povezati

tudi več kot dve ploščici). Komunicirata lahko preko I2C protokola. Za vzpostavitev

komunikacije med ploščicama potrebujemo dve liniji: serial clock (SCL), preko

katerega Arduino »master« pošilja signal v določenih intervalih in serial data (SDA),

preko katerega poteka dejanska komunikacija med »master« in »slave« ploščico [3,

9].

Ko signal na SCL preide iz 0 na 1, se v smeri od »master« ploščice proti »slave«

ploščici pošlje bit, ki ustrezno naslavlja izbrano napravo (v našem primeru »slave«

ploščico) oziroma podatek na izbrani napravi. Ko je informacija poslana »slave«

ploščici ta izvede ukaz in pošlje zahtevane podatke »master« ploščici, ki jih ustrezno

obdela [3].

5.2.3 I2C PROTOKOL

Page 29: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

18

I2C protokol je naprednejša funkcija Arduina, ki je za poučevanje v OŠ prezahtevna,

razen za morda peščico učencev, ki jih elektronika zanima in imajo lastnega znanja o

tem področju dovolj.

Arduino razvojna ploščica ima zaporedna vrata (ang. serial port), ki nam omogočajo

neposredno komunikacijo z računalnikom. Ne le, da z računalnikom pošiljamo skice

na Arduino, temveč lahko tudi po tem, ko je skica nameščena, komuniciramo s

ploščico. Komunikacija z računalnikom poteka preko USB priključka. Podatke lahko

prejemamo in pošiljamo ploščici preko Arduino IDE programskega okolja, kjer imamo

možnost aktiviranja Arduino Serial Monitorja. Serial Monitor izpisuje podatke, ki jih

Arduino pošilja nam, lahko pa tudi mi pošljemo Arduinu določene podatke, ki jih

ustrezno interpretira in uporabi [3,5,6].

Za nas je pomembnejša funkcija ta, da lahko na ta način pošiljamo podatke direktno

v Microsoft Excel (program, ki je nameščen praktično na vsakem računalniku v

šolah). V Excelu se podatki lahko zapišejo v tabelo, kjer jih lahko nato obdelamo in

predstavimo (z grafom, v tabeli).

5.3 PRIMER PRVE UPORABE ARDUINA

Možnosti za uporabo Arduina so praktično neomejene in nemogoče bi bilo zajeti prav

vse možne uporabe. Vsak, ki se že dlje ukvarja ali pa se šele začenja ukvarjati s

programiranjem in izdelavo različnih testnih vezji si oblikuje svoj pogled na delo z

določenim razvojnim okoljem in na možnosti, ki jih posamezno okolje ponuja. Več

izkušenj pomeni tudi boljšo selekcijo idej, ki jih lahko realiziramo oziroma ob izdelavi

tudi bolje optimiziramo delovanje.

Arduino poznavalci začetnikom kot prvi program priporočajo Utripajoča LED (ang.

Blinking LED). Vzrok temu je, da ima Arduino že vgrajeno svetlečo diodo (pin 13), ki

jo lahko uporabimo kot digitalni izhod ter tako preverimo, če Arduino pravilno deluje

[5].

Na računalniku zaženemo Arduino IDE in med že obstoječimi primeri, ki jih program

ponudi izberemo Blink( File → Examples → 01.Basics → Blink). Kljub temu pa je

bolje, da kodo prepišemo sami, saj jo bomo tako bolje razumeli. V prostoru, ki je

namenjen zapisu skice se ob izbiri primera izpiše skica ki izgleda tako kot na sliki

5.8.. Ko je skica zapisana kliknemo Preveritev in v kolikor nam program ne javi

napake, je pripravljena za nalaganje na Arduino. Kliknemo na gumb Posnemi in

počakamo, da se skica naloži [5].

Skica se na Arduino naloži zelo hitro. Če podrobno spremljamo prostor za sporočila

vidimo, da se nam izpišejo določeni podatki o prenosu kode itd., vendar to za nas ni

pomembno. V primeru, da se v prostoru za sporočila karkoli obarva rdeče to pomeni,

da je v skici napaka, ki jo je potrebno odpraviti. Odpravimo jo tako, da vsako vrstico

skice posebej pregledamo in preverimo, če so vsi znaki pravilno vpisani. Če je

prenos na Arduino uspešen se v polju za sporočila izpiše "done uploading" in s tem

je prenos zaključen [5].

5.2.4 UART KOMUNIKACIJA

Page 30: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

19

Na ploščici sta dve svetleči diodi, ki sta označeni s Tx in Rx. Ti diodi utripneta vedno,

ko je en bit podatkov poslan oziroma sprejet. Tekom prenašanja skice utripata

neprestano. Ko je skica prenešena na Arduino, bo tam ostala dokler je ne prepišemo

z novo skico. Skica ostane zapisana na Arduinu tudi če ploščico resetiramo oziroma

izklopimo iz napajanja, podobno kot podatki na trdem disku našega računalnika [4,5].

Če podrobneje pogledamo skico, slika 5.8, lahko vidimo, da je sestavljena iz dveh

glavnih delov, ki ju definirata vrstici: void setup () in void loop (), ki ju omejujejo zaviti

oklepaji - {, }. Znotraj teh oklepajev lahko pišemo ukaze. Arduino vedno pričakuje, da

ti dve funkciji zapišemo [4-6].

Prvi del kode definira ukaz void setup (), ki nastavi vse potrebno za pravilno

delovanje Arduina - nastavi namembnost priključkov: analogni/digitalni vhod/izhod.

Kakšen tip priključka nastavimo je odvisno od tega, kaj bomo nanj priključili. Drugi

del skice definira ukaz void loop (), ki že v prevodu pove, da gre za zanko. Ta del

programa Arduino izvaja neprestano. Ko izvede ukaze do konca skice, se vrne na

začetek loop () dela in ga izvede ponovno. Ta proces ponavlja dokler skice ne

prepišemo z novo ali pa ga izklopimo iz napajanja. Arduino po delovanju namreč ni

enak običajnemu računalniku - ne more izvajati večjih programov hkrati in programi

se ne morejo ustaviti. Ko ploščico priključimo na napetost se skica začne izvajati, ko

izvajanje želimo ustaviti ploščico preprosto izključimo iz napajanja [4-6].

Vsak del besedila v vrstici, pred katerim stoji //, ga Arduino ignorira. Ti dve poševnici

definirata komentar znotraj skice. Komentarje uporabljamo zato, da z njimi povemo

čemu je določen del ukazov v skici namenjen. Na ta način je tistim ki skico berejo za

nami lažje razumeti kako program deluje, ali pa vemo sami, kaj določen del skice

pomeni, ko ga čez čas popravljamo/optimiziramo [5].

Če pogledamo skico, lahko še pred vrstico void setup () vidimo zapisano int led = 13.

Pred izvajanjem setup vrstice lahko definiramo konstante, ki ostanejo skozi celotno

skico enake. Tako bo Arduino vedno, kadar bo videl zapis led, le tega pretvoril v

številko 13. V tej skici je številka 13 izbrana zato, ker je na trinajsti priključek vezana

svetleča dioda. Definiranje takšnih konstant je smiselno kadar imamo na ploščico

priključenih več različnih elementov, saj lahko znotraj kode pišemo ime elementa in

se nam ni potrebno točno zapomniti, kam je ta element priključen [4-6].

Naslednji del skice je setup (), kjer z ukazom pinMode () definiramo namembnost

priključka. Ukaz pinMode od nas pričakuje dva podatka - kateri priključek definiramo

in kako ga definiramo. V našem primeru definiramo priključek 13 kot digitalni izhod,

zato zapišemo: pinMode (led, OUTPUT). Ker smo priključek 13 definirali kot led, lahko

preprosto zapišemo led in Arduino bo razumel, da se beseda nanaša na 13.

priključek [4-6].

Ko so zgornji ukazi izvedeni, se začne izvajati koda znotraj loop () dela. Ta koda se

izvaja neprekinjeno. Če jo pogledamo podrobno, se v njej pojavita še dva nova

ukaza: digtalWrite() in delay(). Ukaz digitalWrite() je namenjen upravljanju digitalnih

izhodov. Z njim lahko vklopimo ali izklopimo (določimo stanje 1 ali 0) izhod. Ukaz

pričakuje dva podatka - kateri priključek in kakšno stanje. Mi želimo, da svetleča

Page 31: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

20

dioda utripa, zato za vklop zapišemo digitalWrite(led, HIGH), za izklop pa

digitalWrite(led, LOW) [4-6].

Arduino izvaja skice tako da izvede vse ukaze v posamezni vrstici in nato nadaljuje z

naslednjo. Arduino izvaja ukaze s taktom 16 MHz, kar pomeni, da vsako sekundo

izvede 16 milijonov ukazov. Če bi mi z ukazi vklopili in izklopili svetlečo diodo bi le ta

utripala, vendar bi bilo utripanje tako hitro, da bi se nam zdelo, da svetleča dioda

sveti. Dioda bi se v tem primeru vsako sekundo prižgala 8 000 000-krat, naše oko pa

ne zazna utripanja, če je le-to hitrejše kot 20-krat na sekundo. Da lahko vidimo

utripanje uporabimo ukaz delay(). Ukaz pove Arduinu, da mora počakati. Koliko časa

čaka določimo z argumentom, ki ga vpišemo: delay(1000). Podatek je zapisan v

milisekundah (1000 ms = 1 s) [4-6].

Program deluje tako, da Arduino najprej vklopi svetlečo diodo, nato počaka eno

sekundo in diodo izklopi. Po izklopu zopet počaka eno sekundo, zatem diodo zopet

vklopi, počaka eno sekundo ...[4-6].

Page 32: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

21

6 MOŽNOSTI UPORABE ARDUINA V OSNOVNI ŠOLI

Arduino razvojno okolje je zaradi svoje cenovne dostopnosti, vsestranske uporabnosti in preprostosti za uporabo primerno za uporabo v OŠ pri poučevanju fizike, kemije, biologije in tehnike.

6.1 UPORABA ARDUINA PRI POUČEVANJU FIZIKE

Fizika je, od vseh predmetov ki se poučujejo v OŠ, najbolj bogato zastopana z eksperimenti, ki jih lahko izvajamo s pomočjo računalnika.

Učenci se v 8. razredu učijo o enakomernem gibanju. Pri obravnavi enakomernega gibanja se srečajo z grafi odvisnosti poti in hitrosti od časa. Poučevanje poteka tako, da s štoparico merimo čas in na določen časovni interval (npr. 2 s) označimo lego, izmerimo razdalje oznak od izhodišča in jih vnesemo v graf ter narišemo krivuljo. Učencem lahko eksperiment naknadno predstavimo s pomočjo računalnika. Arduino povežemo z ultrazvočnim merilnikom razdalje in z njim zabeležimo gibanje vozička. Podatke lahko obdelamo npr. v Microsoft Excelu in narišemo grafa. Na podoben način lahko obravnavamo temo pospešenega gibanja in 2. Newtonovega zakona. Poleg kinematike lahko računalniško podprto merjenje uporabimo za razlago Ohmovega zakona in pojavov, povezanih s toploto in toplotnim tokom [10].

6.2 UPORABA ARDUINA PRI POUČEVANJU TEHNIKE

Pri poučevanju tehnike je vsebin, kjer se lahko Arduino uporabi malo. Uporabimo ga lahko pri poučevanju vezji z več stikali (logična stanja), saj lahko učencem pokažemo, na kakšen način lahko namesto vezja napišemo program, ki bo deloval na enak način kakor stikala v vezju [11].

V sklopu tehnike se na šolah izvajajo tudi izbirni predmeti, med katerimi velja izpostaviti Robotiko v tehniki. Ostali izbirni predmeti v svojem načrtu ne zajemajo večjih poudarkov za delo z računalniškim krmiljenjem, zato so v tem diplomskem delu izpuščeni.

Robotika v tehniki je tehnični izbirni predmet, ki poteka eno leto. Poudarek je na konstruiranju modelov računalniško krmiljenih strojev in naprav. Namen predmeta je povezati znanje o geometriji, strojnih elementih, elektroniki, računalništvu in tehnologiji. Učenci osnovna znanja pridobivajo preko praktičnega dela, kjer se učijo o konstrukcijah tipičnih robotskih rok, o elektronskih krmiljih, ki so potrebna za računalniško vodenje in o čutilnikih, ki omogočajo povratno delovanje na krmilje [12].

V uvodu v predmet se učenci spoznajo s teoretičnimi dejstvi o računalniško krmiljenih strojih in napravah, da dobijo občutek kako zelo razvejana veda je robotika. Po teoretičnem uvodu učenci začnejo s spoznavanjem strojnih elementov, ki so nepogrešljivi v robotiki. Iz ene od tehničnih zbirk sestavljajo model robotskega podnožja, ki ga poganja enosmerni elektromotor z reduktorjem vrtljajev. Elektromotor krmilijo ročno preko stikala. Ko razumejo kako elektromotor omogoča delovanje

6.2.1 UPORABA ARDUINA PRI POUČEVANJU ROBOTIKE V TEHNIKI

Page 33: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

22

robotske roke lahko v naslednjem koraku krmilijo elektromotor s pomočjo računalnika. Na tem mestu je Arduino primerna rešitev, preko katere lahko učenci krmilijo elektromotor in svojo robotsko roko tekom predmeta nadgrajujejo do te mere, da sestavijo model robotske roke s tremi prostostnimi stopnjami. Ko končajo z izdelavo robotske roke učni načrt predvideva, še sestavljanje različnih računalniško krmiljenih modelov (dvigalo, semafor, garažna hiša, mobilni robot,...), kar lahko prav tako podpremo z Arduinom, ki ga učenci že dobro poznajo [12].

Uporaba Arduina pri poučevanju kemije je precej omejena. Pri kemiji v OŠ se uporabljajo eksperimentalne metode, pri katerih ne potrebujemo računalniško podprtega merjenja. Primer, v katerem bi Arduino lahko uporabili so eksperimenti, pri katerih spremljamo spreminjanje temperature s časom [13].

Tudi v sklopu biologije je možnosti za aplikacijo Arduina v poučevanje malo. Podobno kot pri kemiji, lahko Arduino uporabimo pri poskusih, ki od nas zahtevajo beleženje podatkov v daljšem časovnem obdobju. Npr. če želimo preveriti kako neka rastlina uspeva pod določenimi pogoji, lahko z Arduinom beležimo podatke o temperaturi in vlagi prostora, v katerem se rastlina nahaja, prav tako pa lahko spremljamo vlažnost zemlje, v katero je rastlina posajena [14].

6.2.2 UPORABA ARDUINA PRI POUČEVANJU KEMIJE IN BIOLOGIJE V

OSNOVNI ŠOLI

Page 34: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

23

7 SKLEP

Z diplomskim delom smo zajeli predvsem strokovno in delno tudi didaktično področje o uporabi računalnika pri pouku v OŠ. V današnji poplavi elektronski naprav je bilo glavno vodilo to, da učitelj lahko uporabi čim več tistega kar že ima v razredu. Danes praktično nimamo več učilnice, v kateri ne bi bilo računalnika skupaj s projektorjem, ki omogočata uporabo IKT pri pouku. Tudi učenci so že navajeni poučevanja, ki je izvaja s pomočjo IKT in omogoča učitelju veliko več možnosti za grafični prikaz obravnavane snovi. Drugo vodilo je bila cena. Iz pogovorov z učitelji lahko izvemo, da so finančna sredstva za nakup didaktičnih pripomočkov skrbno porabljena in so namenjena večinoma za najnujnejše nakupe. Učitelj fizike, ki bi želel poskuse katere izvaja pred učenci podkrepiti z računalniško podprtim merjenjem bo svoj predlog za nakup didaktičnih pripomočkov dobil zavrnjen. Podobno se dogaja v okviru vseh predmetov, saj denarja za večje nakupe ni.

Alternativa dragim komercialnim sistemom so MRP. Nakup takšne razvojne ploščice stane le delček cene, ki jo imajo komercialni sistemi. Za potrebe računalniško podprtih merjenj so dovolj zmogljive in omogočajo velik spekter uporabe. Poleg tega je program v katerem programiramo ploščico brezplačen oziroma lahko za zajem podatkov uporabimo Microsoftov Excel, ki je standardno nameščen na vseh računalnikih na šolah kot del Microsoft Office paketa. Vendar pa nizka cena za seboj prinese tudi eno večjo pomanjkljivost in sicer preprostost uporabe. MRP namreč niso sprogramirane za natančno določene naloge, pač pa moramo to narediti sami. Izdelati je potrebno merilnike in napisati program za MRP, da deluje tako kot to želimo. Težava je v tem, da ima večina učiteljev (razen učiteljev fizike in tehnike) zelo malo znanja o elektroniki in skoraj nič znanja o programiranju in sami niso sposobni izdelati merilnika.

Za učitelja se smatra, da je strokovnjak na svojem področju in da naj bi razumel

delovanje senzorjev, ki se uporabljajo za merjenje z računalnikom. V kolikor učitelj

pozna princip delovanja se lahko obrne na učitelja kolega, ki je tovrstnih opravili bolj

vešč in skupaj lahko izdelata merilni sistem, ki bo deloval. Glede na cenovno

dostopnost in vsestransko uporabnost je Arduino primerna izbira za učitelja, ki želi v

eksperimentalni del svojega poučevanja vključiti računalnik.

Page 35: UNIVERZA V LJUBLJANI PEDAGOŠKA FAKULTETApefprints.pef.uni-lj.si/4254/1/Prosen_K_diplomski_projekt_v6.pdf»hobi« proizvajalcev, ki določene izdelke bolj kot za zaslužek razvijajo

24

8 LITERATURA IN VIRI

[1] www.vernier.com

[2] www.pasco.com

[3] www.arduino.cc

[4] Wikipedia – Single-board microcontroler [https://en.wikipedia.org/wiki/Single-

board_microcontroller]

[5] Banzi M., Shiloh M., Make: Gettig started with Arduino (California, Maker Media,

2014)

[6] Langbridge J. A., Arduino sketches (Indiana, John Wiley & Sons, Inc., 2015)

[7] Švegelj B. in Praznik A. (2011). Analogno-digitalna pretvorba in vrste analogno-

digitalnih pretvornikov. Seminarska naloga, Ljubljana: Univerza v Ljubljani,

Fakulteta za elektrotehniko.

[8] Mitrović V. (2012). MikroPin, razvojni sistem za 13 € (4). Svet elektronike. 2012

(11), 23-29.

[9] Wikipedia – I2C [https://en.wikipedia.org/wiki/I%C2%B2C]

[10] J. Bajc in ostali, Učni načrt - Program osnovna šola – Fizika (Ljubljana,

Ministrstvo RS za šolstvo in šport, Zavod RS za šolstvo, 2011).

[11] A. Praprotnik in ostali, Učni načrt – Tehnika in tehnologija (Ljubljana, Ministrstvo

za šolstvo znanost in šport, Zavod RS za šolstvo, 2011).

[12] S. Kocijančič in ostali, Učni načrt – Robotika v tehniki (Ljubljana, Ministrstvo za

šolstvo znanost in šport, Zavod RS za šolstvo, 2011).

[13] A. Bačnik in ostali, Učni načrt - Program osnovna šola – Kemija (Ljubljana,

Ministrstvo RS za šolstvo in šport, Zavod RS za šolstvo, 2011).

[14] B. Vilhar in ostali, Učni načrt - Program osnovna šola – Biologija (Ljubljana,

Ministrstvo RS za šolstvo in šport, Zavod RS za šolstvo, 2011).