Например TDA7294

Форум РадиоКот • Просмотр темы - Адаптер кнопок под магнитолу Kenwood
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Чт апр 18, 2024 19:12:54

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: Адаптер кнопок под магнитолу Kenwood
СообщениеДобавлено: Вс фев 12, 2017 15:11:21 
Родился

Зарегистрирован: Вс фев 12, 2017 14:36:27
Сообщений: 1
Рейтинг сообщения: 0
Привет всем, я тут новенький. Привет. Делаю адаптер кнопок руля под магнитолу kenwood, управляется по проводу remocont (сине-желтый) протоколом nec. kenwood использует цифровой интерфейс NEC, аналогичный используемому для ИК управления. От ИК NEC протокола он отличается тем, что при повторах передается вся посылка, без признаков повтора. Ну и адрес используется 2-х байтный неинвертированный (расширенный NEC протокол). И в отличии от беспроводного, проводной не имеет несущей частоты. Реализован NEC протокол для управления так: 0 и 1 отличаются длительностью. Для 0 отводится 560 микросекунд. а для 1 — 560*3 микросекунд. Единичный пакет в протоколе состоит из 4-х байт. 2 байта — адрес, 1 байт — команда и еще 1 байт — побитово инвертированная команда. 0x46B9 — это адрес устройства. Код написал под ардуину, подключал к магнитофону, не фига работать не хочет. На выходной пин вешал светодиод, моргает в такт нажатиям кнопок. Код приложил.
Спойлер// kenwood
#define kenwoodPin 14

#define cmdSource 0x13
#define cmdVolumeDown 0x15
#define cmdVolumeUp 0x14
#define cmdUp 0x0B
#define cmdDown 0x0C
#define cmdLeft 0x0A
#define cmdRight 0x0B
#define cmdPlay 0x0E
/////////////////////////////////////////////////////////////////
// джойстик
#define rows 4
#define cols 2
// номера кнопок в соответствии со схемой
const byte keys[rows][cols] =
{
{1,5},
{2,6},
{3,7},
{4,8}
};

// 13 12 10 9 8 7 6 5

// номера пинов
const byte rowPins[rows] = {7, 8, 9, 10}; // строки
const byte colPins[cols] = {12, 13}; // столбцы

// маски для клавиш
#define MaskSRCButton 1
#define MaskPlayButton 2
#define MaskVolumeUpButton 4
#define MaskVolumeDownButton 8
#define MaskLEFTButton 16
#define MaskRIGHTButton 32
#define MaskScrollDown 64
#define MaskScrollUp 128

unsigned long starttime;
bool workkbd;
/////////////////////////////////////////////////////////////////

void setup()
{
int i;
// строки — на выход
for (i = 0; i < rows; ++i)
{
pinMode(rowPins[i], OUTPUT);
}

// столбцы — на вход
for (i = 0; i < cols; ++i)
{
pinMode(colPins[i], INPUT_PULLUP); // включаем подтягивающий резистор
}

// управление Alpine
pinMode(kenwoodPin, OUTPUT);

starttime = millis();
workkbd = false;
}

// сканирование джойстика
byte scan(void)
{
int i, j;
byte code = 0;

for (i = 0; i < rows; ++i)
{
digitalWrite(rowPins[i], LOW);

// кнопки
for (j = 0; j < cols; ++j)
{
if(digitalRead(colPins[j]) == false)
{
code |= 1 << (keys[i][j] — 1);
}
}

digitalWrite(rowPins[i], HIGH);
}

return code;
}

// отправка байта
void SendByte(byte data)
{
for (int i = 0; i < 8; ++i)
{
digitalWrite(kenwoodPin, HIGH);
delayMicroseconds(560);
digitalWrite(kenwoodPin, LOW);

if (data & 1)
{ // 1
delayMicroseconds(1680);
}
else
{ // 0
delayMicroseconds(560);
}

data >>= 1;
}
}

// отправка команды
void Send(byte command)
{
digitalWrite(kenwoodPin, HIGH);
delayMicroseconds(9000);
digitalWrite(kenwoodPin, LOW);
delayMicroseconds(4500);

SendByte(0xB9);
SendByte(0x46);
SendByte(command);
SendByte(~command);

digitalWrite(kenwoodPin, HIGH);
delayMicroseconds(560);
digitalWrite(kenwoodPin, LOW);
}

