Мазмұны:
- Жабдықтар
- 1 -қадам: Raspberry Pi көмегімен интерфейсті акселерометр
- 2-қадам: Raspberry Pi көмегімен пернелер тіркесімі
- 3 -қадам: тышқан көрсеткішін тізбектей басқару үшін Python сценарийін әзірлеу
- 4 -қадам: Bluetooth арқылы тышқан көрсеткішін басқару үшін Python сценарийін әзірлеу
- 5 -қадам: акселерометр мен түйме қолғапқа ендіру
Бейне: [Wearable Mouse] Windows 10 мен Linux үшін Bluetooth негізіндегі киюге болатын тышқан контроллері: 5 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:23
Мен Bluetooth негізіндегі тышқан контроллерін жасадым, ол тышқанның көрсеткішін басқаруға және компьютерге тышқанмен байланысты операцияларды кез келген бетке тигізбестен орындауға арналған. Қолғапқа салынған электронды схеманы акселерометр арқылы қол қимылдарын бақылау үшін қолдануға болады және оны тышқан көрсеткішінің қозғалысына аударуға болады. Бұл құрылғы сол жақ батырманы басуды қайталайтын батырмамен де байланысады. Құрылғы дербес компьютерге (USB арқылы) немесе Bluetooth байланысы арқылы сымсыз қосылуы мүмкін. Bluetooth негізгі құрылғы мен осы киілетін тышқан арасында берік және әмбебап сымсыз байланысты қамтамасыз етеді. Bluetooth кеңінен таралған және дерлік барлық дербес ноутбуктермен қамтылғандықтан, мұндай киілетін құрылғыны қолдану кең. Әр түрлі жобалар үшін әр түрлі сенсорлардың интерфейсі және мұндай құрылғыны әзірлеу үшін жиі қолданылатын платформа болып табылатын Raspberry Pi -ді қолдану оңай және ауқымды. Қолғапты қолдану мүмкіндігін кеңейту үшін оны кез келген басқа киіммен алмастыруға болады.
COVID-19-ға қарсы сақтық шарасы ретінде әр түрлі адамдармен бөлісуге болатын беттерге тиіп кетуден аулақ болған жөн, ал сенсорлы экранды ноутбук немесе тышқан сол ортақ беттердің қатарында болуы мүмкін. Мұндай киілетін құрылғыны қолдану гигиенаны сақтауға және жиі қолданылатын беттерді тазартуға көмектеседі:)
Жабдықтар
- Raspberry Pi 3 моделі B V1.2
- SparkFun үш осьті акселерометрдің үзілуі - MMA8452Q
- Аталықтан әйелге секіргіш сым
- Қолғап
- Құбыр таспасы
- Қайшы
- Микро USB кабелі
- HDMI кабелі (Raspberry Pi арқылы жөндеу үшін)
1 -қадам: Raspberry Pi көмегімен интерфейсті акселерометр
Мен Raspberry Pi GPIO түйреуіштерімен сөйлесу және ось деректерін жіберу үшін I2C байланыс протоколын қолданатын Sparkfun MMA8542Q үш осьті акселерометрді қолдандым. Бұл сенсор конфигурацияланатын деректер жылдамдығымен, ұйқы режимдерімен, үдеу диапазонымен, сүзгі режимімен және т.б әр түрлі жұмыс режимдерін қамтамасыз етеді. Мен сенсордың бастапқы конфигурациясында және оны қолмен ыммен тексеруде Пибитс коды өте пайдалы деп таптым. Сенсорды алдымен тегіс бетке қойып, шикізат сенсорының мәндерін сақтай отырып, детерминисттік қисайулар жасаған дұрыс. Бұл, әсіресе, бұл сенсордың әр түрлі қол қимылдарымен қалай әрекет ететінін және біздің қолданбаға шекті мәндерді қалай қою керектігін түсіну үшін пайдалы. Акселерометр сәтті интерфейске қосылғаннан кейін, сіз Pi терминалының экранында шикі осьтер туралы мәліметтерді көре аласыз.
2-қадам: Raspberry Pi көмегімен пернелер тіркесімі
Бұл киілетін құрылғыда мен тінтуірдің сол жақ батырмасы ретінде жұмыс істей алатын түймені байланыстырдым, осылайша мен экрандағы белгішелерді шерте аламын. Содан кейін түйменің 2 ұшы Pi -дің 2 GPIO түйреуішіне қосылады. Түйреуіштердің бірі логикалық жоғары мәнді шығарады, ал екіншісі бұл мәнді оқиды. Түйме басылған кезде, схема жабылады және кіріс түйрегіш логикалық жоғары мәнді оқи алады, оны тінтуірдің сол жақ батырмасын басу үшін мен жазған сценарий өңдейді. Дәнекерлеу үтігі болмағандықтан, мен секіргіштерді түймені жалғау үшін жабысқақ таспаны қолдандым.
3 -қадам: тышқан көрсеткішін тізбектей басқару үшін Python сценарийін әзірлеу
Мен тінтуір көрсеткішін басқару үшін Pyautogui Python кітапханасын қолдандым. Бұл кітапхананы қолданудың себебі, ол Linux -те де, Windows платформасында да жұмыс істеді. Менің Raspberry Pi құрылғысындағы тінтуір көрсеткішін басқару үшін алдымен Pi -ді дисплейге қостым. Содан кейін мен тінтуір көрсеткішін басқару үшін кітапхана ұсынған келесі API -ді қолдандым:
- pyautogui.move (0, 200, 2) # тышқанды 2 секунд ішінде 200 пиксельге төмен жылжытады
- pyautogui.click () # тышқанды шертіңіз
Акселерометрден келетін қате туралы деректерді сүзу үшін мен берілген код арқылы түсінуге болатын орташа және басқа сүзу әдістерін қолдандым. Pyautogui.move (0, y) API тінтуір көрсеткіші бір уақытта жоғары-төмен немесе солға-оңға қарай жылжи алатындай қолданылды. Себебі акселерометр осьтерді X, Y және Z бағытында көрсетеді, бірақ API тек 2 дәлелді алады, X және Y осьтері. Демек, бұл әдіс менің акселерометрге және экрандағы қимылдарды салыстыруға өте қолайлы болды.
4 -қадам: Bluetooth арқылы тышқан көрсеткішін басқару үшін Python сценарийін әзірлеу
Бұл бөлім-Bluetooth мүмкіндіктері бар кез-келген ноутбук Raspberry Pi-мен сервер-клиенттік байланыс үлгісінде байланысып, тінтуірдің координаталарын сымсыз жібере алатын жетілдірілген қосымша. Windows 10 64-биттік ноутбукті Bluetooth байланысына қосу үшін төмендегі әрекеттерді орындау қажет:
Windows 10:
- Кіретін Bluetooth COM портын жасаңыз.
- Пи -ді Bluetooth арқылы ноутбуктің Bluetooth -мен жұптастырыңыз.
- Windows жүйесіне Python орнатыңыз.
- Windows жүйесіне pip орнатыңыз. Pip Linux немесе Windows машинасына кітапханаларды орнату үшін қолданылады.
- Windows жүйесінде pyautogui орнатыңыз: pip install pyautogui
- Пяутогуи құрылғыға орнатылғаннан кейін Windows терминалында келесі пәрменді қолдана отырып, Windows жүйесінде Pybluez орнатыңыз: pip install PyBluez-win10. PyBluez Windows және Linux компьютерлерінде Bluetooth байланысын қосады.
-
Windows 10 ноутбукінде қосымшаны әзірлеу үшін бізге Microsoft Visual Studio (15-20 ГБ бос орын қажет) және оның құрастыру құралдарын орнату қажет. Сондықтан, PyBluez -мен бірге төмендегі нұсқауларды орындау керек,
- «Visual Studio Installer» жүктеп алып, іске қосыңыз:
-
«Visual Studio Build Tools 2017» орнатыңыз, «Visual C ++ құрастыру құралдары» мен «Windows платформасының әмбебап құралдарын» тексеріңіз.
- git clone
- cd pybluez
python setup.py орнату
- Егер жоғарыдағы нұсқаулар дұрыс орындалса, Windows терминалында Python -ды іске қосу және pyautogui мен Bluetooth модулін импорттау жоғарыдағы суреттегідей қатесіз жұмыс істеуі керек.
- Windows машинасында орнатылған pybluez кітапханасында келесіге өтіңіз: pybluez-master / sample / simple / rfcomm-server.py және python rfcomm-server.py көмегімен орындаңыз. Егер терминал қатесіз күту күйіне өтсе, Pi -де Bluetooth орнату үшін төмендегі бөлімге өтіңіз. Егер pybluez орнатуда қателер болса, жөндеуді GitHub мәселелеріне қараңыз.
Raspberry Pi туралы Raspbian:
- PyBluez -ді Pi -ге орнатыңыз
- Windows -те сервер үлгісін іске қосыңыз. Содан кейін Pi-де pybluez-master / sample / simple / rfcomm-client.py тармағына өтіп, орындаңыз. Егер екі құрылғы байланыса бастаса, енді Bluetooth екі құрылғыда да орнатылады. Python -мен розеткалық байланыс қалай жұмыс істейтіні туралы көбірек білу үшін MIT сілтемесін қараңыз.
Деректерді байттан жіберетіндіктен, осьтік деректерді ПК -ден жіберу үшін кейбір қосымша деректерді талдау қажет болады. Клиент пен сервер деректерінің байланысы туралы қосымша ақпарат алу үшін берілген кодты қараңыз.
5 -қадам: акселерометр мен түйме қолғапқа ендіру
Акселерометр бір -бірімен жақсы байланысқаннан кейін, қаңқалық жүйе осы қадамдағы бірінші кескінге ұқсайды.
Қолғаптың беті тегіс емес болғандықтан, мен пошта жәшігіме анда -санда келетін жалған несие картасын қолдандым. Бұл қадамдағы екінші суретке сәйкес, мен қолғаптың үстіңгі бетіне жалған несие картасын жабысқақ таспамен жаптым. Картаның үстіне мен акселерометрді қостым. Бұл қондырғы менің акселерометрімді тұрақты ұстап тұру үшін және менің қимылдарымды дәл бақылау үшін жеткілікті берік болды.
Ұсынылған:
Киюге болатын жарықтандырғыш джек-фонарь: 5 қадам (суреттермен)
Киюге болатын жарықтандырғыш Jack-O-Lantern: Міне, Хэллоуин мерекесінің алдында түсірілетін 3D форматындағы тамаша жоба. Төмендегі қадамдарды орындап, өзіңізге Wearable Light Up 3D басып шығаратын Jack-O-фонарь етіп беріңіз, оны мойныңызға тағуға болады немесе сізді Хэллоуиге шақыру үшін жұмыс үстеліне қоюға болады
Қарапайым және модульдік киюге болатын шамдар: 5 қадам (суреттермен)
Қарапайым және модульдік киюге болатын шамдар!: Бірнеше арзан (және жеткізілетін) бөлшектермен керемет, футуристік және реттелетін киілетін шамдарды жасаңыз! Киімдерге/сезімдерге/мерекелерге/барлық нәрсеге сәйкес келу үшін барлық қондырғыларға қосылыңыз және түстерді ауыстырыңыз
Киюге болатын фонарь (CPX бар): 8 қадам
Кіруге болатын фонарь (CPX бар): Барлығына сәлем, мен сіздің қолыңызға киюге болатын киілетін фонарь жасадым. Мен код блоктарын біріктіретін кодтау веб -сайты Adafruit кодын қолдандым. Бұл нұсқаулықта мен сізге CPX кодтау үшін не істегенімді айтамын (Circuit Playground Ex
Arduino негізіндегі DIY ойын контроллері - Arduino PS2 ойын контроллері - DIY Arduino Gamepad көмегімен Tekken ойнау: 7 қадам
Arduino негізіндегі DIY ойын контроллері | Arduino PS2 ойын контроллері | DIY Arduino Gamepad көмегімен Tekken ойнау: Сәлеметсіздер ме, балалар, ойындарды ойнау әрқашан қызықты, бірақ өзіңіздің жеке DIY контроллеріңізбен ойнау қызықты, сондықтан біз осы нұсқаулықта arduino pro micro көмегімен ойын контроллерін жасаймыз
RYB080l киюге болатын құрылғыға арналған Bluetooth оқулығы: 8 қадам
RYB080l киюге болатын құрылғыға арналған Bluetooth оқулығы: Сәлеметсіз бе, балалар! Акарш мұнда CETech -тен. Менің бұл жобам - бұл Reyax шағын Bluetooth модулінің жұмысын түсіну үшін оқу қисығы, біріншіден, біз модульді жалғыз түсінеміз және оны тікелей қолдануға тырысамыз, содан кейін біз бірге