Мазмуну:

[Кийилүүчү чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: 5 кадам
[Кийилүүчү чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: 5 кадам

Video: [Кийилүүчү чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: 5 кадам

Video: [Кийилүүчү чычкан] Windows 10 жана Linux үчүн Bluetooth негизделген кийилүүчү чычкан контролери: 5 кадам
Video: Дали трёхмоторный параплан ► 2 Прохождение The Legend of Zelda: Breath of the Wild (Nintendo Wii U) 2024, Июль
Anonim
Image
Image
Raspberry Pi менен интерфейстик акселерометр
Raspberry Pi менен интерфейстик акселерометр

Мен чычкандын көрсөткүчүн көзөмөлдөө жана PC-чычканга байланышкан операцияларды эч кандай бетке тийбестен, Bluetooth негизделген чычкан контроллерин жасадым. Мээлейге салынган электрондук схеманы акселерометр аркылуу кол жаңсоолорун көзөмөлдөө үчүн колдонсо болот жана муну чычкан көрсөткүчүнүн кыймылына которууга болот. Бул түзмөк сол баскычты басууну кайталаган баскыч менен да иштейт. Түзмөк PC (USB аркылуу) же Bluetooth байланышы аркылуу зымсыз тиркелиши мүмкүн. Bluetooth кабыл алуучу түзмөк менен бул кийилүүчү чычкан ортосунда бекем жана универсалдуу зымсыз байланышты камсыздайт. Bluetooth кеңири жеткиликтүү болгондуктан жана дээрлик бардык жеке ноутбуктарга камтылгандыктан, мындай кийилүүчү түзүлүштүн колдонулушу кенен. Ар кандай долбоорлор үчүн кеңири колдонулган өнүктүрүү платформасы болгон Raspberry Pi колдонуу, ар кандай сенсорлордун интерфейси жана мындай түзүлүштү иштеп чыгуу оңой жана масштабдуу. Колдонмону кеңири кылуу үчүн колкапты башка кийилүүчү кийимдер менен алмаштырса болот.

COVID-19дан сактануу үчүн, ар кандай адамдар бөлүшө турган беттерге тийбөө сунушталат жана сенсордук экрандын ноутбугу же чычкан ошол жалпы беттердин арасында болушу мүмкүн. Мындай кийилүүчү аппаратты колдонуу гигиенаны сактоого жана кеңири колдонулган беттерди дезинфекциялоого жардам берет:)

Жабдуулар

  • Raspberry Pi 3 Model B V1.2
  • SparkFun Triple Axis Accelerometer Breakout - MMA8452Q
  • Эркектен Аялга секирүүчү зым
  • Кол кап
  • Түтүк тасмасы
  • Кайчы
  • Микро-USB кабели
  • HDMI кабели (Raspberry Pi аркылуу мүчүлүштүктөрдү оңдоо үчүн)

1 -кадам: Raspberry Pi менен интерфейстик акселерометр

Raspberry Pi менен интерфейстик акселерометр
Raspberry Pi менен интерфейстик акселерометр

Мен Raspberry Pi GPIO төөнөгүчтөрү менен сүйлөшүү жана балталарга маалымат жөнөтүү үчүн I2C байланыш протоколун колдонгон Sparkfunдан MMA8542Q үч октук акселерометрди колдондум. Бул сенсор конфигурациялануучу маалымат ылдамдыгы, иштөө режимдери, ылдамдатуу диапазону, чыпкалоо режими жана башкалар менен иштөөнүн ар кандай режимдерин камсыздайт. Мен Pibitsтен келген кодду сенсордун алгачкы конфигурациясында жана кол жаңсоолорум менен текшерүүдө абдан пайдалуу деп таптым. Адегенде сенсорду тегиз жерге коюп, чийки сенсордун баалуулуктарын байкоодо детерминисттик эңкейиштерди жасоо жакшы. Бул, айрыкча, бул сенсор ар кандай кол жаңсоолоруна кандайча жооп берерин жана колдонмо үчүн босоголорду кантип орното аларыбызды түшүнүүдө өзгөчө пайдалуу. Акселерометр ийгиликтүү интерфейске киргизилгенден кийин, Pi чектеринин терминалынын экранында чийки октун маалыматын көрө аласыз.

2-кадам: Raspberry Pi менен интерфейс баскычтары

Raspberry Pi менен интерфейс баскычтары
Raspberry Pi менен интерфейс баскычтары

Бул кийилүүчү түзмөктө мен экрандын сүрөтчөлөрүн басуу үчүн, чычкандын сол баскычы катары иштей турган баскычты туташтырдым. Баскычтын 2 учу андан кийин Pi'нин 2 GPIO казыгына туташат. Кадрлардын бири логикалык бийиктигин чыгарат, экинчиси бул маанини окуйт. Кнопка басылганда, схема жабылат жана киргизүү пини логикалык жогорку маанини окуй алат, аны мен чычкандын сол баскычын тууроо үчүн жазган скрипт иштетет. Паяльниктин жоктугунан, скотчторду баскыч менен туташтыруу үчүн скотч менен колдондум.

3 -кадам: Чычкан көрсөткүчүн сериялык башкаруу үчүн Python скриптин иштеп чыгуу

Мен чычкан көрсөткүчүн башкаруу үчүн Pyautogui Python китепканасын колдондум. Бул китепкананы колдонуунун себеби, ал Linux жана Windows платформасында иштейт. Менин Raspberry Piдеги чычкан көрсөткүчүн көзөмөлдөө үчүн, адегенде Pi'имди дисплейге туташтырдым. Андан кийин, чычкан көрсөткүчүмдү көзөмөлдөө үчүн китепкана тарабынан берилген төмөнкү APIлерди колдондум:

  1. pyautogui.move (0, 200, 2) # чычканды 2 секундада 200 пикселге ылдый жылдырат
  2. pyautogui.click () # чычканды басыңыз

Акселерометрден келген ката маалыматтарын чыпкалоо үчүн мен тиркелген код аркылуу оңой түшүнүүгө боло турган орточо жана башка чыпкалоо ыкмаларын колдондум. API pyautogui.move (0, y) чычкан көрсөткүчү бир убакта өйдө-ылдый же солго-оңго кете тургандай колдонулган. Бул акселерометрдин X, Y жана Z багыттарындагы окторду билдирип жаткандыгынан, бирок API 2 гана аргументти алат, X жана Y огу. Демек, бул ыкма менин акселерометриме жана экранда жаңсоолорду картага түшүрүү үчүн абдан ылайыктуу болгон.

4 -кадам: Bluetooth аркылуу чычкан көрсөткүчүн башкаруу үчүн Python скриптин иштеп чыгуу

Bluetooth аркылуу чычкан көрсөткүчүн башкаруу үчүн Python скриптин иштеп чыгуу
Bluetooth аркылуу чычкан көрсөткүчүн башкаруу үчүн Python скриптин иштеп чыгуу

Бул бөлүк Bluetooth мүмкүнчүлүктөрү бар каалаган ноутбук Raspberry Pi менен сервер-кардар байланыш моделинде байланышып, чычкан координаттарынын маалыматын зымсыз өткөрүп бере турган өнүккөн тиркеме. Bluetooth байланышына уруксат берүү үчүн Windows 10 64-бит ноутбугун орнотуу үчүн, биз төмөнкү кадамдарды аткарышыбыз керек:

Windows 10:

  1. Кирүүчү Bluetooth COM портун түзүңүз.
  2. Pi'дин Bluetooth'ун ноутбуктун Bluetooth менен жупташтырып, Pi табылгычка айландырыңыз.
  3. Windowsко Python орнотуңуз.
  4. Пипти Windowsка орнотуңуз. Pip Linux же Windows машинасына китепканаларды орнотуу үчүн колдонулат.
  5. Windows аркылуу pyautogui орнотуңуз: pip install pyautogui
  6. Пяутогуи түзмөккө орнотулгандан кийин, Windows терминалында төмөнкү буйрукту колдонуп, Windows'та Pybluez орнотуңуз: pip install PyBluez-win10. PyBluez Windows жана Linux компьютерлеринде Bluetooth байланышын иштетет.
  7. Windows 10 ноутбугунда тиркеме иштеп чыгуу үчүн биз Microsoft Visual Studio (15-20 ГБ мейкиндик талап кылынат) жана аны куруу куралдарын орнотушубуз керек. Ошондуктан, PyBluez менен бирге, биз төмөнкү көрсөтмөлөрдү аткарышыбыз керек,

    1. "Visual Studio орнотуучусун" жүктөп алып, иштетиңиз:
    2. "Visual Studio Build Tools 2017" орнотуңуз, "Visual C ++ куралдарын" жана "Universal Windows Platform куруу куралдарын" текшериңиз.

    3. git clone
    4. cd pybluez
    5. python setup.py орнотуу

  8. Эгерде жогорудагы көрсөтмөлөр туура аткарылса, Pythonну Windows терминалында иштетүү жана pyautogui менен Bluetooth модулун импорттоо жогорудагы сүрөттө көрсөтүлгөндөй катасыз иштеши керек.
  9. Windows машинасында орнотулган pybluez китепканасында, өтүңүз: pybluez-master / Examples / simple / rfcomm-server.py жана python rfcomm-server.py менен аткарыңыз. Эгерде терминал катасыз түрдө күтүү абалына өтсө, Bluetooth боюнча Pi орнотуу үчүн төмөнкү бөлүмгө өтүңүз. Эгерде pybluezди орнотууда каталар болсо, мүчүлүштүктөрдү оңдоо үчүн GitHub маселелерине кайрылыңыз.

Raspberry Pi боюнча Raspbian:

  1. Pi'ге PyBluez орнотуңуз
  2. Windows'та сервердин мисалын иштетиңиз. Андан кийин, Piде, pybluez-master / мисалдар / жөнөкөй / rfcomm-client.pyге өтүңүз жана аткарыңыз. Эгерде эки түзмөк байланыша баштаган болсо, Bluetooth азыр эки түзмөктө тең жөндөлүүдө. Python менен розеткалык байланыш кандайча иштээри жөнүндө көбүрөөк билүү үчүн MITтин бул шилтемесине кайрылыңыз.

Берилиштер байт менен жөнөтүлгөндүктөн, Питтен ПКга балталык маалыматтарды жөнөтүү үчүн кошумча маалыматтарды талдоо талап кылынат. Кардар жана сервер маалыматтары боюнча көбүрөөк маалымат алуу үчүн тиркелген кодду караңыз.

5 -кадам: акселерометрди жана мээлейге баскычты коюу

Колкапка акселерометр менен баскычты коюу
Колкапка акселерометр менен баскычты коюу
Колкапка акселерометр менен баскычты коюу
Колкапка акселерометр менен баскычты коюу

Акселерометр жакшы интерфейске ээ болгондон кийин, скелет системасы бул кадамдын биринчи сүрөтүнө окшошот.

Мээлейдин бети тегиз болбогондуктан, мен почта ящигиме анда -санда келип турган жасалма кредиттик картаны колдондум. Бул кадамдын экинчи сүрөтүнө ылайык, мен кол каптын үстүңкү бетине жасалма кредиттик картаны скотч менен чаптадым. Картанын үстүнө мен акселерометрди тиркем. Бул орнотуу менин акселерометримди туруктуу кармоо үчүн жана кыймылдарымды так көзөмөлдөө үчүн жетишерлик күчтүү болчу.

Сунушталууда: