#1 2025-06-02 01:43:35

suzyquatro
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 6

Натискання кнопки через Arduino

Добрий день, цікавить, чи можливо реалізувати через ардуіно натискання кнопки комп'ютерної миші. Ідея така підключити замість кнопки в миші Arduino , і щоб він автоматично як би її натискав, з інтервалами приблизно 150-200мс. Хотілось би це реалізувати без реле. Дякую

Неактивний

#2 2025-06-02 02:40:32

Kino
Учасник
Зареєстрований: 2019-02-28
Повідомлень: 56

Re: Натискання кнопки через Arduino

Возьми Arduino Pro Micro или любой другой с аппаратным usb, измени под себя пример Mouse из библиотеки LUFA, залей  и клацай как хочешь, даже курсором можно управлять.

Неактивний

#3 2025-06-02 03:02:08

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 433

Re: Натискання кнопки через Arduino

suzyquatro пише:

Хотілось би це реалізувати без реле.

Підпаятись до кнопки і замикати транзистором? Або оптопарою, якщо потрібна гальванічна розвʼязка. Керувати можна і без ардуіни, 555 таймером чи будь-яким іншим генератором імпульсів.

Якщо софту пофіг, який саме девайс генерує кліки, то як уже зазначили вище, можна емулювати мишу будь-якии модулем з USB-інтерфейсом: ардуіно на Atmega32U (Pro Micro, Leonardo), RP2040 (Raspberry Pi Pico, RP2040-Zero) і т.д.

Або взагалі емулювати натискання програмно, без додаткового заліза. Програм-автоклікерів повно.

Неактивний

#4 2025-06-02 03:38:56

suzyquatro
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 6

Re: Натискання кнопки через Arduino

Kino пише:

Возьми Arduino Pro Micro или любой другой с аппаратным usb, измени под себя пример Mouse из библиотеки LUFA, залей  и клацай как хочешь, даже курсором можно управлять.

Такий варіант бачив, але не катить, потрібний саме клік звичайно миші.

Неактивний

#5 2025-06-02 03:46:37

suzyquatro
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 6

Re: Натискання кнопки через Arduino

dimich пише:
suzyquatro пише:

Хотілось би це реалізувати без реле.

Підпаятись до кнопки і замикати транзистором? Або оптопарою, якщо потрібна гальванічна розвʼязка. Керувати можна і без ардуіни, 555 таймером чи будь-яким іншим генератором імпульсів.

Якщо софту пофіг, який саме девайс генерує кліки, то як уже зазначили вище, можна емулювати мишу будь-якии модулем з USB-інтерфейсом: ардуіно на Atmega32U (Pro Micro, Leonardo), RP2040 (Raspberry Pi Pico, RP2040-Zero) і т.д.

Або взагалі емулювати натискання програмно, без додаткового заліза. Програм-автоклікерів повно.

Клікери не катять, тобто все шо працює через api віндовс по клікам не робить.
Про керування 555 таймером теж бачив, але не знайшов готових рішень. Спаяти все по даташиту для мене не буде проблемою, але як це потім вірно підключити і використовувати зовсім інше питання smile Плюс є декілька варіантів як ця мікросхема використовується, і який варіант мені потрібен теж не дуже розумію.

P.S. як я розумію генератор імпульсів буде не тільки робити клік кнопки, але й ще подавати напругу на контролер в миші, що явно не є добре. Просто в моєму розумінні клік на миші просто замикає ланцюг і явно не подає на контроллер 5В, як це робить 555-та. На жаль підрукою не має миші-донора, щоб випаяти кнопку і більш детально дослідити як вона працює.

Остання редакція suzyquatro (2025-06-02 04:05:43)

Неактивний

#6 2025-06-02 04:40:26

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 433

Re: Натискання кнопки через Arduino

suzyquatro пише:

Про керування 555 таймером теж бачив, але не знайшов готових рішень.

Якщо робити на 555, вам потрібен астабільний режим: NE555 datasheet стр.12, 6.3.2 Astable Operation.

Якщо точність періоду не критична, замість 555 можна і мультивібратор на двох транзисторах зібрати.

Яка умова початку/закінчення кліків? Подали живлення - клікаєм, відключили живлення - не клікаєм? Чи по якомусь зовнішньому сигналу?
Частота кліків фіксована чи має регулюватись?

suzyquatro пише:

але як це потім вірно підключити і використовувати зовсім інше питання smile

А це залежить, як кнопка в самій миші підключена. Якщо замикається на землю, то при використанні N-канального мосфета: затвор до виходу OUT, сток до контакту кнопки який НЕ на землі, виток в землю.
При використанні біполярного NPN транзистора: те ж саме, тільки з OUT в базу через резистор 1..100 кОм.

З оптопарою: з OUT через резистор 470-10 кОм (залежить від напруги керування) на вхід оптопари, вихід паралельно до кнопки відповідно полярності.

Таке ж саме підключення при керуванні з ардуіни чи іншого девайса.

Неактивний

#7 2025-06-02 05:05:12

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 433

Re: Натискання кнопки через Arduino

