|
№91
08 01 2014, 10:32
Сейчас отойду от праздников и отвечу по всем вопросам.
У RGsB и VGA разные частоты синхронизаций, поэтому нужно конвертировать сигнал. Что значит самый простой вариант выделения синхры? Включение задней передачи отслеживаю по шине. Сигнал там гуляет. |
№92
08 01 2014, 12:28
|
№93
08 01 2014, 12:34
#include <IRremote.h>
IRsend irsend; int PIN_A0 = 2; int PIN_A1 = 4; int PIN_AV = 5; int PIN_PWR = 7; int TM_PWR = 0; int ST_CAM = 0; unsigned long RF_Time; unsigned long OFF_Time; byte IBUSbyte[8] = {0,0,0,0,0,0,0,0}; byte AUX[8] = {0x68,0x12,0x3B,0x23,0x62,0x10,0x41, 0x55};//команда вывода AUX int ST_READ = 0; //статус чтения шины byte AUX_DIS_OFF[8] = {0x00,0x00,0x68,0x04,0x3B,0x46,0x02,0x13}; // команда Radio Display Off, выкл. меню плеера byte SMO_TMO[8] = {0x00,0x00,0x68,0x04,0x3B,0x46,0x0C,0x1D};// команда Tone menu off. Select menu off byte TMO[8] = {0x00,0x00,0x68,0x04,0x3B,0x46,0x08,0x19}; //команда Tone menu off int ST_DIS = 0; // статус дисплея int ST_DIS_O = 0; byte INFO_P[8] = {0x00, 0xF0,0x05,0xFF,0x47,0x00,0x38,0x75}; //нажатие кнопки INFO byte ON[8] = {0x00,0x00,0x68,0x04,0xF0,0x4A,0xFF,0x29}; // включение оранжевого диода byte OFF[8] = {0x00,0x00,0x68,0x04,0xF0,0x4A,0x00,0xD6}; // выкл. оранж. диода int DUB = 0; //счетчик перемотки byte FF_L[8] = {0x00, 0x00, 0xF0,0x04,0x68,0x48,0x40,0x94}; byte FF_R[8] = {0x00, 0x00, 0xF0,0x04,0x68,0x48,0x80,0x54}; int FF_F = 0; byte REV_L[8] = {0x00, 0x00, 0xF0,0x04,0x68,0x48,0x50,0x84}; byte REV_R[8] = {0x00, 0x00, 0xF0,0x04,0x68,0x48,0x90,0x44}; int REV_F = 0; byte FR_L[8] = {0x00, 0x00, 0xF0,0x04,0x68,0x48,0x54,0x80}; // вправо - влево byte FR_R[8] = {0x00, 0x00, 0xF0,0x04,0x68,0x48,0x94,0x40}; int FR_F = 0; byte CLOCK_L[8] = {0x00, 0x00, 0xF0,0x04,0xFF,0x48,0x47,0x04}; byte CLOCK_R[8] = {0x00, 0x00, 0xF0,0x04,0xFF,0x48,0x87,0xC4}; int CLOCK_F = 0; byte TONE_P[8] = {0x00, 0x00, 0xF0,0x04,0x68,0x48,0x04,0xD0}; byte SEL_L[8] = {0x00, 0xF0,0x05,0xFF,0x47,0x00,0x4F,0x02}; byte SEL_R[8] = {0x00, 0xF0, 0x05, 0xFF, 0x47,0x00,0x8F,0xC2}; int SEL_F = 0; byte MENU_P[8] = {0x00, 0x00,0xF0,0x04,0xFF,0x48,0x34,0x77}; byte OK_L[8] = {0x00, 0x00, 0xF0,0x04,0x3B,0x48,0x45,0xC2}; byte OK_R[8] = {0x00,0x00,0xF0,0x04,0x3B,0x48,0x85,0x02}; int OK_F = 0; byte R_REV_L[8] = {0x00,0x00,0x50,0x04,0x68,0x3B,0x18,0x1F}; byte R_REV_R[8] = {0x00,0x00,0x50,0x04,0x68,0x3B,0x28,0x2F}; int R_REV_F = 0; byte R_FF_L[8] = {0x00,0x00,0x50,0x04,0x68,0x3B,0x11,0x16}; byte R_FF_R[8] = {0x00,0x00,0x50,0x04,0x68,0x3B,0x21,0x26}; int R_FF_F = 0; byte GEAR_R[8]= {0x00,0x00,0x80,0x0A,0xBF,0x13,0x00,0x11}; byte GEAR_U[8] = {0x00,0x00,0x80,0x0A,0xBF,0x13,0x00,0x01}; void setup() { pinMode(PIN_A0, OUTPUT); pinMode(PIN_A1, OUTPUT); pinMode(PIN_PWR, OUTPUT); pinMode(PIN_AV, OUTPUT); digitalWrite (PIN_A0, LOW); digitalWrite (PIN_A1, LOW); digitalWrite (PIN_PWR, HIGH); Serial.begin(9600); } void loop() { if ((ST_DIS != ST_DIS_O) && ST_CAM == 0){ if (ST_DIS == 0) { ST_DIS_O = 0; PORTD&=~(1<<5); // digitalWrite (PIN_AV, LOW); } else { ST_DIS_O = 1; PORTD&=~(1<<2); PORTD&=~(1<<4); PORTD|=(1<<5); //digitalWrite (PIN_A0, LOW); //digitalWrite (PIN_A1, LOW); //digitalWrite (PIN_AV, HIGH); } } if (TM_PWR > 1 && ((millis() - OFF_Time) > 10800000 || (millis() - OFF_Time) < 0)){ PORTD|=(1<<7); //digitalWrite (PIN_PWR, HIGH); TM_PWR = 0; } if ((REV_F > 0 || R_REV_F > 0) && (DUB < 3) &&(ST_READ == 1 || ST_READ == 2) && (millis() - RF_Time) > 3000) { DUB ++; irsend.sendNEC(0x219EF807, 32); RF_Time = millis(); } if ((FF_F > 0 || R_FF_F > 0) && (DUB < 3) && (ST_READ == 1 || ST_READ == 2) && (millis() - RF_Time) > 3000) { DUB ++; irsend.sendNEC(0x219E7887, 32); RF_Time = millis(); } if (Serial.available() > 0) { IBUSbyte [0] = Serial.read(); delay (2); switch (IBUSbyte [0]) { case 0x68: IBUSbyte [1] = Serial.read(); delay (2); switch (IBUSbyte [1]) { case 0x12: IBUSbyte [0] = 0x68; IBUSbyte [1] = 0x12; for (int i=2; i<8; i++) { IBUSbyte [i] = Serial.read(); delay (2); } if (ST_READ < 3 && memcmp (IBUSbyte,AUX,8) == 0){ //если ловим команду AUX if (ST_READ == 0) { irsend.sendNEC(0x219E50AF, 32); } ST_DIS = 1; ST_READ = 2; break; } else { if (IBUSbyte [5] == 0x10 && (ST_READ == 1 || ST_READ == 2)) { ST_DIS = 0; irsend.sendNEC(0x219E50AF, 32); // жмем на паузу ST_READ = 0; } } break; case 0x04: IBUSbyte [0] = 0x00; IBUSbyte [1] = 0x00; IBUSbyte [2] = 0x68; IBUSbyte [3] = 0x04; for (int i=4; i<8; i++) { IBUSbyte [i] = Serial.read(); delay (2); } if (memcmp (IBUSbyte, AUX_DIS_OFF, 8) == 0) { if (ST_READ ==2) { ST_DIS = 0; ST_READ = 1; break; } if (ST_READ == 3) { ST_READ = 1; break; } } if (ST_READ == 3 && (memcmp (IBUSbyte, SMO_TMO,8) == 0 )) { ST_DIS = 1; ST_READ = 2; break; } if (ST_READ == 3 && memcmp (IBUSbyte,TMO,8) == 0) { ST_READ = 1; break; } if (TM_PWR != 1 && memcmp(IBUSbyte,ON,8) == 0) { TM_PWR = 1; PORTD&=~(1<<7); //digitalWrite (PIN_PWR, LOW); if (ST_READ > 0) { irsend.sendNEC(0x219E50AF, 32); } break; } if (TM_PWR != 2 && memcmp(IBUSbyte,OFF,8) == 0) { TM_PWR = 2; OFF_Time = millis(); if (ST_READ > 0) { irsend.sendNEC(0x219E50AF, 32); } break; } break; } break; case 0xF0: IBUSbyte [1] = Serial.read(); delay (2); switch (IBUSbyte [1]) { case 0x05: IBUSbyte [0] = 0x00; IBUSbyte [1] = 0xF0; IBUSbyte [2] = 0x05; for (int i=3; i<8; i++) { IBUSbyte [i] = Serial.read(); delay (2); } if (memcmp (IBUSbyte, INFO_P,8)==0){ if (ST_READ == 1) { ST_READ = 3; break; } if (ST_READ == 2) { ST_DIS = 0; ST_READ = 3; break; } } if (ST_READ == 1 || ST_READ == 2) { if (memcmp (IBUSbyte, SEL_L,8) == 0) { irsend.sendNEC(0x219E20DF, 32); // жмем на стоп SEL_F = 1; break; } if (memcmp (IBUSbyte,SEL_R,8) == 0) { if (SEL_F == 0) { irsend.sendNEC(0x219E50AF, 32); // жмем на паузу break; } else { SEL_F = 0; break; } } } break; case 0x04: IBUSbyte [0] = 0x00; IBUSbyte [1] = 0x00; IBUSbyte [2] = 0xF0; IBUSbyte [3] = 0x04; for (int i=4; i<8; i++) { IBUSbyte [i] = Serial.read(); delay (2); } if (memcmp (IBUSbyte,TONE_P,8) == 0) { if (ST_READ == 1) { ST_READ = 3; break; } if (ST_READ == 2) { ST_DIS = 0; ST_READ = 3; break; } } if (ST_READ == 1 || ST_READ == 2) { if (memcmp (IBUSbyte, REV_L,8) == 0) { RF_Time = millis(); irsend.sendNEC(0x219EF807, 32); // жмем на перемотку назад REV_F = 1; break; } if (memcmp (IBUSbyte,REV_R,8) == 0) { if (REV_F == 0) { irsend.sendNEC(0x219E40BF, 32); // жмем на PREV break; } else { irsend.sendNEC(0x219E50AF, 32); // жмем на PLAY REV_F = 0; DUB = 0; break; } } if (memcmp (IBUSbyte, FF_L,8) == 0) { RF_Time = millis(); irsend.sendNEC(0x219E7887, 32); // жмем на перемотку вперед FF_F = 1; break; } if (memcmp (IBUSbyte,FF_R,8) == 0) { if (FF_F == 0) { irsend.sendNEC(0x219E807F, 32); // жмем на NEXT break; } else { irsend.sendNEC(0x219E50AF, 32); // жмем на PLAY FF_F = 0; DUB = 0; break; } } } if (ST_READ == 2) { if (memcmp (IBUSbyte, OK_L,8) == 0) { irsend.sendNEC(0x219ED827, 32); // жмем на BACK OK_F = 1; break; } if (memcmp (IBUSbyte,OK_R,8) == 0) { if (OK_F == 0) { irsend.sendNEC(0x219E10EF, 32); // жмем на ENTER break; } else { OK_F = 0; break; } } if (IBUSbyte[4] ==0x3B && IBUSbyte[5] ==0x49){ if(IBUSbyte[6] > 0x80) { irsend.sendNEC(0x219EA05F, 32); //жмем UP break; } else { irsend.sendNEC(0x219E00FF, 32); //жмем DOWN break; } } if (memcmp (IBUSbyte, FR_L,8) == 0) { irsend.sendNEC(0x219E906F, 32); // жмем на RIGHT FR_F = 1; break; } if (memcmp (IBUSbyte,FR_R,8) == 0) { if (FR_F == 0) { irsend.sendNEC(0x219EE01F, 32); // жмем на LEFT break; } else { FR_F = 0; break; } } if (memcmp (IBUSbyte,MENU_P,8) == 0) { ST_DIS = 0; break; } if (memcmp (IBUSbyte, CLOCK_L,8) == 0) { irsend.sendNEC(0x219E08F7 , 32); // жмем на EJECT CLOCK_F = 1; break; } if (memcmp (IBUSbyte,CLOCK_R,8) == 0) { if (CLOCK_F == 0) { irsend.sendNEC(0x219E58A7, 32); // жмем на OPTION break; } else { CLOCK_F = 0; break; } } } break; } break; case 0x50: IBUSbyte [1] = Serial.read(); delay (2); switch (IBUSbyte [1]) { case 0x04: IBUSbyte [0] = 0x00; IBUSbyte [1] = 0x00; IBUSbyte [2] = 0x50; IBUSbyte [3] = 0x04; for (int i=4; i<8; i++) { IBUSbyte [i] = Serial.read(); delay (2); } if (memcmp (IBUSbyte, R_FF_L,8) == 0) { RF_Time = millis(); irsend.sendNEC(0x219E7887, 32); // жмем на перемотку вперед R_FF_F = 1; break; } if (memcmp (IBUSbyte,R_FF_R,8) == 0) { if (R_FF_F == 0) { irsend.sendNEC(0x219E807F, 32); // жмем на NEXT break; } else { irsend.sendNEC(0x219E50AF, 32); // жмем на PLAY R_FF_F = 0; DUB = 0; break; } } if (memcmp (IBUSbyte, R_REV_L,8) == 0) { RF_Time = millis(); irsend.sendNEC(0x219EF807, 32); // жмем на перемотку назад R_REV_F = 1; break; } if (memcmp (IBUSbyte,R_REV_R,8) == 0) { if (R_REV_F == 0) { irsend.sendNEC(0x219E40BF, 32); // жмем на PREV break; } else { irsend.sendNEC(0x219E50AF, 32); // жмем на PLAY R_REV_F = 0; DUB = 0; break; } } break; } break; case 0x80: IBUSbyte [1] = Serial.read(); delay (2); switch (IBUSbyte [1]) { case 0x0A: IBUSbyte [0] = 0x00; IBUSbyte [1] = 0x00; IBUSbyte [2] = 0x80; IBUSbyte [3] = 0x0A; for (int i=4; i<8; i++) { IBUSbyte [i] = Serial.read(); delay (2); } if (ST_CAM == 0 && memcmp (IBUSbyte,GEAR_R,8) == 0) { ST_CAM = 1; PORTD|=(1<<2); PORTD&=~(1<<4); PORTD|=(1<<5); //digitalWrite (PIN_A0, HIGH); //digitalWrite (PIN_A1, LOW); //digitalWrite (PIN_AV, HIGH); break; } if (ST_CAM == 1 && memcmp (IBUSbyte,GEAR_U,8) == 0) { ST_CAM = 0; if (ST_DIS == 0) { PORTD&=~(1<<5); //digitalWrite (PIN_AV, LOW); } else { PORTD&=~(1<<2); PORTD&=~(1<<4); PORTD|=(1<<5); //digitalWrite (PIN_A0, LOW); //digitalWrite (PIN_A1, LOW); //digitalWrite (PIN_AV, HIGH); } break; } break; } break; } } } |
№94
08 01 2014, 12:35
выше код полностью
|
№95
05 03 2014, 16:03
...
E53 M54B30 катаюсь E46 M54B22 продал E30 M20B27 продал |
№96
05 03 2014, 16:21
MadToha : ::pom:: Ты чего это? Fuck the fuel economy Hochu KIA |
№97
05 03 2014, 17:04
nicklogist
я поставил смайлик с большим пальцем вверх, который cool форум рандомно меняет смайлики.. уже не раз это замечали.. или просто мы все косые))) E53 M54B30 катаюсь E46 M54B22 продал E30 M20B27 продал |
|
Рекомендуем почитать на тему Бюджетное внедрение плеера WD TV live в штатную голову 16:9
|
№98
08 03 2014, 12:26
Тож замечал)))
|
№99
10 03 2014, 23:47
avaal : выше код полностью Большое спасибо |
№100
18 03 2014, 21:48
avaal
По ходу пока в шине не будет aux-а она не пашет ( все подключил она не работает |
№101
19 03 2014, 03:47
zalik m5
Радиоблок бм54? Поставь резюк 300ком между каналами аукса E53 M54B30 катаюсь E46 M54B22 продал E30 M20B27 продал |
№102
19 03 2014, 16:43
zalik m5 : avaal По ходу пока в шине не будет aux-а она не пашет ( все подключил она не работает если аукса нет, то работать не будет. начинает работать как только выводиться на монитор надпись AUX. если у тебя аукс не предусмотрен, тогда надо менять код и переделывать на другую команду, при этом звук выводить в соответствующий канал |
№103
19 03 2014, 17:18
avaal : zalik m5 : avaal По ходу пока в шине не будет aux-а она не пашет ( все подключил она не работает если аукса нет, то работать не будет. начинает работать как только выводиться на монитор надпись AUX. если у тебя аукс не предусмотрен, тогда надо менять код и переделывать на другую команду, при этом звук выводить в соответствующий канал вместо ченджера даже проще) у него есть четкие команды на включение и выключение E53 M54B30 катаюсь E46 M54B22 продал E30 M20B27 продал |
№104
22 03 2014, 11:13
я хотел сохранить чейнджер, так как иногда использую диски.
|
№105
22 03 2014, 12:21
avaal
Я тоже к монику через аукс подрубился - хотел чтобы устройство было в салоне, а не в багажнике, но провода лишние тянуть не хотел E53 M54B30 катаюсь E46 M54B22 продал E30 M20B27 продал |
№106
29 03 2014, 02:13
может кто за $ под правит мне этот код?
|
№107
30 03 2014, 14:30
zalik m5
А что тебе нужно? E53 M54B30 катаюсь E46 M54B22 продал E30 M20B27 продал |
|
Рекомендуем почитать на тему Бюджетное внедрение плеера WD TV live в штатную голову 16:9
|
№108
31 03 2014, 01:39
MadToha
да что бы она работала всегда,а не какие то там аух сигналы радио модуль древний стоит 24й |
№109
31 03 2014, 13:06
zalik m5
Бери мой девайс, не забивай голову E53 M54B30 катаюсь E46 M54B22 продал E30 M20B27 продал |
№110
31 03 2014, 22:08
zalik m5 : MadToha да что бы она работала всегда,а не какие то там аух сигналы радио модуль древний стоит 24й Всегда работала? Даже когда ты, например, радио слушаешь? Опиши создаваемую систему, а то ничего не понятно, что тебе надо и чего ты хочешь добиться. |
№111
31 03 2014, 22:33
avaal
Интересный проектец замутил, но на мой взгляд, нужно было брать за основу apple TV! Тогда бы можно было с телефона выодить по wi-fi: кино, музыку, радио, ну и само-собой яндекс навигатор с пробками на моник. |
№112
01 04 2014, 09:12
ну он подороже будет, да и выходы у него только HDMI и оптика. пришлось бы их еще конвертировать. сам wd tv тоже не ограничен функционально. ципляешь к нему wi-fi модуль и управляешь с телефона, играет музыка из интернета. правда не знаю, есть ли для него приложение с пробками
|
№113
01 04 2014, 22:00
avaal
К тебе уже записались в очередь на установку? Если что я в первых рядах! Bruno Cerber : Скорей бы продать бмв и уйти с этого форума Продаю 325xi дёшего ))))) viewtopic.php?f=3&t=135806&p=4159596#p4159596 |
№114
01 04 2014, 22:09
Flagman88 : avaal К тебе уже записались в очередь на установку? Если что я в первых рядах! Боюсь что я не буду заниматься данным проектом в коммерческих целях, слишком много "ручной" работы он предполагает. Сейчас в голове созрел другой проект, более интересный. Возможно всерьез займусь им, но пока под сомнением. |
№115
02 04 2014, 09:05
avaal : Flagman88 : avaal К тебе уже записались в очередь на установку? Если что я в первых рядах! Боюсь что я не буду заниматься данным проектом в коммерческих целях, слишком много "ручной" работы он предполагает. Сейчас в голове созрел другой проект, более интересный. Возможно всерьез займусь им, но пока под сомнением. Ну не хочешь в коммерческих, сделай бесплатно! Bruno Cerber : Скорей бы продать бмв и уйти с этого форума Продаю 325xi дёшего ))))) viewtopic.php?f=3&t=135806&p=4159596#p4159596 |
Рекомендуем почитать на тему Бюджетное внедрение плеера WD TV live в штатную голову 16:9
|
Кто сейчас на форуме |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19 |
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения