Arduino koolituse seitsmes tund ultrahelianduri kasutamine

Seotud dokumendid
E-arvete juhend

G aiasoft Programmi VERP ja Omniva Arvekeskuse liidese häälestamine ja arvete saatmine-lugemine VERP 6.3 ja VERP 6.3E Versioon ja hilisemad K

MTAT Operatsioonisüsteemid - Turvalisus

(10. kl. I kursus, Teisendamine, kiirusega, kesk.kiirusega \374lesanded)

Outlookist dokumendi registreerimine Plugina seadistamine Dokumendi registreerimine Outlookist Vastusdokumendi registreerimine Outlookist Outlooki plu

Andmed arvuti mälus Bitid ja baidid

(loeng3-ohtlikud_koodiloigud)

PowerPointi esitlus

6 tsooniga keskus WFHC MASTER RF 868MHz & 4 või 6 tsooniga alaseade SLAVE RF KASUTUSJUHEND 6 tsooniga WFHC RF keskus & 4 või 6 tsooniga alaseade SLAVE

B120_10 estonian.cdr

SK-3MD

(Microsoft Word - T\366\366leht m\365isaprogramm 4-6 kl tr\374kkimiseks.doc)

Euroopa Liidu Nõukogu Brüssel, 24. september 2015 (OR. en) 12353/15 ADD 2 ENV 586 ENT 199 MI 583 SAATEMÄRKUSED Saatja: Kättesaamise kuupäev: Saaja: Eu

Microsoft Word - Karu 15 TERMO nr 527.doc

Microsoft Word - EHR.docx

Tartu Ülikool

Võistlusülesanne Vastutuulelaev Finaal

MTAT Operatsioonisüsteemid - Turvalisus

Õppeprogramm „vesi-hoiame ja austame seda, mis meil on“

Microsoft Word - essee_CVE ___KASVANDIK_MARKKO.docx

GRUPI-SMS Veebirakenduse kasutamise juhend Rakendus Elisa grupi-smsi rakendus Väljaandja Elisa Eesti AS Juhendi koostamise kuupäev Versioon

Rahulolu_uuring_2010.pdf

Robootika ringi tööplaan Sven Hendrikson - Tartu Kivilinna Kool Heilo Altin - MTÜ Robootika 1. klass Ringitunni kestus: üks 60-minutiline tund nädalas

Esitlusslaidide kujundusest

Microsoft Word - 56ylesanded1415_lõppvoor

PÄRNU TÄISKASVANUTE GÜMNAASIUM ESITLUSE KOOSTAMISE JUHEND Pärnu 2019

ArcGIS Online Konto loomine Veebikaardi loomine Rakenduste tegemine - esitlus

Microsoft Word - Suure thermori pass2.doc

Word Pro - digiTUNDkaug.lwp

VL1_praks6_2010k

SEPTIKU JA IMBVÄLAJKU KASUTUS-PAIGALDUS JUHEND 2017

DUŠINURK MILDA PAIGALDUSJUHEND 1. Enne paigaldustööde alustamist veenduge, et elektrikaablid, veetorud vms ei jääks kruviaukude alla! 2. Puhastage sei

Microsoft Word - Vorm_TSD_Lisa_1_juhend_2015

efo09v2pke.dvi

Microsoft Word - QOS_2008_Tallinn_OK.doc

Microsoft PowerPoint - BPP_MLHvaade_juuni2012 (2)

Microsoft Word - Bose_SoundLink_around-ear_Kasutusjuhend.docx

Õppematerjalide esitamine Moodle is (alustajatele) seminar sarjas Lõunatund e-õppega 12. septembril 2017 õppedisainerid Ly Sõõrd (LT valdkond) ja Dian

Word Pro - diskmatTUND.lwp

Antennide vastastikune takistus

untitled

Mida räägivad logid programmeerimisülesande lahendamise kohta? Heidi Meier

P9_10 estonian.cdr

I Generaatori mõiste (Java) 1. Variantide läbivaatamine Generaator (ehk generaator-klass) on klass, milles leidub (vähemalt) isendimeetod next(). Kons

TELLIJAD Riigikantselei Eesti Arengufond Majandus- ja Kommunikatsiooniministeerium KOOSTAJAD Olavi Grünvald / Finantsakadeemia OÜ Aivo Lokk / Väärtusi

Microsoft PowerPoint - EMCS13

