Mundarija:

[Kiyiladigan sichqoncha] Windows 10 va Linux uchun Bluetooth-ga asoslangan kiyiladigan sichqonchani boshqaruvchi: 5 qadam
[Kiyiladigan sichqoncha] Windows 10 va Linux uchun Bluetooth-ga asoslangan kiyiladigan sichqonchani boshqaruvchi: 5 qadam

Video: [Kiyiladigan sichqoncha] Windows 10 va Linux uchun Bluetooth-ga asoslangan kiyiladigan sichqonchani boshqaruvchi: 5 qadam

Video: [Kiyiladigan sichqoncha] Windows 10 va Linux uchun Bluetooth-ga asoslangan kiyiladigan sichqonchani boshqaruvchi: 5 qadam
Video: Ӯзбек Тӯйларида Бутун Умрлик Шарманда. Хали Бунақаси Бӯлмаган. 2024, Iyul
Anonim
Image
Image
Raspberry Pi bilan o'zaro bog'liq akselerometr
Raspberry Pi bilan o'zaro bog'liq akselerometr

Men sichqoncha ko'rsatgichini boshqarish va kompyuter sichqonchasi bilan bog'liq operatsiyalarni hech qanday sirtga tegmasdan bajarish mumkin bo'lgan Bluetooth-ga asoslangan sichqoncha boshqaruvchisini yasadim. Qo'lqopga o'rnatilgan elektron sxemalar akselerometr orqali qo'l harakatlarini kuzatish uchun ishlatilishi mumkin va uni sichqoncha ko'rsatgichining harakatiga aylantirish mumkin. Shuningdek, ushbu qurilma chap tugmani bosishni takrorlaydigan tugma bilan bog'langan. Qurilma kompyuterga ketma -ket ulanishi mumkin (USB orqali) yoki simsiz Bluetooth ulanishi orqali. Bluetooth uy egasi bilan taqiladigan sichqon o'rtasida mustahkam va universal simsiz aloqani ta'minlaydi. Bluetooth keng tarqalgan va deyarli barcha shaxsiy noutbuklarga o'rnatilganligi sababli, bunday taqiladigan qurilmadan foydalanish keng. Raspberry Pi -dan foydalanish, bu turli xil loyihalarni ishlab chiqish uchun keng tarqalgan platforma, turli sensorlarning o'zaro aloqasi va bunday qurilmani ishlab chiqish oson va miqyosli. Qo'lqopni boshqa qo'lqop bilan almashtirish mumkin, bu uning qo'llanilishini yanada kengroq qiladi.

COVID-19 ga qarshi ehtiyot chorasi sifatida, har xil odamlarga bo'linishi mumkin bo'lgan yuzalarga tegmaslik kerak, va sensorli ekranli noutbuk yoki sichqon ham shu keng tarqalgan yuzalar qatorida bo'lishi mumkin. Bunday taqiladigan asbobdan foydalanish gigienani saqlashga va tez -tez ishlatiladigan sirtlarni tozalashga yordam beradi:)

Ta'minotlar

  • Raspberry Pi 3 Model B V1.2
  • SparkFun uch o'qli akselerometr uzilishi - MMA8452Q
  • Erkak -ayol jumper simlari
  • Qo'lqop
  • Kanal tasmasi
  • Qaychi
  • Micro-USB kabeli
  • HDMI kabeli (Raspberry Pi orqali nosozliklarni tuzatish uchun)

1 -qadam: Raspberry Pi bilan o'zaro bog'liq akselerometr

Raspberry Pi bilan o'zaro bog'liq akselerometr
Raspberry Pi bilan o'zaro bog'liq akselerometr

