Top Banner
ARDUINO VƏ MIKROKONTROLLERLƏRIN PROQRAMLAŞDIRILMASINA GIRIŞ TƏQDIMATÇI : RƏŞID ƏLIYEV
22

Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

Jan 28, 2018

Download

Devices & Hardware

Rashid Aliyev
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

ARDUINO VƏ MIKROKONTROLLERLƏRINPROQRAMLAŞDIRILMASINA GIRIŞTƏQDIMATÇI: RƏŞID ƏLIYEV

Page 2: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

MIKROKONTROLLERLƏR NƏDIR?

• İnteqral sxem daxilində yerləşən kiçik və avtonom kompüter;

• Çox vaxt periferik qurğulardan ibarət olur;

• Müxtəlif paketlər halında mövcud olur;

• Müxtəlif ölçü və gücdə növlər mövcuddur;

Page 3: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş
Page 4: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

ƏTRAF MÜHITLƏ ƏLAQƏ

• Robotlar və qurğular ətraf mühitlə əlaqəyə keçmək, baş verənləri hiss etmək,

maneə və hədəfləri görmək üçün müxtəlif sensorlardan istifadə edirlər;

• Mikrokontrollerər bu əlaqənin baş verməsində iştirak edir;

• Minlərlə müxtəlif təyinatlı sensorlar mövcuddur;

Page 5: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

SENSORLAR

TƏZYIQ VƏ SIXILMA GPS/YERLƏŞMƏ GIROSKOP

Page 6: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

SENSORLAR

TƏKƏR ENKODERLƏRIİNFRAQIRMIZI MƏSAFƏ

SENSORU AKSELEROMETR

Page 7: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

SENSORLAR

ULTRASƏS MƏSAFƏ SENSORU NƏMIŞLIK SENSORU QAZ SENSORU

Page 8: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

ARDUINO

• ATMega328 üzərində mühəndislik

platası;

• Gərginlik Tənzimləyici;

• Proqramlayıcı (Proqramator);

• USB Portı;

• Cəmi $10 dəyərində!

Page 9: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

C DILINDƏ PROQRAMLAŞDIRMA

void setup() {

// Setup stuff to only run once at the beginning

}

void loop() {

// This function gets called indefinitely

}

Page 10: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

ƏLAVƏLƏR

• ADC - Analoqn Rəqəmsala Çevirici (Analog-to-Digital Converter);

• TMRx – Zman və Say sayğacları (Counters/Timers);

• PWM – Pulse Width Modulation (CPP/PWM);

• Serial Portlar (COM/UART);

• Və daha çox digər imkanlar...

Page 11: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

RƏQƏMSAL I/O (YAZMA/OXUMA)

• Yalnız YÜKSƏK (HIGH) və ALÇAQ (LOW) qiymətlər (1/0);

• Hər bir «pin»in giriş və ya çıxış rejimində işləyə bilməsi tənzim oluna bilir:

• pinMode (pinNumber, pinState)

• pinMode (13, İNPUT);

• pinMode (13, OUTPUT);

• Yazma: digitalWrite (pinNumber, HIGH/LOW);

• Oxuma: Int val = digitalRead (pinNumber);

Page 12: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

ARDUINO KODU ÜZƏRINDƏ NÜMUNƏ

int ledPin = 13;

void setup() {

// Rəqəmsal pin-i çıxış kimi tənzimlə:

pinMode(ledPin, OUTPUT);

} void loop() {

// Pin-ə yüksək (HİGH) qiymət ver (1)

digitalWrite(ledPin, HIGH);

}

Page 13: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

SERIAL İNTERFEYS (UART)

• Digər Mikrokontrollerlər və ya kompyüterlər ilə əlaqyəyə gimək üçün;

• Asinxron kommunikasiya;

• Aruinonun mövcud kitabxanaları bu işi asanlaşdırmağa köməklik edir:

• Serial.begin(baudRate)

• Serial.println(”Göndəriləcək mətn”)

• int bytesWaiting = Serial.Availible()

• Char incomingData = Serial.read()

Page 14: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

ARDUINO KODU ÜZƏRINDƏ NÜMUNƏ

void setup() {

Serial.begin(9600);

} void loop() {

Serial.println(”Mətn daxil et”);

while(Serial.availible() < 1) {

char input = Serial.read();

}

}

Page 15: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

ANALOQ SIQNALIN RƏQƏMSALA ÇEVRILMƏSI (ADC)

• Elektrik cərəyanını Analoq siqnal

halında hər hansı bir pindən qəbul

etmək;

• Rəqəmsal halınını proqrama

qaytarmaq;

• Bitlərin qiymətindən aşlı olaraq

dəqiqlik dəyişir.

Page 16: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

İŞIQ SENSORLARI

• Fotorezistorlar və Fotodiodlar;

• İstifadəsi çox sadədir;

• Müqaviməti işıqlanmadan aşlı olaraq dəyişir;

• Sensordakı cərəyanı ADC ilə çevirərək ölçmək olar;

Page 17: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

ARDUINO KODU ÜZƏRINDƏ NÜMUNƏint sensorPin = 0;

void setup() {

Serial.begin(9600); // Serial girişi aç

} void loop() {

// sensorun göstəricisini oxu:

sensorValue = analogRead(sensorPin);

// Sensorun göstəricisini əks etdir

Serial.println(sensorValue);

}

Page 18: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

PWM MODULLARI (CCP)

• Çıxış pin-lərində PWM siqnallarının yaradılması;

• Giriş pin-lərində PWM siqnallarının ölçülməsi;

• CCP = Capture/Compare

• Bəs PWM dəqiq olaraq nədir?

Page 19: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

PULSE WIDTH MODULATION (PWM)

• Analoq qiymətləri bir rəqəmsal giriş/çıxış pini üzərindən ötürür;

• PWM siqnalı 2 hissədən ibarətdir:

• Dövr (Period): Siqnalın təkrarlanma dövrü (intervalı);

• Pulsun Eni (Pulse Width): Siqnalın 0 (LOW) olmayana qədər neçə müddət 1 (HIGH)

olması;

• İş sikli: siqnalın 1 (HIGH) olması müddətinin %-i, və ya Puls/Dövr;

Page 20: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

TSIKL = PULS X 100 / DÖVR

Page 21: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

PWM-IN ROBOTOTEXNIKADA TƏTBIQI

Page 22: Arduino və mikrokontrollerlərin proqramlaşdırılmasına giriş

RƏŞID ƏLIYEV055 4455400

[email protected]