Страница 1 из 1

Правка скетча.

Добавлено: 29 янв 2019, 09:48
alex2104
Помогите подправить!
[spoiler]

Код: Выделить всё

const unsigned int
APin = A0,
DPin = 15;
/**/
byte i;
unsigned int value = 1023,
b[8] = {
1,//Mute
2,//Mode
3,//Vol+
4,//Vol-
5,//Seek+
6,//Seek-
7,//Answer
8//Hangup
},
cs[8] = {
0xE2,//Mute
0xCD,//Mode -> Play/Pause
0xE9,//Vol+
0xEA,//Vol-
0xB5,//Seek+
0xB6,//Seek-
0xB2,//Answer -> Record
0xB7//Hangup -> Stop
},
delta[8];
void setup() {
pinMode(DPin, INPUT);
Consumer.begin();
for (byte i = 0; i < 8; i++) {
delta[i] = 20;}
}
void loop() {
if (value <= (900) || !digitalRead(DPin)) {
for (i = 0; i < 8; i++)
{
if ((value >= (b[i] - delta[i])) && (value < (b[i] + delta[i]))) {
press(cs[i]);
}
else {
releaseAll();
}
}
}
else {
releaseAll();
}
delay(50);
}
[/spoiler]

Правка скетча.

Добавлено: 29 янв 2019, 11:28
Mining
видимо не декларировали какие значения может принимать переменная

Правка скетча.

Добавлено: 29 янв 2019, 11:41
Sancho
Библиотеки нет какой-то, откуда и есть этот самый Consumer :)

Правка скетча.

Добавлено: 29 янв 2019, 12:40
alex2104
А как узнать что за библиотека? Скетч для управления музыкой в авто кнопками на руле через USB

Правка скетча.

Добавлено: 29 янв 2019, 13:50
Sancho
[ref]alex2104[/ref], Укажите первоисточник, откуда ноги растут у него.

Правка скетча.

Добавлено: 29 янв 2019, 16:06
aidar_i
Если https://github.com/NicoHood/HID

#include "HID-Project.h"

Правка скетча.

Добавлено: 30 янв 2019, 09:02
alex2104

Правка скетча.

Добавлено: 30 янв 2019, 09:36
Sancho
[ref]alex2104[/ref],
Ищу другое руководство - здесь не совсем всё расписано, хотя понятно.
Не ясно, каким образом, как завёрнута, передаваемая клавиша функцией press()

Правка скетча.

Добавлено: 30 янв 2019, 10:28
Fuji1604
А в магнитоле есть аналоговый вход для управления кнопками руля?

Правка скетча.

Добавлено: 30 янв 2019, 10:43
alex2104
да есть. Но там ограничено количество команд.

Правка скетча.

Добавлено: 30 янв 2019, 19:28
AVGN
[ref]alex2104[/ref], Вы бы описали цель что хотите реализовать.
Гляди и единомышленники нашлись бы.
А то народ гадает над кривыми кастрированными кодами из Вьетнама.

Отправлено спустя 2 минуты 7 секунд:
Sancho писал(а): 30 янв 2019, 09:36Ищу другое руководство - здесь не совсем всё расписано, хотя понятно.
Не ясно, каким образом, как завёрнута, передаваемая клавиша функцией press()
явно нет библиотеки для превращения ардуины в HID.

Правка скетча.

Добавлено: 30 янв 2019, 20:10
dizzyy
возможно проект на леонардо, тогда отслежывается что нажато и возвращается в магнитолу нужный код.

Отправлено спустя 16 минут 58 секунд:
вроде так и есть..кнопки должны были отправлять код в сан-шину, а так опрашивает кнопки и отправляет нужный код в юсб

Правка скетча.

Добавлено: 30 янв 2019, 20:39
AVGN
[ref]alex2104[/ref], кстати да. Вы в какую ардуину заливаете код?

Правка скетча.

Добавлено: 05 фев 2019, 10:24
alex2104
Arduino pro micro , библиотеки "HID-Project.h" и button.h
Новый скетч

Код: Выделить всё

#include "HID-Project.h"
byte i;
unsigned int value = 1023,
b[9] = {
413,//Mute
348,//Mode
475,//Vol+
527,//Vol-
117,//Seek+
240,//Seek-
659,//Answer
xxx,//Voice command
621//Hangup
},
delta[9];

void setup() {
Gamepad.begin();
for (byte i = 0; i < 9; i++) {
delta[i] = 9;
}
}

void loop() {
value = analogRead(A0);
if (value <= 750) {
for (i = 0; i < 9; i++)
{
if ((value >= (b[i] - delta[i])) && (value < (b[i] + delta[i])))
{
Gamepad.press(i + 1);
}
}
}
else {
Gamepad.releaseAll();
}
Gamepad.write();
Gamepad.releaseAll();
delay(50);
}

Правка скетча.

Добавлено: 05 фев 2019, 10:34
Sancho
Когда вставляете код - для этого есть специальное поле - пользуйтесь им. Скобки, квадратные, не пропадают!
delta можно просто сделать константой, 10 например
[spoiler]

Код: Выделить всё

#include "HID-Project.h"
byte i;
unsigned int value = 1023,
b[9] = {
413,//Mute
348,//Mode
475,//Vol+
527,//Vol-
117,//Seek+
240,//Seek-
659,//Answer
xxx,//Voice command
621//Hangup
},
delta = 10;

void setup() {
Gamepad.begin();
}

void loop() {
value = analogRead(A0);
if (value <= 750) {
for (i = 0; i < 9; i++)
{
if ((value >= (b[i] - delta)) && (value < (b[i] + delta)))
{
Gamepad.press(i + 1);
}
}
}
else {
Gamepad.releaseAll();
}
Gamepad.write();
Gamepad.releaseAll();
delay(50);
}
[/spoiler]

Правка скетча.

Добавлено: 06 фев 2019, 07:16
Mining
alex2104 писал(а): 05 фев 2019, 10:24Arduino pro micro , библиотеки "HID-Project.h" и button.h
откуда дровишки, где ссылка на первоисточник?
В скейтче то нет декларации о подключении библы button.h

Вот что такое " xxx,//Voice command " ?
компилируется если закомментировать
[spoiler]

Код: Выделить всё

  // компилируется если закомментировать //xxx,//Voice command
    
    #include "HID-Project.h"
    byte i;
    unsigned int value = 1023,
    b[9] = {
    413,//Mute
    348,//Mode
    475,//Vol+
    527,//Vol-
    117,//Seek+
    240,//Seek-
    659,//Answer
    //xxx,//Voice command
    621//Hangup
    },
    delta[9];
     
    void setup() {
    Gamepad.begin();
    for (byte i = 0; i < 9; i++) {
    delta[i] = 9;
    }
    }
     
    void loop() {
    value = analogRead(A0);
    if (value <= 750) {
    for (i = 0; i < 9; i++)
    {
    if ((value >= (b[i] - delta[i])) && (value < (b[i] + delta[i])))
    {
    Gamepad.press(i + 1);
    }
    }
    }
    else {
    Gamepad.releaseAll();
    }
    Gamepad.write();
    Gamepad.releaseAll();
    delay(50);
    }
[/spoiler]

Правка скетча.

Добавлено: 07 фев 2019, 09:17
alex2104
Mining писал(а): 06 фев 2019, 07:16
откуда дровишки, где ссылка на первоисточник?
http://forum.carpad.vn/threads/lap-trin ... droid.202/