4-Mavzu: Button bilan tanishish.Uning ahamiyati.Button bilan ishlash
Button yoki knopka deganda nimani tushunasiz?
Elektr energiyasi iste’molchilari(misol uchun lampochka, muzlatgich, televizor)dan foydalanish mobaynida elektr zanjirini uzib–ulash talab etiladi, ya’ni bu iste’molchilarning ishlashi uchun zanjir(ulovchi simlar) ulanishi kerak, ishini to’xtatish uchun zanjirni uzish kerak. Mana shu vazifani bajarish uchun button(кнопка-tugma)dan foydalaniladi. Knopkadan hayotimizda juda ko’p foydalaniladi. Misol uchun, elektr chirog’ini yoqib-o’chirishda, qo’ng’iroqlarni ishlatishda, ishlab chiqarishda va h.z.
1-rasm
Button bu, elektr zanjiridagi uzuq turgan ikki nuqtasini ulash vazifasini bajaruvchi qurilma(1-rasm).
Dasturlash orqali buttoning imkoniyatini ancha oshirishimiz mumkin, ya’ni button bilan bitta elektr zanjirida bo’lmagan qurilmalarni boshqarish imkoniyatiga ega bo’lamiz. Button bosilganda nafaqat o’ziga ulangan qurilmani yoqish , balki boshqa (buttonga bevosita ulanmagan) iste’molchilarni boshqarish imkoniyatiga ega bo’lamiz. Masalan , knopkani bitta bosganimizda eletr dvigateli oldinga , ikkinchi bosganimizda orqaga aylantirishimiz mumkin.
Buttonning Arduinoga ulanish sxemasi quyidagicha :
2-rasm
Raqamli signallar ikkilik sanoq sistemasida ishlaydi ( 0 va 1), signal bor bo’lsa 1 , yo’q bo’lsa 0 qiymatga ega bo’ladi. Qachonki , button bosilsa (2-rasm), arduinoning ikkinchi oyog’iga kiruvchi kuchlanish 5V ga teng bo’ladi , ya’ni kiruvchi signal birga teng bo’ladi. Agar button bosilmasa , bu oyoqqa kiruvchi kuchlanish nolga teng, ya’ni kiruvchi signal nolga teng.
Shu o’rinda bir savol tug’iladi, buttonning arduinoga ulanish sxemasida GND va unga ulangan qarshilikning vazifasi nima? Zanjir(sxema)ni bu tarzda yig’sak bo’lmasmidi?
Ya’ni GND va rezistorni ishlatmasdan faqat 5V ni button orqali arduinoning INPUT oyog’iga ulasak bo’lmasmidi? Tugmani bosganimizda zanjir ulanib INPUT oyoqqa kiruvchi signal 1ga , bosmaganimizda zanjir uzilib kiruvchi signal 0 ga teng bo’lmasmidi , degan savol tug’iladi. Haqiqatdan ham knopka bosilganda kiruvchi signal 1 ga teng bo’ladi. Lekin bosmaganimizda har doim kiruvchi signal 0 ga teng bo’lmaydi. Kiruvchi oyoqda kichik kuchlanish paydo bo’lsa yoki kichik magnit maydon ta’sir qilsa , bu oyoqqa kiruvchi 1 signal hosil bo’ladi. Shuning uchun GND ga ulanadi va knopka bosilmaganda kiruvchi signal doimo 0 ga teng bo’lib turadi. Ana endi GND ga rezistor ulanishiga sabab shundan iboratki, agar GND ni rezistorsiz ulasak knopka bosilganda qisqa tutashuv yuz beradi , ya’ni “+” va” –“ lar bir – biriga ulanib qoladi va natijada arduino kuyib qolishi mumkin. Uning vazifasi shu qisqa tutashuvni oldini olish.
Bu rezistorning qiymati odatda 1-10 kom bo’ladi.
Demak, knopkani bosganimizda kiruvchi signal 1 qiymatga , bosmaganimizda 0 ga teng bo’ladi.
Endi esa dasturiy qismga o’tamiz:
Biz 1-darsimizda svetodiodlarni yoqib-o’chirishimda arduinoning svetodiodga ulanadigan oyoqlarini OUTPUT qilgan edik. Chunki ular yonishi uchun bu oyoqlardan signal chiquvchi bo’lishi kerak. Bu mavzuyimizda esa button ulangan oyoqdan signal qabul qilinishi kerak. Demak, bu oyoqni INPUT(kirish) qilish kerak.
Bu kirib kelayotgan signalni raqamli o’qishi kerak va natijani monitor portga chiqarish kerak. Natijada tugma bosilgan yoki bosilmaganligi haqidagi ma’lumotni monitorda ham ko’rib turish imkoniga ega bolamiz.
Knopkani bosganimizda monitor portda 1 ni ko’rsatadi, bosmasak 0 ni ko’rsatadi.
1-vazifa: Knopka bosilganda “knopka bosildi” degan so’z monitor portda chiqsin.
2-vazifa: Knopkani bosilganda “knopka bosildi” degan so’z monitor portda chiqsin, bosilmaganda “knopka bosilmagan” degan yozuv chiqsin.
3-vazifa: Knopka bosilganda svetodiod yonsin.
4-vazifa: knopka bosilmasa svetodiod yonsin va “svetodiod yoniq” degan yozuv monitor portga chiqsin, bosilsa svetodiod o’chsin va “svetodiod o’chiq ” yozuvi chiqsin.
5-vazifa: Knopka bosib turilganda 3ta svetodiod ketma-ket yonib-o’chib ishlab tursin. Qo’yvorilganda ishlashdan to’xtasin.
6-vazifa: Tugma bosib turilganda monitor portda o’sish tartibida sanash boshlansin (0,1,2,3,4,……), bosilmaganda kamayish tartibida(4,3,2,….) .
Endi esa bir nechta knopkalar bilan ishlashni o’rgansak:
7-vazifa: Ikkita knopkani arduinoga ulang va knopkaning birinchisi bosilganda birinchi svetodiod ikkinchi knopkani bosganimizda ikkinchi svetodiod yonsin , bosilmaganda ular o’chiq tursin.
Do'stlaringiz bilan baham: |