// цикл программы
void loop(void)
{
byte code;

code = scan();

if (workkbd == false)
{
if (millis() — starttime > 3000)
workkbd = true;

return;
}

if (code & MaskSRCButton)
Send(cmdSource);

if (code & MaskPlayButton)
Send(cmdPlay);

if (code & MaskVolumeUpButton)
Send(cmdVolumeUp);

if (code & MaskVolumeDownButton)
Send(cmdVolumeDown);

if (code & MaskLEFTButton)
Send(cmdLeft);

if (code & MaskRIGHTButton)
Send(cmdRight);

if (code & MaskScrollDown)
Send(cmdDown);

if (code & MaskScrollUp)
Send(cmdUp);
}


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Адаптер кнопок под магнитолу Kenwood
СообщениеДобавлено: Вс фев 12, 2017 21:18:43 
Сверлит текстолит когтями
Аватар пользователя

Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31
Сообщений: 1231
Откуда: Баку
Рейтинг сообщения: 0
1. Зачем в конце каждой посылки вы отправляете "1" на 560 мкс?
Здесь такого нет, а то зачернение в конце нужно только для того, чтобы указать границу длительности последнего сигнала.
2. Если мне не изменяет мой склероз, с выхода ИК приемника на дешифратор поступает инвертированный сигнал. Возможно и для проводной связи нужно сделать то же самое.

_________________
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: Адаптер кнопок под магнитолу Kenwood
СообщениеДобавлено: Вс фев 12, 2017 22:45:55 
Электрический кот
Аватар пользователя

Карма: 8
Рейтинг сообщений: 128
Зарегистрирован: Чт июн 20, 2013 00:00:58
Сообщений: 1031
Откуда: москва, м.Сходненская
Рейтинг сообщения: 0
Еще одно творение, добро пожаловать http://radiokot.ru/forum/viewtopic.php?f=43&t=116310


Вернуться наверх
 
PCBWay - всего $5 за 10 печатных плат, первый заказ для новых клиентов БЕСПЛАТЕН

Сборка печатных плат от $30 + БЕСПЛАТНАЯ доставка по всему миру + трафарет

Онлайн просмотровщик Gerber-файлов от PCBWay + Услуги 3D печати
Не в сети
 Заголовок сообщения: Re: Адаптер кнопок под магнитолу Kenwood
СообщениеДобавлено: Пт мар 03, 2017 12:27:40 
Вымогатель припоя
Аватар пользователя

Карма: 1
Рейтинг сообщений: 6
Зарегистрирован: Сб июн 27, 2009 23:34:18
Сообщений: 538
Откуда: Украина
Рейтинг сообщения: 0
О, если заработает, прошивка будет?

_________________
Голова - это прибор для создания голограмм
Хелбой, Халк и Аватар - отличное наглядное представление модели RGB


Вернуться наверх
 
Организация питания на основе надежных литиевых аккумуляторов EVE и микросхем азиатского производства

Качественное и безопасное устройство, работающее от аккумулятора, должно учитывать его физические и химические свойства, профили заряда и разряда, их изменение во времени и под влиянием различных условий, таких как температура и ток нагрузки. Мы расскажем о литий-ионных аккумуляторных батареях EVE и нескольких решениях от различных китайских компаний, рекомендуемых для разработок приложений с использованием этих АКБ. Представленные в статье китайские аналоги помогут заменить продукцию западных брендов с оптимизацией цены без потери качества.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: Адаптер кнопок под магнитолу Kenwood
СообщениеДобавлено: Пт мар 03, 2017 14:17:14 
Электрический кот
Аватар пользователя

Карма: 8
Рейтинг сообщений: 128
Зарегистрирован: Чт июн 20, 2013 00:00:58
Сообщений: 1031
Откуда: москва, м.Сходненская
Рейтинг сообщения: 0
кому вопрос?


Вернуться наверх
 
Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.

Подробнее>>
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 20


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y