Взагалі, якщо схема підключення кнопок в самій миші стандартна, без якихось вибриків, то можна сигнал з піна керуючого девайса і напряму подавати, без транзистора чи оптопари. Тільки щоб керуюча напруга з напругою живлення миші не дуже відрізнялись. І клікати самою механічною кнопкою тоді не можна, бо через кнопку буде КЗ. Але якщо між OUT і кнопкою поставити діод (катодом до кнопки, анодом до OUT), то можна.

Неактивний

#8 2025-06-02 05:24:09

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 433

Re: Натискання кнопки через Arduino

suzyquatro пише:

Такий варіант бачив, але не катить, потрібний саме клік звичайно миші.

Миша USB'шна? І важливо, щоб події переміщення курсора і події кліків емітувались одним і тим же пристроєм з точки зору підсистеми USB?
Бо якщо прошити такі ж самі VID:PID, Serial та інші атрибути USB, то хост ніяк не зможе відрізнити звичайну мишу від емульованої. Просто буде бачити дві однакові миші, підключені до різних портів.

Неактивний

#9 2025-06-02 06:26:55

jokeer
Гість

Re: Натискання кнопки через Arduino

Згадалось, як колись в джойстик для Спектру в кнопку "auto fire" майстрячив, щоб чергами стріляти wink
Ну всі варіанти описані; або емулятор миші, або замикалка кнопки. Можна ще придумати геркон і електромагніт під килимком wink

#10 2025-06-02 15:08:24

suzyquatro
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 6

Re: Натискання кнопки через Arduino

dimich пише:

Якщо точність періоду не критична, замість 555 можна і мультивібратор на двох транзисторах зібрати.

Яка умова початку/закінчення кліків? Подали живлення - клікаєм, відключили живлення - не клікаєм? Чи по якомусь зовнішньому сигналу?
Частота кліків фіксована чи має регулюватись?

Період 150-350мс, умова початку просто живлення.

Неактивний

#11 2025-06-02 15:13:29

suzyquatro
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 6

Re: Натискання кнопки через Arduino

dimich пише:

Взагалі, якщо схема підключення кнопок в самій миші стандартна, без якихось вибриків, то можна сигнал з піна керуючого девайса і напряму подавати, без транзистора чи оптопари. Тільки щоб керуюча напруга з напругою живлення миші не дуже відрізнялись. І клікати самою механічною кнопкою тоді не можна, бо через кнопку буде КЗ. Але якщо між OUT і кнопкою поставити діод (катодом до кнопки, анодом до OUT), то можна.

Теж так думав, треба знайти донора і глянути яка напруга подається на керуючий пін контролерра в миші для активації кнопки. Сама миша не буде використовуватись, вона просто буде підключатись коли потрібно, тому фізичну кнопку можна взагалі випаяти.

Неактивний

#12 2025-06-02 22:28:13

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 433

Re: Натискання кнопки через Arduino

Ось знайшлась у мене Lenovo Thinkpad Laser Mouse, модель MOC9ULA. Кнопки замикаються на землю, напруга підтяжки 5В, струм замкненої кнопки біля 40 мкА.

Зібрав на макетці таку схему: clicker.png
Підключив. Клікає аж бігом.

Неактивний

#13 2025-06-03 01:24:54

suzyquatro
Учасник
Зареєстрований: 2025-06-02
Повідомлень: 6

Re: Натискання кнопки через Arduino

dimich пише:

Ось знайшлась у мене Lenovo Thinkpad Laser Mouse, модель MOC9ULA. Кнопки замикаються на землю, напруга підтяжки 5В, струм замкненої кнопки біля 40 мкА.

Зібрав на макетці таку схему: https://forum.arduino.ua/img/members/3697/clicker.png
Підключив. Клікає аж бігом.

Дуже вам дякую за допомогу!

Неактивний

#14 2025-06-03 08:29:57

jokeer
Гість

Re: Натискання кнопки через Arduino

А яка мета проекту? якщо треба активність від миші,  щоб комп не спав, то можна покласти її сенсором на щось рухоме. Механічний годинник наприклад.

#15 2025-06-03 15:48:41

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 433

Re: Натискання кнопки через Arduino

jokeer пише:

якщо треба активність від миші,  щоб комп не спав, то можна покласти її сенсором на щось рухоме. Механічний годинник наприклад.

Для рішення такої проблеми потрібно правильно сконфігурувати комп, а не вигадувати апаратні воркераунди smile

Неактивний

#16 2025-06-03 17:54:06

jokeer
Гість

Re: Натискання кнопки через Arduino

Ну, іноді дивні задачі вирішують ще більш дивними способами wink

#17 2025-06-03 18:13:40

dimich
Учасник
Зареєстрований: 2023-12-01
Повідомлень: 433

Re: Натискання кнопки через Arduino

jokeer пише:

Ну, іноді дивні задачі вирішують ще більш дивними способами wink

Це так. Один мій знайомий вимикав комп з блоком живлення AT за допомогою матричного принтера: давав команду на переміщення каретки в кінцеве положення, і вона висмикувала прив'язану вилку з розетки.

Неактивний

Швидке повідомлення

Введіть повідомлення і натисніть Надіслати

Підвал форуму