ARDUINO LEONARDO PLATASI YORDAMIDA SICHQONCHA EMULYATSIYASINI HOSIL QILISH
katt.o’q. Maxmudov M.M., ass. Qurbonov Sh.M.
Toshkent davlat texnika universiteti
Tel.: +998 99 815 44 54
Arduino Leonardo platasini 2 o‘qli joystik va bir nechta tugmalar yordamida sichqonchaga aylantirish mumkin. Joystik sichqoncha kursorini harakatga keltiradi va tugmalar sichqonchaning chap, o‘rta va o‘ng tugmachalari vazifasini bajaradi. Klaviaturada bo‘lgani kabi, Arduino tilida ham sichqonchaning funksiyasini amalga oshirish uchun juda ko‘p o‘rnatilgan funksiyalar mavjud.
Tugmalarga tortish qarshiligini ta’minlashni unutmasik kerak. Joystik 0 va 1 analog oyoqchalariga ulanadi. Joystiklarda tutqichga biriktirilgan ikkita potensiometr mavjud. Joystik tutqichini x tomonga siljitganda, Potensiometrlardan birining qarshiligi y yo‘nalishi bo‘yicha - o‘zgaradi(1-rasm).
1-rasmda SparkFun joystick ko‘rsatilgan, ammo buning o‘rniga boshqalari ham tushaveradi. Joystik turiga qarab, map() funksiyasi yordamida qiymatlar oralig‘ini sozlash yoki dastur kodidagi x va y ni o‘zgartirish mumkin.
Sxemani yig‘gandan so‘ng, dasturni Leonardo platasiga yuklab olinadi. Quyida keltirilgan ko‘d ro‘yxatidan nusxa ko‘chiriladi va ishga tushiriladi, kursorni boshqarish uchun joystik va tugmalardan foydalaniladi.
ReadJoystick () funksiyasi joystikdagi qiymatlarni o‘qiydi va o‘lchamaydi. Har bir koordinata uchun joystick ADC dan olingan 0 dan 1024 gacha bo‘lgan bir qator qiymatlarni beradi.
Sichqoncha kursori nisbiy koordinatalar bo‘ylab harakatlanadi va Sichqoncha nolga teng bo‘lgan harakat bu o‘q bo‘ylab harakatlanishga mos kelmaydi. X o‘qi uchun ijobiy qiymatni berish sichqoncha kursorini o‘ngga, manfiy qiymatlarni esa chap tomonga siljitadi. Qiymat qanchalik katta bo‘lsa, kursor shuncha ko‘p harakatlanadi. Shunday qilib, readJoystick funksiyasida 0 dan 1023 gacha bo‘lgan qiymatlar -10 dan 10 gacha bo‘lgan qiymat miqyosda o‘lchanadi.
1-rasm. Joystik va Leonardo platasi asosida sichqonchani boshqarish sxemasi
Xatoliklarni yo‘q qilish uchun nolga teng bo‘lgan kichik chegaralar mavjud, bu yerda sichqoncha kursori harakatsiz bo‘lishi kerak. Buning sababi joystik tutqichi o‘rta holatda bo‘lganida, haqiqiy qiymat 512 atrofida o‘zgarishi mumkin. Joystik qo‘yib yuborilganda sichqoncha kursori o‘z-o‘zidan harakat qilmasligiga amin bo‘lishimiz kerak. x va y qiymatlari Mouse.move () funksiyasiga uzatiladi, bu esa kursorni ekranda harakatlanishiga olib keladi. mouse.move () ning uchinchi argumenti aylantirish g‘ildiragining harakatini belgilaydi.
ReadButton () funksiyasi uchta tugmachaning har birining holatini aniqlash uchun ishlatiladi. Funksiya Sichqoncha buyrug‘i yordamida sichqonchaning joriy holatini aniqlaydi. Mouse.isPressed () va Mouse.press () va Mouse.release () Sichqoncha funksiyalari orqali Sichqonchani so‘roq qiladi.
Adabiyotlar
Евстифеев, А.В. Микроконтроллеры AVR семейства Classic фирмы ATMEL / А.В. Евстифеев. – М.: ДМК, 2015. – 286 c.
Магда, Ю.С. Микроконтроллеры PIC24. Архитектура и программирование / Ю.С. Магда. – М.: ДМК, 2016. – 240 c.
Do'stlaringiz bilan baham: |