Показать сообщение отдельно
Старый 14.04.2013, 13:17   #1
Andrey_61
Старший Пользователь
 
Регистрация: 25.03.2010
Возраст: 41
Регион: 61
Машина: FF2
Сообщений: 228
Andrey_61 is just really niceAndrey_61 is just really niceAndrey_61 is just really niceAndrey_61 is just really niceAndrey_61 is just really nice
По умолчанию JoyCon Exr + ARDUINO

Задумал я соединить эти два девайса.

по моей задумке arduino обрабатывает все сигналы с резистивных кнопок, энкодера, возможно ИК пульта(этот пункт пока под сомнением), и имитирует нажатие кнопок на JoyConе.

Нафига, почему не использовать просто JoyCon?
1. При нажатии на любую кнопку планшет будет просыпаться, меня это не устраивает.
2. Хочу отдельную обработку коротких и длинных нажатий.
3. Различная реакция на поворот энкодера в зависимости от того нажата КЭ(кнопка энкодера) или нет.
4. Пробуждение планшета только по нажатию КЭ

На данный момент заказан JoyCon и имеется Arduino nano v5.
Написан скетчик со следующим алгоритмом.

- при включении зажигания включаем планшет (выводим из сна)
- при выключении зажигания выключаем (отправляем в сон) через 3 секунды. Если в течении этих трех секунд опять включили зажигание или нажали КЭ то выключение отменяется.
- при выключении зажигания плавно тухнет индикатор питания.
- если планшет включен, не важно есть зажигание или нет длинное нажатие на КЭ выключает планшет.
- если планшет выключен то короткое нажатие на КЭ включает планшет
- отдельно обрабатываются вращения энкодера с нажатой и отжатой КЭ
- нажатие КЭ при включенном планшете: короткое --> enter, длинное --> POWER OFF, при выключенном планшете --> POWER ON


В общем если кому нибудь кроме меня интересна такая связка то выложу схему и исходники (как все допишу и отлажу).
Ну и готов выслушать конструктивные замечания и предложения по реализации.

p.s. была мысль на arduino реализовать hid клавиатуру, но на nano эта конструкция работала нестабильно, а покупать более мощную желания не было, поэтому решил отказаться в пользу более промышленного решения.
Andrey_61 вне форума   Ответить с цитированием