Bütün Kateqoriyalar

Arduino dərsləri: #5 Arduinonun kod strukturu

Bu yazıda biz Arduino-nun kod (proqram) strukturunu dərindən öyrənəcəyik. Daha öncə də dediyimiz kimi Arduino kodları Sketch (eskiz) adlanır.  Arduino proqramını üç əsas hissəyə bölə bilərik:

  • Struktur
  • Dəyərlər (dəyişənlər və sabitlər)
  • Funksiyalar​

Dəyərlər və Funksiyalar haqqında növbəti dərslərdə ətraflı danışacağıq. İstənilən Arduino kodunda mütləq olmalı olan iki ədəd funksiya olduğu üçün, funksiyalar haqqında qısa izah verək. Funksiyalar - içərisində yazılmış kod sətirlərini icra etmək üçün istifadə edilir. Funksiyalar, proqramlaşdırmada təkrar istifadə edilə bilən və müəyyən bir tapşırığı yerinə yetirən kod bloklarıdır. Bu kod blokları, kompleks proqramları daha nizamlı etmək və kodu modulyar hala gətirmək üçün istifadə olunur.

Struktur

Arduino kodu əsas iki funksiyadan ibarətdir. setup() və loop() funksiyaları. Bu iki funksiya mütləq hər Arduino kodunda olmalıdır.

void setup () funksiyası, Arduino kartı işləməyə başladıqdan ya da reset edildikdən sonra yalnız bir dəfə işləyir. Dəyişənləri koda tanıtmaq, hansı pinlərin giriş ya da çıxış olacaqlarını və ya digər başlanğıc sazlamaları etmək üçün istifadə edilir.

void loop () funksiyası void setup () funksiyası işini bitirdikdən sonra işləməyə başlayır. Sonsuz döngü funksiyasıdır, Arduino kartında güc olduğu müddətdə içərisində olan kod sətirlərini sonsuza qədər icra edir. Kodun əsas hissəsi bu funksiya içərisində yazılır.

     Hər iki funksiyanın iş prinsipinin daha aydın anlaşılması üçün aşağıdakı nümunəyə baxa bilərik. Arduino kartına enerji verildikdən sonra ilk olaraq void setup () funksiyası icra olunduğuna görə, şərti olaraq 1ci dediyimiz LED yanacaq, bir saniyə yanılı qaldıqdan sonra sönəcək. void setup () funksiyası işini bitirdi, çünki bu funksiya yalnız bir dəfə icra olunur. void loop () funksiyası icra olunmağa başladığına görə 2ci LED yanacaq, bir saniyə yanılı qalacaq, sonra sönəcək, bir saniyə sönülü qalacaq. void loop () funksiyası sonsuz icra olunduğuna görə, 2ci LED-yenidən bir saniyə aralıqlarla yanıb sönəcək və bu sonsuza dək davam edəcək.

Şəkildəki kodu yazaraq Arduino kartına yükləməyə çalışmayın, çünki "//" simvollarından sonra yazılan "1ci LED-i yandır" kimi cümlələr Arduino IDE-nin deyil, bizim başa düşə biləcəyimiz cümlələrdir. Növbəti dərslərdə real kod nümunələrini görəcəyik.

Real kod nümunəsi

Yuxarıdakı nümunədən də gördüyümüz kimi, Arduino kodunda sətirlər sıra ilə icra olunur. Arduino kartına yükləyə biləcəyimiz kod yazaraq prosesi müşahidə edək. Öncəki dərslərdə dediyimiz kimi Arduino UNO kartının üzərində bizim istifadə edə bilməyimiz üçün LED yerləşdirilib və bu led daxildə Arduino nun rəqəmsal 13 pininə birləşdirilib. Aşağıdakı kodda bu LED dən istifadə edəcəyik.

				
					void setup() {
  pinMode(13, OUTPUT);
  digitalWrite(13, HIGH);
  delay(5000);
  digitalWrite(13, LOW);
}

void loop() {
  digitalWrite(13, HIGH);
  delay(1000);
  digitalWrite(13, LOW);
  delay(1000);
}

				
			

Hələki yuxarıdakı kodda yazılan funksiyaların nə iş gördüyünü örgənməmişik. Lakin kod axınının necə baş verdiyini anlamaq üçün yaxşı nümunədir. Kodu Arduino UNO kartınıza yükləyin və prosesi müşahidə edin. Kod karta yükləndikdən sonra kod sətirlərini sıra ilə yuxarıdan aşağıya doğru icra edir. Arduino kartı kodu icra edilərkən etdiyi ilk şey 13cü pini çıxış olaraq ayarlamaqdır, çünki setup() funksiyası içərisində ilk olaraq "pinMode(13, OUTPUT);" yazılıb. Daha sonra 13cü pini aktiv edir, yəni LED yanır "digitalWrite(13, HIGH);". LED yandıqdan sonra beş saniyə yanılı qalır "delay(5000);". Daha sonra LED sönür "digitalWrite(13, LOW);" LED söndükdən dərhal sonra Arduino kartı loop() funksiyasını icra etməyə başlayır. loop() funksiyası içərisində olan ilk kod sətri yenidən LED-i yandırır, daha sonra LED bir saniyə yanılı qalır. Bundan sonra LED sönür və bir saniyə sönülü qalır. loop () funksiyası sonsuz döngü olduğuna görə kod yenidən 9cu sətirdən icra olunmağa başlayır, və LED sonsuza dək bir saniyə aralıqlarla yanıb sönür.

Kod axını (Flowchart)

Arduino kodunun hansı ardıcıllıqla icra olunduğunu artıq bilirik. Yəni burada bir qanunauyğunluq var. Bu qanunauyğunluqdan istifadə edərək, Arduino kartının icra etməli işləri sxem formasında çəkə bilərsiniz. Müxtəlif saytlarda və Microsoft Word proqramında belə axın sxemləri hazırlamaq imkanınız var. Nümunədə sadə Arduino kodunun axın sxemi göstərilmişdir.

#arduinodərsləri #arduinoazərbaycan

#arduino kursu #arduino baki #arduino azərbaycan #arduino kodlama #arduino kod yazmaq

Şərh yazın

E-poçt ünvanınız şərhlərdə görünməyəcək. Gərəkli sahələr * ilə işarələnmişdir

Kateqoriya

Səbət
Daxil ol

Hesabınız yoxdur?

0 Istək
0 items Səbət