Arduino DigitalRead, AnalogRead funksiyaları

Salam dostlar, xeyli vaxtdır ki, yazmağa fürsət tapa bilmirdim. Nəhayət bu fürsət əlimə düşdü. Bu dəfə iki məşğələ keçəcəyik. Birinci DigitalRead funksiyası, ikinci isə AnalogRead funksiyası. Bu və gələcək bütün məşğələlərdə breadboard adlandırdığımız alətdən çox istifadə olunacaq. Breadboard haqqında yazıyla buradan tanış ola bilərsiniz. Digital read funksiyasından başlayaq. Bu funksiyadan istifadə edərək pushbutton (sıxılan düymə) tətbiq edə bilərik. Dövrənin sxematik görünüşü aşağıdakı kimidir.

button_sch

Həmçinin dövrənin real görünüşü isə aşağıdakı kimidir. Pushbuttonun qoşulmasına diqqət edin!

button

Onuda qeyd edim ki, şəkillərdə Arduino Uno təsvir edilmişdir. Heç fərqi yoxdur. Bunu Arduino Mega da da tətbiq etmək olar. Bildiyiniz kimi Arduino Mega da pin sayı daha çoxdur. Beləki pin 22 dən 53 ə dək Digital pinlərdir. Məsələn, şəkildə 2 ci pin seçilmişdir, lakin siz 22 dən 53 ə dək istədiyiniz pini seçə bilərsiniz.

Deməli belə, kodlarımızı yazdıqdan sonra dövrənin necə işlədiyinə SERİAL MONİTOR dan nəzarət edəcəyik. Biz push buttonu sıxdıqda 1, buraxdıqda isə 0 olacaq. Serial monitoru işə salmaq üçün Ctrl+Shift+M düymələri sıxılmalıdır.

/*
22 ci pin oxunacaq ve serial monitorda gorunecek
*/
// pin 22 ye buttonu  bağladıq və tanıtdıq
int pushButton = 22;
// setup bir defe heyata kecirilecek
void setup() {
// serial-ardicil portu 9600 baud olaraq qeyd edirik
Serial.begin(9600);
//buttonu oxuyacagimiz pini girish olaraq teyin edirik
pinMode(pushButton, INPUT);
}
//sonsuz dongu
void loop() {
//buton pini oku
int buttonState = digitalRead(pushButton);
// butonun qiymetini buttonState qiymetinden ekrana serial porttan gonder
Serial.println(buttonState);
delay(1);        // biraz gozle
}

Bunlardan istifadə etdik: pinMode, serial.Begin, digitalRead, Serial.println

Əvvəlki məşğələdə qeyd etdiyim kimi // işarəsindən sonra və /* */ işarələri daxilində yazılanlar kodlara qarışmır və bunlar ancaq qeydlərdir ki, sonradan qarışıqlıq yaranmasın. Beləcə kodlarımızı yükləyirik Arduino Megaya. Elə USB əlaqəsi ilədə serial monitora məlumat göndərilir. Yüklədikdən sonra serialmonitoru açın, arduinoda reset düyməsini sıxın. Ondan sonra yığdığınız dövrədə düyməni basaraq dəyişikliyə fikir verin.

İkinci məşğləmizdə isə dediyim kimi analog read funksiyasini Potensiometr vasitəsilə tətbiq edəcəyik. Bildiyimiz kimi elektrik dövrələri yalnız digital yox həm də analog olur. Digital dövrələrdə 0 və 1 lərdən istifadə olunur. Analogda isə belə deyil və müxtəlif qiymətlər ola bilər. Bunu görmək üçün aşağıdakı dövrəni qurmaq və test etmək lazımdır.

AnalogReadSerial_schAnalogReadSerial_BB

/*
10K yaxud 50K lıq bir potensiometri Arduinoya bağlayın
*/
// İlk icra olunacaqlar bura yazılır
void setup() {
// seri porta 9600 baud dəyəri veririk
Serial.begin(9600);
}
// sonsuz döngü
void loop() {
// pin 0 dan analog dəyər oxuyuruq
int sensorValue = analogRead(A0);
// Sensor dəyəri seral portdan ekrana çıxarılır
Serial.println(sensorValue);
delay(1);        // biraz gözlə
}
Bunlardan istifadə etdik: serial.Begin, analogRead, Serial.println, delay
Əlavə olaraq videonu izləyin. Suallarınızı həm forumda Arduino bölməsində, həmdə aşağıda comment bölməsində yaza bilərsiniz. Uğurlar
Advertisements

Bir cavab yazın

Sistemə daxil olmaq üçün məlumatlarınızı daxil edin və ya ikonlardan birinə tıklayın:

WordPress.com Loqosu

WordPress.com hesabınızdan istifadə edərək şərh edirsinz. Çıxış /  Dəyişdir )

Google foto

Google hesabınızdan istifadə edərək şərh edirsinz. Çıxış /  Dəyişdir )

Twitter rəsmi

Twitter hesabınızdan istifadə edərək şərh edirsinz. Çıxış /  Dəyişdir )

Facebook fotosu

Facebook hesabınızdan istifadə edərək şərh edirsinz. Çıxış /  Dəyişdir )

%s qoşulma