Arduino įvestis ir išvestis

Iš ankstesnių pamokų jau žinote, kad Arduino plokštės pin‘ai gali būti naudojami tiek įvesčiai tiek išvesčiai. Svarbu atkreipti dėmesį į tai, kad nors Arduino turi ne tik skaitmeninius, bet ir analoginius pin‘us, tinkamai sukonfigūravus, tai netrukdo jų panaudoti skaitmeniniai išvesčiai ar įvesčiai.

Pagal išankstines nuostatas Arduino kaiščiai (pin‘s) yra numatyti įvesčiai, todėl, kad naudojant juos priimtumėme reikšmes nebūtina nieko papildomai konfigūruoti. Visgi norint pritaikyti pin‘ą išvesčiai, būtina naudoti funkciją pinMode()

pinMode() funkcija – Arduino naudojama siekiant konkretų kaišti naudoti norimam domenų perdavimo tipui. Ši funkcija reikalauja dviejų parametrų tai yra pin‘o numerio (kuris atitinka skaičių esantį ant Arduino plokštės) ir duomenų perdavimo tipo (INPUT arba OUTPUT). 

Funkcijos pavyzdys:

pinMode(5, OUTPUT); // ši funkcija skaitmeninį kaištį 5 pritaiko išvesties naudojimui.

pinMode(6, INPUT); // ši funkcija skaitmeninį kaištį 6 pritaiko įvesties naudojimui.

digitalWrite() funkcija - Ši funkcija įrašo skaitmeninę reikšmę į kaištį, tam kad išvestie metu būtų galima prijungtą komponentą valdyti. Kaip ir anksčiau pateikta funkcija taip pat reikalauja tam tikrų parametrų – privalomą nurodyti pin‘o numerį, o kaip antrąjį parametrą būtina nurodyti priskiriamą reikšmę HIGH arba LOW. Šios reikšmes binarine prasme atitiktų 1 ir 0 reikšmes.

Funkcijos pavyzdys:

digitalWrite(5, HIGH);   // ši funkcija į skaitmeninį kaištį 5 siunčia HIGH reikšme kuri prie jo prijungtą parametrą privers veikti.

digitalRead() funckija – naudojama skaitmeninių duomenų nuskaitymui. Ši funkcija reikalauja tik vieno parametro – kaiščio nuo kurio nuskaitoma grąžinama reikšmė numerio. Kadangi tai skaitmeninio signalo nuskaitymas ši funkcija gali grąžinti tik dvi reikšmes HIGH arba LOW.

Funkcijos pavyzdys:

digitalRead(6); // funkcija leis nuskaityti reikšmę gaunamą iš 6 pin‘o.

Svarbu suprasti tai, kad skaitmeninės funkcijos suteikia galimybe išvesti ir gauti tik dviejų tipų duomenis – HIGH ir LOW kurios kitose programavimo kalbose atitiktų reikšmes 1 ir 0 arba true ir false. 

Norint nuskaityti analogines reikšmes būtina naudoti analoginių reikšmių įvesties funkciją – analogRead().

Taip pat būtina naudoti pin‘us kurie skirti analoginių reikšmių valdymui. Jie ant Arduino plokštės žymimi raide A šalia kurios prirašomos kaiščio eilės numeris.

analogRead() funckija – taip pat kaip ir digitalRead() reikalauja vieno parametro kuris atitinka kaiščio numerį iš kurio bus nuskaitoma reikšmė. Tačiau kitaip nei skaitmeninio signalo nuskaitymas analoginio signalo nuskaitymas gali grąžinti itin platų spektrą reikšmių kurios atitinka skaičius nuo 0 iki 1023. Tarkime jei skaitmeninis signalas grąžina reikšmę HIGH (1), tai ši reikšmė yra lygi 5 voltų įtampai, jei grąžina LOW (0), tai įtampa lygi 0. Tuo tarpu analoginiam signalui grąžinant reikšmę 1023 įtampa bus lygi 5 voltams gražinant 0 įtampa irgi bus lygi 0 voltų. Tačiau visos reikšmės tarp 0 ir 1023 irgi įmanomas – pavyzdžiui reikšmė 512 bus lygi 2.5 voltų įtampai, 256 bus lygu 1.25 voltų įtampai.

Funkcijos pavyzdys:

valu = analogRead(3);  // kintamajam priskiriama nuskaitoma reikšmė

Serial.println(valu); //  reikšmė išvedama į serijinį monitorių.


Socialiniai tinklai
Pasiekite mūsų bendruomenę socialinėje erdvėje
Siekiame suburti tvirta ir draugiška bendruomene socialiniuose tinkluose, kuri bus pasiekiama ir atvira visiems.
Facebook
Youtube
Github
Codepen
LinkedIn
Instagram
Bendruomenė
Arduinopagalba.lt
Nesvarbu ar tu ieškai informacijos ar nori ją perduoti, mūsų bendruomenėje laukiami visi. Siekiame, kad projektas ne tik teiktų informaciją, bet ir padėtų surasti bendraminčius.
Prisijungti