Men Raspberry Pi GPIO pinlari bilan gaplashish va o'qlar ma'lumotlarini yuborish uchun I2C aloqa protokolidan foydalanadigan Sparkfun MMA8542Q uch o'qli akselerometridan foydalanardim. Bu sensor konfiguratsiya qilinadigan ma'lumotlar tezligi, uyqu rejimlari, tezlanish diapazoni, filtrlash rejimi va boshqalar bilan har xil ish rejimlarini ta'minlaydi. Men Pibitsdan olingan kodni sensorning dastlabki konfiguratsiyasida va qo'lim bilan imo -ishoralarimda sinab ko'rishda juda foydali deb topdim. Sensorni birinchi navbatda tekis yuzaga qo'yib, aniq sezgich qiymatlarini kuzatayotganda deterministik burilishlar qilish yaxshiroqdir. Bu, ayniqsa, sensorning turli xil qo'l imo -ishoralari bilan qanday munosabatda bo'lishini va ilovamiz uchun chegaralarni qanday sozlashimiz mumkinligini tushunishda foydalidir. Akselerometr muvaffaqiyatli ulanganidan so'ng siz Pi terminal terminalida xom o'qlar haqidagi ma'lumotlarni ko'rishingiz mumkin.

2-qadam: Raspberry Pi yordamida tugmachani bir-biriga ulash

Raspberry Pi bilan tugmachaning o'zaro aloqasi
Raspberry Pi bilan tugmachaning o'zaro aloqasi

Bu taqiladigan qurilmada men sichqonchaning chap tugmasi sifatida ishlay oladigan tugma bilan bog'landim, shuning uchun ekrandagi piktogrammalarni bosishim mumkin edi. Keyin tugmaning 2 uchi Pi ning 2 ta GPIO piniga ulanadi. Pimlardan biri mantiqiy balandlikni chiqaradi, ikkinchisi esa bu qiymatni o'qiydi. Tugma bosilganda, elektron yopiladi va kirish pimi mantiqiy qiymatni o'qiy oladi, uni sichqonchaning chap tugmachasini bosish uchun men yozgan skript ishlaydi. Lehimlash temirining yo'qligi sababli, men tugmachali o'tish moslamalarini ulash uchun yopishqoq lentani ishlatardim.

3 -qadam: Sichqoncha ko'rsatgichini ketma -ket boshqarish uchun Python skriptini ishlab chiqish

Men sichqoncha ko'rsatgichini boshqarish uchun Pyautogui Python kutubxonasidan foydalandim. Bu kutubxonadan foydalanish sababi shundaki, u Linuxda ham, Windows platformasida ham ishlaydi. Raspberry Pi -da sichqoncha ko'rsatgichini boshqarish uchun avval Pi -ni displeyga uladim. Keyin sichqoncha ko'rsatgichini boshqarish uchun kutubxona tomonidan taqdim etilgan quyidagi API -lardan foydalandim:

  1. pyautogui.move (0, 200, 2) # sichqonchani 2 soniya davomida 200 piksel pastga siljitadi
  2. pyautogui.click () # sichqonchani bosing

Accelerometer -dan kelgan xato ma'lumotlarini filtrlash uchun men biriktirilgan kod orqali oson tushuniladigan o'rtacha va boshqa filtrlash usullaridan foydalandim. Pyautogui.move (0, y) API sichqoncha ko'rsatgichi bir vaqtning o'zida yuqoriga yoki chapga o'ngga o'tishi uchun ishlatilgan. Buning sababi shundaki, akselerometr X, Y va Z yo'nalishidagi o'qlarni bildiradi, lekin API faqat ikkita argumentni oladi, X va Y o'qlari. Shunday qilib, bu yondashuv mening akselerometrim va imo -ishoralarni ekrandagi xaritasi uchun juda mos edi.

4 -qadam: Bluetooth orqali sichqoncha ko'rsatgichini boshqarish uchun Python skriptini ishlab chiqish

Bluetooth orqali sichqoncha ko'rsatgichini boshqarish uchun Python skriptini ishlab chiqish
Bluetooth orqali sichqoncha ko'rsatgichini boshqarish uchun Python skriptini ishlab chiqish

Bu qism ilg'or dastur bo'lib, bunda Bluetooth imkoniyatiga ega bo'lgan har qanday noutbuk Raspberry Pi bilan server-mijoz aloqa modelida aloqa o'rnatishi va sichqoncha koordinatalarini simsiz uzatishi mumkin. Windows 10 64-bitli noutbukni Bluetooth-ga ulanish uchun sozlash uchun biz quyidagi amallarni bajarishimiz kerak.

