12.02.2015, 23:47 | #41 |
Пользователь
Регистрация: 03.12.2014
Возраст: 41
Регион: ***эстония***
Сообщений: 75
|
новости с фронта в прямом эфире - начал травить новую плату управления... надеюсь развёл всё правильно =)
В этот раз плата не очень перенеслась... пришлось прилично там почирикать маркером =) |
13.02.2015, 01:08 | #42 |
Пользователь
Регистрация: 03.12.2014
Возраст: 41
Регион: ***эстония***
Сообщений: 75
|
криво, косо, убого... но вроде готово.... осталось убрать пару замыканий, разобрать старую плату и можно ставить комплектуху на эту =)
|
13.02.2015, 02:59 | #43 |
Пользователь
Регистрация: 03.12.2014
Возраст: 41
Регион: ***эстония***
Сообщений: 75
|
сори фоткать поздно уже - пора дрыхнуть идти =)
в целом результат - всё работает =) осталось немного исправить скетч (раньше реле управлялось 1. теперь 0.) Завтра финальный тест в сборке с нексусом. если всё заработает - возьмусь резать панель и интегрировать туда усб порт и энкодер. Также если всё заработает как надо - выложу все схемы сюда =) |
14.02.2015, 01:26 | #44 |
Пользователь
Регистрация: 03.12.2014
Возраст: 41
Регион: ***эстония***
Сообщений: 75
|
оно работает!
немного можно подправить скетч, но в целом оно работает =) Проверена регулировка громкости при подключении к компу - работает с небольшими лагами. надо лишь уменьшить задержку =) |
14.02.2015, 12:18 | #45 |
Пользователь
Регистрация: 03.12.2014
Возраст: 41
Регион: ***эстония***
Сообщений: 75
|
ну-с... поздравьте меня =) я опять накосячил с разводкой =)
Все исправленные чертежи и скетч выложу как только всё заработает =) |
14.02.2015, 14:31 | #46 |
Гуру
Регистрация: 20.01.2010
Возраст: 43
Город: Владивосток
Регион: 25
Машина: Subaru Impreza GF/GG
Сообщений: 1,064
|
а че там чертежи))
я вон примерно так же год назад делал))) отрезал кусок от мафона с экодером и завел на ардуину, ток там еще кнопки и качельки.
__________________
Subaru Impreza GF H6 BMW Style PROJECT : - постройка. Было: 2литра / PIII-650/SSD32GB/9.5"/SB X-FI/GPS/3G/OBD2/... Строю: 3литра / I5-MOBILE/500/12"/SB X-FI/GPS/3G/OBD2/... pccar Drive2 ----- Impreza Lite: Allwinner A13 (DNS E76) - Cortex A8 1GHz http://www.pccar.ru/showthread.php?t=18574 |
14.02.2015, 14:52 | #47 |
Пользователь
Регистрация: 03.12.2014
Возраст: 41
Регион: ***эстония***
Сообщений: 75
|
не ну мало-ли кому понадобится =)
а как решил что-б без лагов громкость регулировалась? |
14.02.2015, 15:20 | #48 |
Старший Пользователь
Регистрация: 01.01.2014
Возраст: 38
Город: Новосибирск
Регион: 54
Машина: РРС, Форд
Сообщений: 954
|
Честно, не понял, зачем экондер? Есть же магнитола в качестве усилителя, выпаял весь функционал, замутил красивый блок кнопок, экондер и васякот а магнитолу спрятал под сидушку.
__________________
Тесла по-русски |
14.02.2015, 16:08 | #49 |
Пользователь
Регистрация: 03.12.2014
Возраст: 41
Регион: ***эстония***
Сообщений: 75
|
магнитола шумит... будет отдельный усилок.... с него не получится вывести управление =\
А вообще нравится мне как энкодер переключается =) я уже почти добился своего =) если не крутить энкодер быстро - вполне сносно получается |
16.02.2015, 00:50 | #50 |
Пользователь
Регистрация: 03.12.2014
Возраст: 41
Регион: ***эстония***
Сообщений: 75
|
Заработало норм на Винде. Единственно что если крутить быстро - толку мало =) лучше крутить спокойно но долго =)
Завтра притащу планшет и буду его ковырять =) скетч: Код:
unsigned long currentTime; unsigned long loopTime; const int pin_A = 0; // pin 0 const int pin_B = 1; // pin 1 unsigned char encoder_A; unsigned char encoder_B; unsigned char encoder_A_prev=0; int vol_up = 0; int vol_down = 0; const int button = 3; //пин кнопки вкл/выкл const int relay = 13; //пин управления реле void setup() { // declare pin 9 to be an output: pinMode(9, OUTPUT); // устанавливаем pin 9 как выход + pinMode(10, OUTPUT); // устанавливаем pin 10 как выход - pinMode(pin_A, INPUT); pinMode(pin_B, INPUT); currentTime = millis(); loopTime = currentTime; pinMode(relay, OUTPUT); pinMode(button, INPUT); } void loop() { currentTime = millis(); if(currentTime >= (loopTime + 1)){ // проверяем каждые 5мс (200 Гц) encoder_A = digitalRead(pin_A); // считываем состояние выхода А энкодера encoder_B = digitalRead(pin_B); // считываем состояние выхода Б энкодера if((!encoder_A) && (encoder_A_prev)){ // если состояние изменилось с положительного к нулю if(encoder_B) { // выход В в полож. сост., значит вращение по часовой стрелке vol_up = 100; } else { // выход В в 0 сост., значит вращение против часовой стрелки vol_down = 100; } } //if ((!encoder_A)&&(!encoder_B)){digitalWrite(9, LOW); digitalWrite(10, LOW);} encoder_A_prev = encoder_A; // сохраняем значение А для следующего цикла loopTime = currentTime; if (vol_up > 0) {digitalWrite(9,HIGH); vol_up--;} else {digitalWrite(9,LOW);} if (vol_down > 0) {digitalWrite(10,HIGH); vol_down--;} else {digitalWrite(10,LOW);} } if (digitalRead(button)==HIGH){ if (digitalRead(relay)==HIGH){digitalWrite(relay,LOW);delay(500);}else{digitalWrite(relay,HIGH);delay(500);} } } |
Здесь присутствуют: 2 (пользователей: 0 , гостей: 2) | |
|
|