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

Вернуться   PCCar.ru - Ваш автомобильный компьютер > Всё Остальное > Проекты > Рабочий журнал

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2015, 12:31   #41
ВладимирC
Старший Пользователь
 
Регистрация: 20.08.2007
Возраст: 52
Город: Москва
Регион: 77, 97, 99, 177
Машина: Hyunday Grandeur 3.3
Сообщений: 852
ВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от Kent5601 Посмотреть сообщение
опиши пожалуйста работу скетча! как работают кнопки на руле и вкл/выкл ардуино очень понравилась задумка но разобраться не получается!
Про питание уже все пояснили, а секция управления кнопками проста до безобразия (когда знаешь, как ее реализовать). Назначаем аналоговый вход, к нему подключаем кнопки и он читает значение, если оно меньше состояния покоя (1023), но берем с запасом защищаясь от ложных срабатываний (950), то значит нажата кнопка. Вводим переменную flag, для отслеживания времени нажатия ( чтобы различать длинные и короткие нажатия. Все, на этом функции скетча заканчиваются. Дальше коды кнопок обрабатывает Remote steering wheel control. Захотелось поменять функцию какой-либо кнопки (или всех кнопок) - заходим в приложение и меняем на ходу.
Тут еще один большой плюс - на столе и в машине кнопки выдавали разные значения (особенности питания). В случае если бы назначение кнопок задавались жестко в скетче мне бы пришлось замерять значения в машине, потом опять снимать, нести домой, прошивать, и устанавливать обратно.
ВладимирC вне форума   Ответить с цитированием
Старый 26.08.2015, 13:49   #42
Kent5601
Пользователь
 
Регистрация: 28.02.2015
Возраст: 32
Регион: 16, 116
Сообщений: 53
Kent5601 is on a distinguished road
По умолчанию

спасибо большое lti1 и ВладимирC!
Kent5601 вне форума   Ответить с цитированием
Старый 26.08.2015, 13:52   #43
Kent5601
Пользователь
 
Регистрация: 28.02.2015
Возраст: 32
Регион: 16, 116
Сообщений: 53
Kent5601 is on a distinguished road
По умолчанию

Цитата:
Сообщение от lti1 Посмотреть сообщение
В скетче у ВладимирC, обрабатывает кнопки Remote steering wheel control, исходник здесь.
Алгоритм управления питанием следующий:
включили ACC -> сразу подалось питание на хаб, через две секунды сигнал на датчик холла
выключили ACC -> сразу сигнал на датчик холла, через десять минут отключается питание хаба.
Вот скетч управления питанием отдельно:
PHP код:
int ACC 4// D4 вход ACC
int Hub 5// D5 выход управления хабом
int Hall 6// D6 выход управления датчиком холла
int flagACC 0;
unsigned long pauseTime 0;

void setup() 
 {
  
pinMode(ACCINPUT);
  
pinMode(HubOUTPUT);
  
pinMode(HallOUTPUT);     
 }


void loop()
{
  if (
digitalRead(ACC)== HIGH && flagACC == 0)
   {
   
digitalWrite(HubHIGH);
   
pauseTime millis();
   
flagACC 1;
   }
  if (
millis()-pauseTime>=2000 && flagACC == 1// пауза 2 секунды
   
{
   
digitalWrite(HallHIGH);
   
pauseTime 0;
   }
   
  if (
digitalRead(ACC)== LOW && flagACC == 1)
   {
   
digitalWrite(HallLOW);
   
pauseTime millis();
   
flagACC 0;
   }
  if (
millis()-pauseTime>=600000 && flagACC == 0// пауза 10 минут
   
{
   
digitalWrite(HubLOW);
   
pauseTime 0;
   }

а int flagACC = 0 это аналоговый вход или цифровой? просто на леонардо рядом с цифровым выходом 0 написано RX это нормально или лучше другой выбрать????
Kent5601 вне форума   Ответить с цитированием
Старый 26.08.2015, 14:04   #44
lti1
Старший Пользователь
 
Аватар для lti1
 
Регистрация: 17.01.2010
Возраст: 48
Город: Самара
Регион: 63, 163
Машина: Skoda Octavia A5 FL && Skoda Octavia Tour && ̶F̶F̶3̶
Сообщений: 457
lti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond reputelti1 has a reputation beyond repute
По умолчанию

Цитата:
Сообщение от Kent5601 Посмотреть сообщение
а int flagACC = 0 это аналоговый вход или цифровой? просто на леонардо рядом с цифровым выходом 0 написано RX это нормально или лучше другой выбрать????
Все входы и выходы я обозначил в скетче, int flagACC = 0; и unsigned long pauseTime = 0; - переменные которые используются в скетче, их трогать не нужно.
lti1 вне форума   Ответить с цитированием
Старый 26.08.2015, 14:45   #45
Kent5601
Пользователь
 
Регистрация: 28.02.2015
Возраст: 32
Регион: 16, 116
Сообщений: 53
Kent5601 is on a distinguished road
По умолчанию

то есть они цифровые! я попробую сейчас скетч собрать посмотрите нормально или не правильно?
Kent5601 вне форума   Ответить с цитированием
Старый 26.08.2015, 14:58   #46
Kent5601
Пользователь
 
Регистрация: 28.02.2015
Возраст: 32
Регион: 16, 116
Сообщений: 53
Kent5601 is on a distinguished road
По умолчанию

посмотрите плиз!!! не селен я в ардуино(((


Цитата:
int ACC = 4; // D4 вход ACC
int Hub = 5; // D5 выход управления хабом
int Hall = 6; // D6 выход управления датчиком холла
int flagACC = 0;
unsigned long pauseTime = 0;
int analogPin=0;
int data;

void setup()
{
pinMode(ACC, INPUT);
pinMode(Hub, OUTPUT);
pinMode(Hall, OUTPUT);
Keyboard.begin();
Serial.begin(9600);
}


void loop()
{
data=analogRead(analogPin); //читаем значение нажатой кнопки
Serial.println(data); //для определения кодов нажатых кнопок на мониторе порта


if (digitalRead(ACC)== HIGH && flagACC == 0)
{
digitalWrite(Hub, HIGH);
pauseTime = millis();
flagACC = 1;
}
if (millis()-pauseTime>=2000 && flagACC == 1) // пауза 2 секунды
{
digitalWrite(Hall, HIGH);
pauseTime = 0;
}

if (digitalRead(ACC)== LOW && flagACC == 1)
{
digitalWrite(Hall, LOW);
pauseTime = millis();
flagACC = 0;
}
if (millis()-pauseTime>=600000 && flagACC == 0) // пауза 10 минут
{
digitalWrite(Hub, LOW);
pauseTime = 0;
}

// упровление кнопками

if (data>=315 && data<=345) // приглушение звука
{
Remote.mute();
Remote.clear();
}
if (data>=315 && data<=345) // Volume Up
{
Remote.increase();
Remote.clear();
}
if (data>=315 && data<=345) // Volume Down
{
Remote.decrease();
Remote.clear();
}
// Track Controls
if (data>=315 && data<=345) // Next
{
Remote.next();
Remote.clear();
}
if (data>=315 && data<=345) // previous
{
Remote.previous();
Remote.clear();
}
if (data>=420 && data<=460) // воспроизведение / пауза
{
Remote.play_pause();
Remote.clear();
}
delay(100);
}
цифры значений не правильные так что не обращайте внимания!
Kent5601 вне форума   Ответить с цитированием
Старый 26.08.2015, 16:02   #47
ВладимирC
Старший Пользователь
 
Регистрация: 20.08.2007
Возраст: 52
Город: Москва
Регион: 77, 97, 99, 177
Машина: Hyunday Grandeur 3.3
Сообщений: 852
ВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of light
По умолчанию

Не туда посмотрел

Последний раз редактировалось ВладимирC; 26.08.2015 в 16:44.
ВладимирC вне форума   Ответить с цитированием
Старый 26.08.2015, 16:49   #48
ВладимирC
Старший Пользователь
 
Регистрация: 20.08.2007
Возраст: 52
Город: Москва
Регион: 77, 97, 99, 177
Машина: Hyunday Grandeur 3.3
Сообщений: 852
ВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of lightВладимирC is a glorious beacon of light
По умолчанию

Цитата:
Сообщение от Kent5601 Посмотреть сообщение
то есть они цифровые! я попробую сейчас скетч собрать посмотрите нормально или не правильно?
Они не цифровые, точнее это вообще не входы, это переменные.
ВладимирC вне форума   Ответить с цитированием
Старый 26.08.2015, 17:08   #49
Kent5601
Пользователь
 
Регистрация: 28.02.2015
Возраст: 32
Регион: 16, 116
Сообщений: 53
Kent5601 is on a distinguished road
По умолчанию

ВладимирC ВАШ почтовый ящик переполнен!
Kent5601 вне форума   Ответить с цитированием
Старый 26.08.2015, 17:23   #50
sirota
Бывалый писикарщик
 
Аватар для sirota
 
Регистрация: 27.09.2008
Город: Собянинск
Регион: 77, 97, 99, 177
Машина: шкода а5
Сообщений: 5,443
sirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant futuresirota has a brilliant future
По умолчанию

Цитата:
Сообщение от Kent5601 Посмотреть сообщение
ВладимирC ВАШ почтовый ящик переполнен!
Ему лень или некогда
__________________
То win 10х64, то win 8.1x64

Видео регистрация на web. камеру:http://www.youtube.com/watch?v=1hPPLRBBIqc
sirota вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 2 (пользователей: 0 , гостей: 2)
 

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

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



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


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