Windows 10:

  1. Kiruvchi Bluetooth COM portini yarating.
  2. Pi -ni Bluetooth -ni noutbukning Bluetooth -ga ulang va Pi -ni aniqlang.
  3. Windows -da Python -ni o'rnating.
  4. Windows -ga pip o'rnating. Pip kutubxonalarni Linux yoki Windows mashinasiga o'rnatish uchun ishlatiladi.
  5. Pyautogui -ni Windows -ga o'rnating: pip install pyautogui
  6. Pyautogui qurilmaga o'rnatilgandan so'ng, Windows terminalida quyidagi buyruq yordamida Windows-ga Pybluez-ni o'rnating: pip install PyBluez-win10. PyBluez Windows va Linux kompyuterlarida Bluetooth aloqasini yoqadi.
  7. Windows 10 noutbukida dastur ishlab chiqish uchun biz Microsoft Visual Studio (15-20 Gb bo'sh joy kerak) va uni tuzish vositalarini o'rnatishimiz kerak. Shuning uchun, PyBluez bilan bir qatorda, biz quyidagi ko'rsatmalarga amal qilishimiz kerak,

    1. "Visual Studio Installer" dasturini yuklab oling va ishga tushiring:
    2. "Visual Studio Build Tools 2017" ni o'rnating, "Visual C ++ qurish vositalari" va "Universal Windows platformasi yaratish vositalari" ni belgilang.

    3. git klon
    4. CD pybluez
    5. python setup.py o'rnatish

  8. Agar yuqoridagi ko'rsatmalar to'g'ri bajarilgan bo'lsa, Windows terminalida Python -ni ishga tushirish va pyautogui va Bluetooth modullarini import qilish yuqoridagi rasmga muvofiq xatosiz ishlashi kerak.
  9. Windows mashinasida o'rnatilgan pybluez kutubxonasida quyidagi manzilga o'ting: pybluez-master / sample / simple / rfcomm-server.py va python rfcomm-server.py yordamida bajaring. Agar terminal kutish holatiga xato qilmasa, Pi -da Bluetooth -ni sozlash uchun quyidagi bo'limga o'ting. Agar pybluez -ni o'rnatishda xatolar bo'lsa, disk raskadrovka uchun GitHub muammolariga qarang.

Raspberry Pi -da Raspbian:

  1. PyBluez -ni Pi -ga o'rnating
  2. Windowsda server misolini ishga tushiring. Keyin Pi-da pybluez-master / sample / simple / rfcomm-client.py-ga o'ting va bajaring. Agar ikkita qurilma aloqa qila boshlagan bo'lsa, endi Bluetooth ikkala qurilmada ham o'rnatiladi. Python bilan soket aloqasi qanday ishlashi haqida ko'proq bilish uchun MIT -ning ushbu havolasiga qarang.

Axborotni Pi -dan kompyuterga yuborish uchun qo'shimcha ma'lumotlarni tahlil qilish kerak bo'ladi, chunki ma'lumotlar baytlarda yuboriladi. Mijoz va server ma'lumotlarini uzatish haqida qo'shimcha ma'lumot olish uchun biriktirilgan kodga qarang.

5 -qadam: akselerometr va tugmachani qo'lqopga joylashtirish

Qo'lqopdagi akselerometr va tugmachani joylashtirish
Qo'lqopdagi akselerometr va tugmachani joylashtirish
Qo'lqopdagi akselerometr va tugmachani joylashtirish
Qo'lqopdagi akselerometr va tugmachani joylashtirish

Akselerometr bir -biriga yaxshi ulanganidan so'ng, skelet tizimi bu qadamdagi birinchi rasmga o'xshaydi.

Qo'lqopning yuzasi tekis bo'lmagani uchun, men vaqti -vaqti bilan pochta qutimga keladigan qo'g'irchoq kredit kartasidan foydalanardim. Ushbu qadamdagi ikkinchi rasmga ko'ra, men qo'lqopimning yuqori yuzasiga qo'g'irchoq kredit kartasini yopishqoq lenta bilan yopishtirdim. Kartaning ustida men akselerometrni biriktirdim. Bu sozlash akselerometrimni barqaror ushlab turish va imo -ishoralarimni aniq kuzatish uchun etarlicha mustahkam edi.

Tavsiya: