1-mavzu: Qurilmalarni mikrokontroller yordamida raqamli signallar bilan boshqarish texnologiyalari


Download 31.73 Kb.
Pdf ko'rish
bet1/3
Sana15.06.2023
Hajmi31.73 Kb.
#1478551
  1   2   3
Bog'liq
1-maruza (1)



1-mavzu: Qurilmalarni mikrokontroller yordamida raqamli 
signallar bilan boshqarish texnologiyalari. 
Arduino Nano mikrokontrollerida chiqish signallari D00 dan D12 gacha bo`lgan 
pinlar orqali boshqariluvchi ob`ektga yuboriladi. Ular yordamida oddiy raqamli 
boshqaruv signallarini chiqarish algoritmlari va dasturlarini yaratish jarayonini 
quyidagi masala misolida ko`rib chiqamiz. 
Masala: Arduino Nano mikrokontrolleri yordamida mayoqni bir maromda 
yoqib-o`chiradigan qurilmani dasturlang. 
Ushbu masalani hal qilishni uni tahlil qilishdan boshlaymiz.
Mikrokontroller nuqtai-nazaridan mayoqni bir maromda yoqib-o`chirish degani 
– bu lampaga elektr energiyasini berish, bir oz vaqt yoniq holatda ushlab turish, keyin 
energiyani o`chirish, bir oz vaqt o`chiq holatda ushlab turish va bu siklni doimiy 
ravishda takrorlash degani. Demak ushbu jarayonni biz quyidagi algoritm ko`rinishda 
tasvirlashimiz mumkin: 
1. Kerakli ma`lumotlarni olish. 
2. Elektr toki yuboriladigan kanalni tanlash. 
3. Tanlangan kanal orqali lampaga tok (signal) yuborish. Bunda mayoq lampasi 
yonadi. 
4. Ma`lum vaqt kutib turish. 
5. Tanlangan kanal orqali lampaga ketayotgan tokni uzish. Bunda mayoq lampasi 
o`chadi. 
6. Yana ma`lum vaqt kutib turish. 
7. 3-vazifaga qaytish. 
Ushbu algoritmdan anglash mumkinki, 3 dan 7 gacha bo`lgan vazifalar hech 
qanday shartlarsiz doimiy ravishda takrorlanib turaveradi. Bu jarayon faqat 
mikrokontroller energiya manbaidan uzilgan taqdirdagina to`xtaydi. 


Yuqoridagi algoritmning dastur kodini yozishdan avval Arduino tipidagi 
mikrokontrollerning C++ tilidagi boshqaruv dasturining strukturasini o`rganib olamiz. 
U quyidagi strukturaga ega bo`lishi kerak. 
#include  
Global o`zgaruvchilar tavsifi. 
void setup()

Funksiya tanasi. 

void loop()

 Funksiya tanasi. 

Struktura bo`limlari vazifalari bilan batafsil tanishamiz. 
#include  
Bu yerda boshqaruv jarayonida foydalaniladigan qurilmalar (sensorlar, 
dvigatellar va xokozo) uchun yaratilgan funksiyalar kutubxonalari dasturga ulab 
olinadi.
Bizning joriy masalamizda faqat lampadan foydalanilayotganligi sababli 
dasturda ushbu bo`limning qatnashishi shart emas. Chunki, lampaga elektr toki 
yuborilsa bas, u maxsus topshiriqsiz yonaveradi. 
Global o`zgaruvchilar tavsifi. 
Bu yerda dastur tanasida foydalanilishi mumkin bo`lgan bir funksiya ichida 
qayta tavsiflash kerak emas. 
void setup()

Funksiya tanasi. 

Bu mikrokontrollerning bir ish seansi (u energiya manbaiga ulangandan boshlab, 
toki o`chirilmagunga qadar) davomida faqat bir marta bajariladigan funksiya bo`lib, u 


asosan mikrokontrollerni ishga tayyorlash uchun xizmat qiladi. Masalan, bizning joriy 
masalamizda mikrokontrollerning birorta kanalini (kelgusida uni “pin” deb ataymiz) 
signal chiqish kanali deb belgilab olamiz. 
void loop()

 Funksiya tanasi. 

Bu funksiya asosiy boshqaruv funksiyasi bo`lib, uning tanasi doimiy ravishda 
takror va takror bajarilib turadi. Ushbu funksiya ichidan tashqariga chiqib, ortga qaytish 
mumkin emas. Uning ishlash jarayonini vaqtincha to’xtatib turish (pauza) yoki 
batamom to`xtatish mumkin. Oxirgi holatda mikrokontroller hech qanday vazifa 
bajarmay qo`yadi va befoyda yonib turadi xolos. 
Endi ushbu strukturadan foydalanib, yuqorida keltirilgan algoritm dasturi kodini 
yozamiz. 
// Global o`zgaruvchilarni tavsiflaymiz 
// Lampaga “led” o`zgaruvchi nomini beramiz va
// uni mikrokontrollerning 2-piniga ulaymiz. 

Download 31.73 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling