1-mavzu: Qurilmalarni mikrokontroller yordamida raqamli signallar bilan boshqarish texnologiyalari
Download 31.73 Kb. Pdf ko'rish
|
1-maruza (1)
- Bu sahifa navigatsiya:
- Masala
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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling