PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   Дополнительные устройства (http://pccar.ru/forumdisplay.php?f=177)
-   -   Резистивные кнопки под андроид (http://pccar.ru/showthread.php?t=18478)

kyty30v 09.08.2019 20:02

Всем доброго времени суток. Появилась необходимость прикрутить к нексусу 2013 выносное управление ввиду того, что он конструктивно установлен не совсем удобно для управления руками. Тачпад от ноута через переходник уже затестил, встал вопрос прикрутить пару- тройку доп клавиш. Собственно, полистал эту тему. С ардуино пока никак, не смог на промикро заставить даже светодиод моргать(. Собственно вопрос, а почему вы упираетесь так в ардуино. Нельзя ли допустим распотрошить какой нить старый геймпад и к его выходам напаять кнопки. Далее через переназначение клавиш назначить им необходимые функции, или я чего то упускаю? Ну и наткнулся что мол с ардуино не работает наэкранная клавиатура, это на везде, или особенность какого то отдельного скетча?

oleg707 09.08.2019 23:15

Цитата:

Сообщение от kyty30v (Сообщение 411062)
Всем доброго времени суток. Появилась необходимость прикрутить к нексусу 2013 выносное управление ввиду того, что он конструктивно установлен не совсем удобно для управления руками. Тачпад от ноута через переходник уже затестил, встал вопрос прикрутить пару- тройку доп клавиш. Собственно, полистал эту тему. С ардуино пока никак, не смог на промикро заставить даже светодиод моргать(. Собственно вопрос, а почему вы упираетесь так в ардуино. Нельзя ли допустим распотрошить какой нить старый геймпад и к его выходам напаять кнопки. Далее через переназначение клавиш назначить им необходимые функции, или я чего то упускаю? Ну и наткнулся что мол с ардуино не работает наэкранная клавиатура, это на везде, или особенность какого то отдельного скетча?

Так как раз таки с ардуиной проще всего. Промикро ( которая на 32u4 процессоре) умеет аппаратно притворяться полноценной клавиатурой. Можно собрать примитивную схему, залить готовый или написать самому скетч и имеем полноценную клавиатуру, посылающий нужные нам сочетания клавиш при нажатии внешних кнопок. Также есть программа сериал менеджер, там ещё круче, можно вообще данные гонять ( например забортная температура).
Цена ардуины тоже влияет на популярность.
Наэкранная клавиатура при подключении физической в Андроиде отключается, поэтому в настройках нужно включить, чтобы 2 одновременно могли работать.
Так что решайте, конечно, сами.

kyty30v 09.08.2019 23:25

Ну вот я и купил на 32u4 что то она мне не поддается, гребаный блинк не могу залить.
Ну если с блинком разобрался с горем пополам. То выше выложенный скетч не удается компилировать, ругается на tablet.

fokin91 15.08.2019 12:04

Цитата:

Сообщение от kyty30v (Сообщение 411062)
Всем доброго времени суток. Появилась необходимость прикрутить к нексусу 2013 выносное управление ввиду того, что он конструктивно установлен не совсем удобно для управления руками. Тачпад от ноута через переходник уже затестил, встал вопрос прикрутить пару- тройку доп клавиш. Собственно, полистал эту тему. С ардуино пока никак, не смог на промикро заставить даже светодиод моргать(. Собственно вопрос, а почему вы упираетесь так в ардуино. Нельзя ли допустим распотрошить какой нить старый геймпад и к его выходам напаять кнопки. Далее через переназначение клавиш назначить им необходимые функции, или я чего то упускаю? Ну и наткнулся что мол с ардуино не работает наэкранная клавиатура, это на везде, или особенность какого то отдельного скетча?

по поводу наэкранной клавиатуре. В современных андроидах в настройках есть переключатель, который позволяет выводить наэкранную клавиатуру всегда. Смысл в том, что когда андроид видит что подключена физическая клавиатура, он считает что экранная уже не нужна. От скетча ардуино это не зависит, так как для андроида ардуина представляется обычной клавиатурой.
На более старых андроидах не было такой настройки, некоторые решали это установкой кастомной экранной клавиатуры.

Геймпад распотрошить можно, так же можно и распотрошить клавиатуру обычную и вытащить ее кнопки, но это, по крайней мере для меня, сложнее, чем собрать на ардуино или STM32 нужный контроллер.

anru 15.09.2019 13:34

Привет всем. Имеется Ардуино и она подключена у меня в хаб для управления с руля но я хочу подключить с руля управление камерой переднего вида. То есть включение реле подачи тока на камеру и отключение другой кнопкой или по истечении какого-то времени. Это можно реализовать в скетче вместе со скетчем клавиатуры. Скетч брал от сюда.

Alex15BV 15.09.2019 16:58

Конечно можно: скетч - это же цикл бесконечный... Добавляешь, что тебе нужно - и Ардуинка будет это обрабатывать вместе с клавиатурой.

anru 16.09.2019 10:51

Здравствуйте. Помогите подредактировать скетч пожалуйста на включение реле от кнопки руля. Скетч прилагаю и схему. Надо чтобы от одного значения включать реле а от другого отключалась или отключалась сама после заданного времени.
https://cloud.mail.ru/public/4X7L/3HAmLnUj4 это примерная схема.
https://cloud.mail.ru/public/2HS7/59sD7ZyGZ это скетч.
Спасибо большое.

архей 01.11.2019 00:19

Цитата:

Сообщение от Alladim (Сообщение 387277)
В общих чертах накидал с горем пополам вот такой скетч
Код HTML:

#include <Keypad.h> // подключаем нашу библиотеку

const byte ROWS = 5; //число строк у нашей клавиатуры

const byte COLS = 5; //число столбцов у нашей клавиатуры

char hexaKeys[ROWS][COLS] = {

{'1','2','3','4','5'}, // здесь мы располагаем названия наших клавиш, как на клавиатуре,для удобства пользования

{'6','7','8','9','0'},

{'A','B','C','D','E'},

{'F','G','H','I','J'},

{'K','L','M','N','O'}



};

byte rowPins[ROWS] = {2, 3, 4, 5, 6}; //к каким выводам подключаем управление строками

byte colPins[COLS] = {7, 10, 16, 14, 15}; //к каким выводам подключаем управление столбцами

//initialize an instance of class NewKeypad

Keypad customKeypad = Keypad( makeKeymap(hexaKeys), rowPins, colPins, ROWS, COLS);

void setup()
{
  PCICR=1<   PCMSK0=(1<   pinMode (8,INPUT_PULLUP);
  pinMode (9,INPUT_PULLUP);

  Keyboard.begin();
  Serial.begin(9600);
}
// настройка функциональных клавиш
void loop(){
  char customKey = customKeypad.getKey();



// назначение действий на кнопки


if (customKey == 'B') {
 
Keyboard.press(KEY_UP_ARROW);
delay (100);
Keyboard.releaseAll();
}
if (customKey == '2') {
 
Keyboard.press(KEY_DOWN_ARROW);
delay (100);
Keyboard.releaseAll();


}
if (customKey == 'O') {
 
Remote.previous();
delay (100);
Remote.clear();


}if (customKey == '7') {
 
Remote.next();
delay (100);
Remote.clear();

}if (customKey == '4') {
 
Remote.play_pause();
delay (100);
Remote.clear();

}if (customKey == '5') {
 
Remote.mute();
delay (100);
Remote.clear();

}if (customKey == '9') {
 
Keyboard.press(KEY_RETURN);
delay (100);
Keyboard.releaseAll();
 

Serial.println(customKey);
}

}


// часть кода для регулировки громкости энкодером 

ISR (PCINT0_vect){
static byte old_n=PINB&B00110000;
byte new_n=PINB&B00110000;
if (old_n==32&&new_n==48||old_n==16&&new_n==0) {
        Remote.increase(); 
        delay(10); 
        Remote.clear();}
if (old_n==16&&new_n==48||old_n==32&&new_n==0) {
        Remote.decrease();
        delay(10); 
        Remote.clear();}
old_n= new_n;
}



Все кнопки работают, энкодер работает, нажатия на кнопки назначать получается. Но ! очень хочется реализовать управление с коротким/ длинным нажатием как в скетче Ув. lti1
http://pccar.ru/showpost.php?p=319975&postcount=307.
Ну ни как я не могу въехать, как переделать строки
Код HTML:

if(millis()-eventTime>10 && millis()-eventTime<499 && data>=165 && data<=185) // короткое нажатие кнопки от 10 до 499 миллисекунд (изменяется здесь millis()-eventTime>10 && millis()-eventTime<499)
{
flag = 7;
}

под матричную клавиатуру, в которой нету дребезга, не надо ничего сравнивать.
Очень прошу, на примере одной команды перемотки вперед, подскажите что нужно добавить в мой скетч, в том числе над циклом loop.

вы какую библиотеку Keypad используете ? у меня ваш код не проходит проверку

pakmani 08.07.2020 16:13

добрый день!
начинаю осваивать Ардуино. стал вопрос с резистивными кнопками ...
точнее как правильно написать скетч, что бы по нажатию кнопки запускалось приложение (конкретно навигатор) и просыпался планшет ... команду на режим сна нашел.

PalЫч 24.01.2023 00:33

а возможно подключить матричные кнопки ?


Часовой пояс GMT +4, время: 06:22.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot