Добро пожаловать на форум по автодиагностике, автосканерам! Чтобы общаться на форуме и получить доступ к информации, пожалуйста, зарегистрируйтесь!









Автосканеры, оборудование для диагностики


Вернуться   Форум по автодиагностике, автосканерам, ремонту, обслуживанию и эксплуатации автомобилей > KIA / HYUNDAI > Диагностика KIA / HYUNDAI | ремонт электроники
Расширенный поиск

Диагностика KIA / HYUNDAI | ремонт электроники Обсуждаем вопросы, касающиеся диагностики KIA / HYUNDAI, диагностического оборудования, автосканеров.

Круиз контроль под управлением кнопок руля автомагнитолы на ардуино


Like Tree1Likes
  • 1 Post By Виктор1984

Ответ
 
LinkBack Опции темы Поиск в этой теме Опции просмотра
Старый 04.09.2023, 14:55   #1 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию Круиз контроль под управлением кнопок руля автомагнитолы на ардуино

Расписывать много не буду.
Всё давным давно разжованно.
Хочу всем показать реализацию готового и проверенного проекта, потому что на просторах интернета ничего не нашел!
Изображения Чтобы получить возможность просматривать вложения других пользователей на форуме, у Вас должно быть не менее 15 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
СИГ likes this.
Виктор1984 вне форума   Ответить с цитированием
Старый 04.09.2023, 14:57   #2 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию

ПО схеме думаю все понятно. Единственное пришлось поменять номиналы некоторых резисторов, так как на используемых оптопарах есть падение напряжения от 0,04 В до 0,06 В при токе 1Ма в зависимости от производителя.
Детали:
1. Arduino nano или mini 200-300 р.
2. Оптопара транзисторная LTV-817S-TA1-C, 10 шт. 7-10 р. за шт.
3. Резисторы smd 12 шт. 1р. за шт.
4. Диод High-speed BAS32L 5шт. 3р. за шт.
5 Пьезоизлучатель .HPM14A, 5 В, 14 мм, 50р.
Итого менее 500р.
Работа кнопок:
громкость "+" "-" работает в штатном режиме
далее все остальные кнопки короткими нажатиями управляют магнитофоном а длинные круизом
Mute > Cancel
Mode > On/Off
Trek- > Set-
Trek+> Res+
Длинные нажатия озвучиваются коротким "ПИИК"
Единственное чего мы лишаемся перемотки песен и поиска каналов радиостанций с кнопок руля.
Файлы: прошивка и плата (yadi.sk/d/PAGmn7FAzdxfuQ)

----------

Версия 2:
yadi.sk/d/Q7ls4v8rWVb3wA
Работает так:
после включения все кнопки кроме "mode" работают в штатном режиме.(можем мотать песни и искать радио)
Короткое нажатие "mode" управляем магнитофоном.
После долгого удержания "mode" активируется круиз и кнопки работают как в первом варианте.

Работу обеих прошивок проверил на авто.
Виктор1984 вне форума   Ответить с цитированием
Старый 04.09.2023, 14:58   #3 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию

Плата
Изображения Чтобы получить возможность просматривать вложения других пользователей на форуме, у Вас должно быть не менее 15 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Виктор1984 вне форума   Ответить с цитированием
Старый 04.09.2023, 14:59   #4 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию

Канапульки
Изображения Чтобы получить возможность просматривать вложения других пользователей на форуме, у Вас должно быть не менее 15 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Виктор1984 вне форума   Ответить с цитированием
Старый 04.09.2023, 15:01   #5 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию

ЭБУ подключение
Изображения Чтобы получить возможность просматривать вложения других пользователей на форуме, у Вас должно быть не менее 15 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Виктор1984 вне форума   Ответить с цитированием
Старый 04.09.2023, 15:08   #6 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию

Делал лет 5 назад.

----------

Думаю может кому пригодиться.

----------

Код программы
Виктор1984 вне форума   Ответить с цитированием
Старый 04.09.2023, 15:12   #7 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию

У кого такие кнопки.
Изображения Чтобы получить возможность просматривать вложения других пользователей на форуме, у Вас должно быть не менее 15 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Виктор1984 вне форума   Ответить с цитированием
Старый 04.09.2023, 15:13   #8 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию

unsigned long kruiz_aktiviti=0;
unsigned long knopka_time=0 ; //таймер кнопки,
bool KEY_mute_activity=0; //флаг активности кнопки mute
bool KEY_ch_plys_activity=0; //флаг активности кнопки ch_plys
bool KEY_ch_minus_activity=0; //флаг активности кнопки ch_minus
bool KEY_mode_activity=0; //флаг активности кнопки mode
bool status_zumer=0;
bool zumer_activity=0;
bool kruiz_regim=0;

#define max_time 8000 //задержка на долгое нажатие
#define min_time 10
// Значения кнопок
#define KEY_vol_minus 650 //Кнопка
#define KEY_vol_plys 552 //Кнопка
#define KEY_mute 451 //Кнопка
#define KEY_mode 357 //Кнопка
#define KEY_ch_minus 228 //Кнопка
#define KEY_ch_plys 98 //Кнопка
#define NOKEY 1023 //Кнопки отпущены

#define vol_minus 7 // № пина
#define vol_plys 6 // № пина
#define mute 5 // № пина
#define mode 4 // № пина
#define ch_minus 3 // № пина
#define ch_plys 2 // № пина

#define on_of 10 // № пина
#define res_plys 11 // № пина
#define res_minus 12 // № пина
#define cancel 9 // № пина
#define zumer 8 // № пина


void setup() {
Serial.begin(9600); // initialize serial communication at 9600 bits per second:
pinMode(vol_minus, OUTPUT);
pinMode(vol_plys, OUTPUT);
pinMode(mute, OUTPUT);
pinMode(mode, OUTPUT);
pinMode(ch_minus, OUTPUT);
pinMode(ch_plys, OUTPUT);

pinMode(on_of, OUTPUT);
pinMode(res_plys, OUTPUT);
pinMode(res_minus, OUTPUT);
pinMode(cancel, OUTPUT);
pinMode(zumer, OUTPUT);

}




void loop() {


int KEY = analogRead(A0); // считываем значение напряж pin A0:

// Serial.println(analogRead(A0));// печать в порт

if(KEY>KEY_vol_plys-10&KEY<KEY_vol_plys+10){digitalWrite(vol_plys, HIGH);}// если нажали кнопку vol_plys включаем резюк vol_plys
else {digitalWrite(vol_plys, LOW);} //если отпустили выключаем

if(KEY>KEY_vol_minus-10&KEY<KEY_vol_minus+10){digitalWrite(vol_minus, HIGH);}// если нажали кнопку vol_minus включаем резюк vol_minus
else {digitalWrite(vol_minus, LOW);} //если отпустили выключаем

if(kruiz_aktiviti==1){

if(KEY>KEY_mute-10&KEY<KEY_mute+10){ //если нажали кнопку mute
KEY_mute_activity=1; //меняем статус ЧТО КНОПКА НАЖАТА
if(knopka_time<max_time){knopka_time++;} //запуск таймера
if(knopka_time==max_time){ //если таймер дотикал до максимума
digitalWrite(cancel, HIGH);zumer_activity=1; //включаем резюк на cancel
}}
else{digitalWrite(cancel, LOW);}

if(KEY>KEY_ch_plys-10&KEY<KEY_ch_plys+10){ //если нажали кнопку ch_plys
KEY_ch_plys_activity=1; //меняем статус ЧТО КНОПКА НАЖАТА
if(knopka_time<max_time){knopka_time++;} //запуск таймера
if(knopka_time==max_time){ //если таймер дотикал до максимума
digitalWrite(res_plys, HIGH);zumer_activity=1; //включаем резюк на res_plys
}}
else{digitalWrite(res_plys, LOW);}

if(KEY>KEY_ch_minus-10&KEY<KEY_ch_minus+10){ //если нажали кнопку ch_minus
KEY_ch_minus_activity=1; //меняем статус ЧТО КНОПКА НАЖАТА
if(knopka_time<max_time){knopka_time++;} //запуск таймера
if(knopka_time==max_time){ //если таймер дотикал до максимума
digitalWrite(res_minus, HIGH);zumer_activity=1; //включаем резюк на res_minus
}}
else{digitalWrite(res_minus, LOW);}}

if(kruiz_aktiviti==0){
if(KEY>KEY_mute-10&KEY<KEY_mute+10){digitalWrite(mute, HIGH);}
else{digitalWrite(mute, LOW);}

if(KEY>KEY_ch_plys-10&KEY<KEY_ch_plys+10){digitalWrite(ch_plys, HIGH);}
else{digitalWrite(ch_plys, LOW);}

if(KEY>KEY_ch_minus-10&KEY<KEY_ch_minus+10){digitalWrite(ch_minus, HIGH);}
else{digitalWrite(ch_minus, LOW);}

}

if(KEY>KEY_mode-10&KEY<KEY_mode+10){ //если нажали кнопку mode
KEY_mode_activity=1; //меняем статус ЧТО КНОПКА НАЖАТА
if(knopka_time<max_time){knopka_time++;} //запуск таймера
if(knopka_time==max_time){ //если таймер дотикал до максимума
digitalWrite(on_of, HIGH);zumer_activity=1; //включаем резюк на on_of
if(!kruiz_regim){ kruiz_regim=1;kruiz_aktiviti++ ; }
}}
else{digitalWrite(on_of, LOW);}

if(kruiz_aktiviti==2){kruiz_aktiviti=0;}

if(!status_zumer&zumer_activity){tone(zumer, 1200, 300);status_zumer=1;}




if(KEY>NOKEY-20&KEY<NOKEY+10){ //после отпускания кнопок

if(knopka_time<max_time&knopka_time>min_time) //проверяем время нажатия и какая кнопка была нажата
{
if(KEY_mute_activity){digitalWrite(mute, HIGH); delay(200);digitalWrite(mute, LOW); } //если mute коротко тогда включам резюк mute на 0,2 секунды
if(KEY_ch_plys_activity){digitalWrite(ch_plys, HIGH); delay(200);digitalWrite(ch_plys, LOW); }//если ch_plys------
if(KEY_ch_minus_activity){digitalWrite(ch_minus, HIGH); delay(200);digitalWrite(ch_minus, LOW); }//если ch_minus -----
if(KEY_mode_activity){digitalWrite(mode, HIGH); delay(200);digitalWrite(mode, LOW); }//если mode ------
}



knopka_time=0;KEY_mute_activity=0;KEY_ch_plys_acti vity=0;KEY_ch_minus_activity=0;KEY_mode_activity=0 ;status_zumer=0;zumer_activity=0;kruiz_regim=0;} //сбрасывае все щетчики и таймеры и ждем следуещего нажатия

}
Виктор1984 вне форума   Ответить с цитированием
Старый 04.09.2023, 15:16   #9 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию

Или меняем кнопочки.
Изображения Чтобы получить возможность просматривать вложения других пользователей на форуме, у Вас должно быть не менее 15 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Виктор1984 вне форума   Ответить с цитированием
Старый 04.09.2023, 15:17   #10 (permalink)
Новичок
 
Регистрация: 31.03.2021
Сообщений: 15
Вы сказали Спасибо: 0
Поблагодарили 9 раз(а) в 2 сообщениях
Сказал(а) Фууу!: 0
Сказали Фууу! 0 раз(а) в 0 сообщениях
Откуда: Краснодар
По умолчанию

Вроде всё.
Виктор1984 вне форума   Ответить с цитированием
Ответ






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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Вкл.



Текущее время: 11:01. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод:
zCarot
Автодиагностика и автосканеры.