KIIRJUHEND Lugege kiirjuhend enne seadme kasutamist hoolikalt läbi. Kõik tärniga (*) märgitud juhised kehtivad WLAN + 3G mudelitele (Lenovo B6000-H(V)

DVD_8_Klasteranalüüs

Dias nummer 1

Kom igang med Scratch

QUANTUM SPIN-OFF - Experiment UNIVERSITEIT ANTWERPEN

Caterpillar Inc. 100 NE Adams Street, Peoria, IL USA Meedianumber U9NE8460 Tegevusdokument Lisateave GRADE süsteemi komponentide nõuetele vastav

PowerPoint Presentation

PowerPoint Presentation

SINU UKS DIGITAALSESSE MAAILMA Ruuter Zyxel LTE3302 JUHEND INTERNETI ÜHENDAMISEKS

Infix Operaatorid I Infix operaatorid (näiteks +) ja tüübid (näiteks ->) kirjutatakse argumentide vahele, mitte argumentide ette. Näiteks: 5 + 2, 2*pi

DIGITAALTEHNIKA DIGITAALTEHNIKA Arvusüsteemid Kümnendsüsteem Kahendsüsteem Kaheksandsüsteem Kuueteistkü

Funktsionaalne Programmeerimine

Microsoft Word - requirements.doc

KUIDAS PANNA HANKIJAD E-ARVEID SAATMA? E-arvete projekti õnnestumise alus

View PDF

Failiotsing: find paljude võimalustega otsingukäsk find kataloog tingimused kataloog - otsitakse sellest kataloogist ja tema alamkataloogidest tingimu

SAF 7 demo paigaldus. 1.Eeldused SAF 7 demo vajab 32- või 64-bitist Windows 7, Window 8, Windows 10, Windows Server 2008 R2, Windows Server 2012, Wind

Polünoomi juured Juure definitsioon ja Bézout teoreem Vaadelgem polünoomi kus K on mingi korpus. f = a 0 x n + a 1 x n a n 1 x

JABRA STYLE Kasutusjuhend jabra.com/style

Juhend nutiterminali seadistamiseks ja kaardimaksete vastuvõtmiseks Ingenico Link/2500 ja icmp

Sissejuhatus mehhatroonikasse MHK0120

PowerPoint Presentation

NR-2.CDR

Pangalingi spetsifikatsioon Pocopay pangalingilt makse algatamiseks tuleb kasutada teenust Kaupmees teeb päringu Pocopayle aadressile

Paberretsepti digitaliseerimine

HCB_hinnakiri2017_kodukale

Microsoft PowerPoint - Optsioonid(dets08) [Read-Only]

Tarkvaraline raadio Software defined radio (SDR) Jaanus Kalde 2017

Matemaatiline analüüs IV 1 3. Mitme muutuja funktsioonide diferentseerimine 1. Mitme muutuja funktsiooni osatuletised Üleminekul ühe muutuja funktsioo

Document number:

HCB_hinnakiri2018_kodukale

Programmi AnimatorDV Simple+ lühike kasutajajuhend

Taskuprinter KASUTUSJUHEND

(Microsoft Word - T\366\366leht m\365isaprogramm algklassilastele tr\374kk 2.doc)

loeng2

Microsoft Word - HEOS 1 kasutusjuhend EST.docx

IDA-TALLINNA KESKHAIGLA Statsionaarsete patsientide rahulolu uuring

ELUPUU Eestikeelne nimi Harilik elupuu, levinud ka hiigelelupuu Ladinakeelne nimi Thuja occidentalis ja thuja plicata Rahvapärased nimed Ilmapuu, tule

遥控器使用说明书(ROHS) ALPA-CS349-R09D(E)-0301(内容)

Juhend Merit Aktivas korteriühistu erilahenduse kasutamiseks Merit Aktiva Pro ja Premium pakettides on olemas erilahendus korteriühistutele. Seda saab

Eesti keele võõrkeelena olümpiaadi lõppvoor 2013 Kõik ülesanded on siin lühendatult. Valikus on küsimusi mõlema vanuserühma töödest. Ülesanne 1. Kirju

Abiarstide tagasiside 2016 Küsimustikule vastas 137 tudengit, kellest 81 (60%) olid V kursuse ning 56 (40%) VI kursuse tudengid. Abiarstina olid vasta

DE_loeng5

PowerPoint Presentation

Microsoft Word - HOTSEC kasutusjuhend v1.900.docx

ITI Loogika arvutiteaduses

HAJUSSÜSTEEMID HAJUSSÜSTEEMID Kaugprotseduurid IDL kompileerimine ONCIDLnäide CORBAIDLnäide MIDLnäide DCERPCmuidomadusi XML-RPC JSON-RPC REST document

Voodiagrammid.dft

Remote Desktop Redirected Printer Doc

EESTI MEISTRIVÕISTLUSED PONIDE TAKISTUSSÕIDUS 2005

KOOLITUSTE HALDAMINE E-TÖÖTUKASSA KASUTAJAJUHEND 1

Microsoft Word - ref - Romet Piho - Tutorial D.doc

Väljaandja: Regionaalminister Akti liik: määrus Teksti liik: algtekst-terviktekst Redaktsiooni jõustumise kp: Redaktsiooni kehtivuse lõpp:

Praks 1

Väljavõte:

Arduino koolituse seitsmes tund ultrahelianduri kasutamine Õppematerjali koostajad: Indrek Karo ja Angela Leppik Ultraheliandureid on mitut erinevat tüüpi. Tinkercadis on kasutusel kaks erinevat nelja pistikuga (pilt nr. 46) ja kolme pistikuga (pilt nr. 47). Füüsilise Arduino puhul on tavaliselt kasutusel nelja pistikuga andur, sest see on odavam ning loogikast on lihtsam aru saada. Pilt nr. 46 Pilt nr. 47 Ultrahelianduri loogika Ultrahelianduri tööloogika on üsna lihtne andur saadab heli välja ning ootab, kui see tagasi põrkab ning selle teabe alusel arvutab Arduino välja ees oleva takistuse kauguse. Ehk signaal saadetakse välja pesast TRIG ning tagasi tuleva signaali puhul saabub signaal, mille puhul muutub aktiivseks pesa ECHO. Kolme pistikuga anduril on tööloogika sama, aga signaali töötlemiseks kasutatakse ainult ühte pesa, nagu on näha pildil nr. 48. Ultraheli kasutavad ka erinevad loomad, näiteks nahkhiired ja delfiinid, sest nad tegutsevad tingimustes, kus nägemisest pole suurt kasu. Pilt nr. 48 1

Kuna nelja jalaga andurid HC-SR04 on laialdasemalt kasutusel, siis on mõistlik kõigepealt vaadata kuidas ühendada ning luua kauguse mõõtmiseks sobivat programmi. Nende andurite teoreetiline mõõteulatus on 2-450 cm, praktiliselt aga mõõdavad 2 80 cm. Tinkercadi puhul see nii oluline ei ole. Enne kui teha programm, tuleks teada, kuhu midagi ühendada (pilt nr. 49). Pilt nr. 49 Pildil nr. 49 näidatud anduri neli jalga on kasutusel järgnevalt: VCC 5 volti (ühendatakse Arduino pesasse 5V); TRIG välja saadetav signaal, ühendatakse digitaalsignaali pesasse (hetkel pesa nr. 12); ECHO vastu võetav signaal (see on varasemalt välja saadetud signaal, mis takistuselt tagasi põrkab), ühendatakse digitaalsignaali pesasse (hetkel pesa nr. 13); GND maandus, ühendatakse pesasse GND. Pildil nr. 49 ära toodud skeemi programmis on kasutusel long tüüpi muutuja. See muutuja on kasutusel suurema mahuga tulemuste salvestamiseks ning salvestab kuni 32 bitti andmeid. Samuti 2

on programmis kasutusel valem, millega arvutatakse välja saadetud heli tagasi jõudmise aja abil anduri ees oleva takistuse kaugus. Programmis on kasutatud pesade defineerimist, et oleks lihtsam meelde jätta ühendusi. Samuti on kasutusel käsklus pulsein, mis põhimõtteliselt vaatab sissetuleva impulsi kestust mikrosekundites. Käsus on antud väljaviigu väärtus kas HIGH või LOW. Näiteks, kui on väljaviik nimega kaja ning väärtuseks HIGH siis seda kirjutatakse nii pulsein (kaja, HIGH). Arduino ootab kuni väljaviigu väärtus muutub LOW asemel HIGH ning hakkab aega mõõtma, kui väärtus on uuesti LOW, siis paneb aja mõõtmise kinni (nagu stopper). Selle käsuga võib tekkida probleeme täpsusega, kui impulss on liiga pika kestusega (toimib kõige paremini kui impulsi kestus on 10 mikrosekundit kuni 3 sekundit). Tavaliselt salvestatakse niiviisi mõõdetud aeg long tüüpi muutujana, et seda pärast edasi töödelda. Ultrahelianduri programm #define kisa 12 #define kaja 13 //defineerime pesa signaali välja saatmiseks //defineerime pesa vastuvõetava signaali jaoks void setup () Serial.begin (9600); //paneme tööle jadapordi monitori kauguse näitamiseks pinmode (kisa, OUTPUT); //teatame Arduinole, et pesast kisa läheb signaal välja pinmode (kaja, INPUT); //teatame Arduinole, et tuleb oodata sisendit pesast kaja void loop () long kestus, kaugus; //tekitame kaks long tüüpi muutujat kestus ja kaugus //siin algab signaali saatmine põhimõtteliselt saadetakse välja 10 mikrosekundiline impulss digitalwrite (kisa, LOW); // kisa ei tee midagi delaymicroseconds (2); //ootab 2 mikrosekundit digitalwrite (kisa, HIGH); //pesast kisa läheb elekter välja delaymicroseconds (10); //ootab 10 mikrosekundit 3

digitalwrite (kisa, LOW); kestus = pulsein (kaja, HIGH); kaugus = (kestus/2)/29,1; // kisa ei tee jälle midagi //kui kaua läheb aega signaali tagasi jõudmiseks? //mõõdab impulsi kestust, et arvutada välja kaugust //kaugus=aeg/2/29,1 jagatakse kahega, sest peab arvestama heli edasi tagasi liikumist, heli kiirus on 29,1 cm mikrosekundis Serial.print (kaugus); Serial.println ("cm"); //kauguse väljastamine //kauguse ühiku väljastamine Inimeste loendaja Kasutades ultraheliandurit ning eelnevat skeemi, saab ehitada inimeste loendamise masina. Põhimõtteliselt on tegemist lihtsalt programmiga, mis vaatab kauguse muutumist. Selle seletamiseks saab vaadata pilti nr, 50. Siin vaatab andur kaugusse. Saame määrata kauguse nimega B (näiteks 50 cm), kui miski anduri ette ilmub. Seda viimast kasutame kui muutujat B, mille abil saame võrrelda kauguse muutumist. Seega, iga kord kui keegi läheb andurile piisavalt lähedale (vähem kui B), siis Arduino arvab, et üks inimene on mööda läinud. Antud programmi puhul tuleb arvestada ka sellega, et inimestel võtab andurist möödumine natuke aega, seetõttu on kasutusel muutuja mode, mis arvestab inimeste möödumisega. Kuigi võib kasutada ka ainult käsku delay, kuid see ei arvesta eriti aeglaselt liikuvate inimestega. Pilt nr. 50 4

Inimeste lugeja programm #define kisa 13 #define kaja 12 int B = 50; int loendur; int mode; //defineerime heli välja saatmise pesa //defineerime heli vastuvõtmise pesa // int tüüpi muutuja, mõõdetava kauguse jaoks, millest väiksem arv tähendab inimese möödumist //muutuja loendur, see on loendatavate inimeste arv //muutuja, millel on 2 erinevat väärtust: 0 ootame inimest, 1 ootame inimese möödumist void setup () Serial.begin (9600); //paneme tööle jadapordi monitori kauguse näitamiseks pinmode (kisa, OUTPUT); //teatame Arduinole, et pesast kisa läheb signaal välja pinmode (kaja, INPUT); //teatame Arduinole, et tuleb oodata sisendit pesast kaja loendur = 0; //paneme paika muutuja loendur algväärtuse (0 sest inimesi pole veel mööda läinud mode = 0; //anname algväärtuse muutujale mode (samuti 0, sest inimesi pole veel mööda läinud) void loop () long kestus, kaugus; //siin hakkab kaugust mõõtma, kasutades long tüüpi muutujaid digitalwrite (kisa, LOW); //siin algab signaali saatmine kauguse mõõtmiseks nagu varem delaymicroseconds (2); digitalwrite (kisa, HIGH); delaymicroseconds (10); digitalwrite (kisa, LOW); kestus = pulsein (kaja, HIGH); kaugus = (kestus/2)/29,1; 5

if (mode == 0) if (kaugus<b) loendur++; mode = 1; else if (kaugus>b) Mode = 0; Serial.print (kaugus); Serial.print ("cm"); Serial.print ("\t"); Serial.print (loendur); Serial.println ("inimest"); Delay (500); //ootame inimest, kedagi ei jaluta anduri eest läbi //kui kaugus on väiksem, kui meie seatud piir (50 cm) //suurendame inimeste arvu //määrame, et ootame inimese ära minekut //muud juhud //kui kaugus on suurem seatud piirist (50cm), siis kedagi ei jaluta anduri eest läbi //siis on muutuja mode väärtus 0, et oodata järgmist inimest //näitab kaugust andurist //kauguse ühik //jätab tühiku vahele //näitab möödunud isikude hulka //möödunud isikute ühik //ootab pool sekundit, et Arduino segadusse ei läheks ja ühte inimest mitmeks inimeseks ei peaks Ette antud skeemide kasutamine Tinkercad võimaldab kasutada ka varasemalt ette valmistatud skeeme. Selle näiteks saab tuua kolme pistikuga ultrahelianduri kasutamise, mis on ära toodud pildil nr. 51. Et kasutada Tinkercadi eelnevalt valmis tehtud skeemi, tuleb valida komponentide hulgast Starters (pildil ära märgitud rohelise noolega) ning nende hulgast Arduino. Siis tekivad komponentide aknasse erinevad ette valmistatud skeemid, mida saab valida. Sealt saab omakorda valida vajaliku skeemi, antud juhul ultrahelianduri kasutamise skeemi (pildil ära märgitud punase noolega). Need on varustatud kohe ka programmiga skeemi töötamiseks. 6

Pilt nr. 51 Kolme pistikuga ultraheliandur Kolme pesaga ultrahelianduri kasutamise loogika on suhteliselt sarnane nelja pesaga anduriga. Lihtsalt tagasi põrkava signaali pikkust vaadatakse läbi ühe pesa (seda on näha ka pildil nr. 48). Programm on inglise keeles ning inglisekeelsete kommentaaridega, kuid arusaadav. Skeem ise on ära toodud pildil nr. 52. Pilt nr. 52 7

Seega saab Tinkercadi kasutades teha natuke sohki ning sellega säästa aega skeemide koostamise arvelt. Programmi loogika on selles, et saadetakse välja impulss, et alustada selle tagasi tuleku ootamist ning tagasi tuleva impulsi pikkus on proportsionaalne takistuse kaugusega andurist. Sellist tegevust nimetatakse ka pingimiseks ehk impulsi välja saatmiseks, et saada vastust. Skeemil on 3 ühendust, mille kirjeldus on ära toodud ka kaasa antud programmis, mis on järgnevad: 5V 5V ka Arduinol; GND maandus; SIG on signaal ning on ühendatud digitaalsignaali töötlemiseks väljaviiguga 7 Arduinol. Selle kohta on ka Arduino kodulehel juhend: http://www.arduino.cc/en/tutorial/ping Programmi selgitus int inches = 0; int cm = 0; //muutuja, mis näitab kaugust tollides //muutuja, mis näitab kaugust sentimeetrites long readultrasonicdistance (int triggerpin, int echopin) // long tüüpi muutuja, mis omakorda sisaldab veel kahte muutujat, triggerpin (sama, mis kisa varasemalt) ning echopin (sama, mis kaja varasemalt), kuigi see muutuja meenutab oma olemuselt juba pisikest funktsiooni pinmode (triggerpin, OUTPUT); //tutvustab signaali välja saatjat digitalwrite (triggerpin, LOW); //ei saada signaali välja delaymicroseconds (2); //ootab 2 mikrosekundit digitalwrite (triggerpin, HIGH); //saadab signaali 10 mikrosekundi jooksul välja (järgmised 3 rida) delaymicroseconds (10); digitalwrite (triggerpin, LOW); pinmode (echopin, INPUT); //loeb signaali amuutujast echopin ning annab helilaine liikumise aja mikrosekundites return pulsein (echopin, HIGH); //käsuga return lõpetatakse ära funktsioon ning väljastatakse funktsiooni seest väärtus, kui seda on vaja 8

void setup () Serial.begin (9600); //paneb tööle jadapordi monitori void loop () cm = 0.01723 * readultrasonicdistance (7, 7); //hakkab mõõtma pingimise kestust sentimeetritega, kasutades selleks varem tutvustatud muutuja readultrasonicdistance ) tulemust pesast 7 (kaks korda välja mineva ja sisse tuleva signaaliga) inches = (cm/2.54); //muudab sentimeetrid tollideks Serial.print (inches); Serial.print ("in"); Serial.print (cm); Serial.println ("cm"); Delay (100); //ootab 100 millisekundit enne kui uuesti mõõdab Antud juhul oli tegemist Tinkercadiga kaasa tuleva näidisprogrammiga, mis on lihtsalt üks võimalustest kasutada ultraheliandurit ning teha natukene sohki skeemide koostamisel, sest tihtipeale on vaja teha keerukamaid skeeme ning on mugav, kui osa tööst on varem valmis tehtud. 9