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.
Həmçinin dövrənin real görünüşü isə aşağıdakı kimidir. Pushbuttonun qoşulmasına diqqət edin!
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.
/* 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ə }