domingo, 7 de agosto de 2022

JVC Compulink, COMPU LINK, JVC, Tape Deck, Arduino, DCS Codes

                                Protocolo JVC COMPU LINK e Arduino


 Quem tem um Tape Deck antigo com entrada COMPU LINK - 3, e não tem o amplificador com controle remoto, o mesmo pode ser controlado por outros equipamentos via cabo. Muitas vezes, obrigando à quem não tem os módulos restantes, pouco utilizarem o Tape Deck.

Exemplo de conexões


Ao procurar no GOOGLE, descobri, que existe um protocolo para envio de comandos via cabo, neste Site  https://github.com/jcj83429/jvc_compulink .

Detalhe do protocolo, com 9 bits 

Conforme o manual de serviço disponibilizado no Site, existem alguns comandos em Hexadecimal, que o usuário atestou na porta COMPU LINK.

DCS Codes(RM-S20) Remote Control

Agora, sei que dá para enviar códigos de controle neste terminal. Irei testar com um Arduino Mega.

Arduino Mega controlando Deck B


Conectando um Osciloscópio no terminal COMPU LINK e na terra do equipamento, ao pressionar play, observei parte do código que o equipamento enviou, provavelmente para ligar o resto do conjunto e pedir prioridade de execução.




                                                         Trecho do código enviado pelo Tape Deck




Agora, capturando o mesmo sinal na porta microfone do PC, rodando o programa Audacity.


                       Análise do sinal compulink com Audacity, sinal abaixo, reduzindo ganho do MIC



Agora como testar os Códigos DCS do manual:

- Realizar a conversão de Hex para Bin na calculadora do Windows.

Conversão do comando Play Hex/Bin

- Realizar alguns comandos (digitalWrite) no pino 13 do Arduino.


//Comandos em teste do Deck JVC W218, inicia pelo deck b

//Josicáudio J. Lima

//Base do protocolo https://github.com/jcj83429/jvc_compulink


#define saida 13

void setup() {pinMode(saida, OUTPUT);}

//códigos sem sucesso 26, 28, 30, 2B, 44, C0, C1, C2 

//códigos utilizados hex funcionais 20, 22, 23, 24, 25, 27, 29

void loop() {

  rec();delay(5000);

  pauses();delay(5000);

  ff();delay(5000);

  stope();delay(5000);

  play();delay(5000);

  pauses();delay(5000);

  rew();delay(5000);

  stope();delay(5000);

  tlado();delay(5000);


/*  

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0 

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

*/

}

void pauses(){//00100101 = 0x25

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

 }

void play() {//00100000 = 0x20

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

}

void rec(){//00101001 0x29

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

}

void tlado(){// 00100111 0x27

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

}

void ff(){//00100011 = 0x23

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

}

void stope(){//00100010 = 0x22

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

}

void rew(){//00100100 0x24

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); //BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  //BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

}

Pronto, o Tape Deck, respondeu perfeitamente!!!

No caso do programa acima:

- Inicia gravação no Deck b;

- Após 5S, realiza a pausa;

- Após 5S, Avança a fita;

- Após 5S, para;

- Após 5S, play;

- Após 5S, pausa;

- Após 5S, volta;

- Após 5S, para;

- Após 5S, troca o lado da fita;



Segue aplicação utilizada no Arduino Mega, para conversão e controle do Tape Deck JVC W218.

Pode ser modificado para várias aplicações, decodificações...



// Comandos play, avançar, retroceder, gravar, pausar, parar, trocar lado Deck B JVC W218

// Comandos play, avançar, retroceder, parar, trocar lado Deck A JVC W218

// Controle remoto Samsung

// Josicláudio J. Lima

// Podem ser realizados mapeamentos de vários controles, só abrir o Monitor serial do Arduino

#include <IRremote.h>

int RECV_PIN = 8; //Recebe na porta digital 8 receptor IR TSOP38238

IRrecv irrecv(RECV_PIN);

decode_results results;

#define saida 13

void setup() {

Serial.begin(9600);

irrecv.enableIRIn();

pinMode(saida, OUTPUT);

//códigos utilizados hex funcionais 20, 22, 23, 24, 25, 27, 29, 60, 62, 63, 64, 67

}

void loop() {

if (irrecv.decode(&results)) {     

Serial.println(results.value, DEC);//Decodifica os dados recebidos para decimal e envia para pc

irrecv.resume();//pega próximo valor

if(results.value == 1784778242){ //comando play 00100000 = 0x20

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

if(results.value == 3774104872){ //comando pausa 00100101 = 0x25

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

if(results.value == 3843765582){ //comando gravar 00101001 0x29

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

if(results.value == 2770332734){ //comando trocar de lado 00100111 0x27

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

if(results.value == 3980777284){ //comando avançar 00100011 = 0x23

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

if(results.value == 3361986248){ //comando parar 00100010 = 0x22

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

if(results.value == 1976685926){ //comando retroceder 0x24

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

if(results.value == 2331063592){ //comando enter Play Deck A 0x60

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

if(results.value == 3261853764){ //comando Seta Acima Tlado  0x67

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

    if(results.value == 1400905448){ //comando Seta dir FF 0x63

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);  // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15); // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

    if(results.value == 1972149634){ //comando Seta Esq REW 0x64

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15);  // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15);  // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15);  // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

    if(results.value == 3305092678){ //comando Seta baixo Stop 0x62

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15);  // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15);  // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(15);  // BIT 1

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW);delay(5);   // BIT 0

digitalWrite(saida, HIGH);delay(5);digitalWrite(saida, LOW); //END

    }

  }

}

/*

Mapeamento controle samsung tv AA59-00469A


play         1784778242

rec          3843765582

stop         3361986248

ff           3980777284

pause        3774104872

rew          1976685926

psize        2308325960

cc           2770332734

mts          1150532780

pmode        3135877228

srs          551334792

emanual      1268204482

a            3672802284

b            732942060

c            3038842278

d            1906441864

exit         158659426

return       1003313352

seta baixo   3305092678

seta direita 1400905448

seta esquerda 1972149634

seta superior 3261853764

ok setas      2331063592

info          1908947622

tools         1825097194

menu          1723810024

vol menos     2209452902

vol mais      1752382022

mudo          591444258

canal mais    1595074756

canal menos   412973352

0             3119867746

1             3778927144

2             2908251746

3             657459652

4             4120482440

5             1931099650

6             742730860

7             1167253836

8             1747313982

9             2340753640

hdmi          3241158247

source        3459683302

power         4105841032

ch list       1820560902

content       1809676774

guide         3468072230 

 */


Segue o mesmo código mais enxuto, sem escrita no monitor serial



// Comandos play, avançar, retroceder, gravar, pausar, parar, Reversao Deck B JVC W218

// Comandos play, avançar, retroceder, parar, Reversao Deck A JVC W218

// Controle remoto Samsung// Josicláudio J. Lima

#include <IRremote.h>

int RECV_PIN = 8;IRrecv irrecv(RECV_PIN);decode_results results;

#define A digitalWrite(13, HIGH);

#define B digitalWrite(13, LOW);

#define a delay(5);

#define b delay(15);

void setup() {irrecv.enableIRIn();pinMode(13, OUTPUT);}

void loop() {if (irrecv.decode(&results)) {irrecv.resume();

if(results.value == 1784778242){A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;}//comando play 0x20

if(results.value == 3774104872){A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;b;A;a;B;}//comando pausa 0x25

if(results.value == 3843765582){A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;}//comando gravar 0x29

if(results.value == 2770332734){A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;b;A;a;B;b;A;a;B;}//comando Reversao  0x27

if(results.value == 3980777284){A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;b;A;a;B;}//comando avançar 0x23

if(results.value == 3361986248){A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;}//comando parar 0x22

if(results.value == 1976685926){A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;}//comando retroceder 0x24

if(results.value == 2331063592){A;a;B;a;A;a;B;b;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;}//comando enter Play Deck A 0x60

if(results.value == 3261853764){A;a;B;a;A;a;B;b;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;b;A;a;B;b;A;a;B;}//comando Seta Acima reversao  0x67

if(results.value == 1400905448){A;a;B;a;A;a;B;b;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;b;A;a;B;}//comando Seta dir FF 0x63

if(results.value == 1972149634){A;a;B;a;A;a;B;b;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;}//comando Seta Esq REW 0x64

if(results.value == 3305092678){A;a;B;a;A;a;B;b;A;a;B;b;A;a;B;a;A;a;B;a;A;a;B;a;A;a;B;b;A;a;B;a;A;a;B;}//comando Seta baixo Stop 0x62

}

}

            


                               Controle do Tape Deck pela internet com ESP32 Wroom





 #include <WiFi.h>

unsigned long previousMillis = 0; 

unsigned long interval = 30000;

#define D1 26

#define CONNECT_TIME 10000

#define TIMEOUTTIME 5000


const char* ssid = "your_ssid";

const char* password = "your_password";

WiFiServer server(80);


size_t currentTime = millis();

size_t previousTime = 0;

String header;


void setup() {  

pinMode(D1, OUTPUT);

WiFi.begin(ssid, password);

server.begin();}


void loop() {

WiFiClient client = server.available();

if (client) {

currentTime = millis();

previousTime = currentTime;

String currentLine = "";

unsigned long currentMillis = millis(); 

if ((WiFi.status() != WL_CONNECTED) && (currentMillis - previousMillis >=interval)) {

WiFi.disconnect();

WiFi.reconnect();

previousMillis = currentMillis;}

while (client.connected() && currentTime - previousTime <= TIMEOUTTIME) {currentTime = millis();

if (client.available()) {char c = client.read();header += c;

if (c == '\n') {if (currentLine.length() == 0) {

client.println("<br />");

client.println("<h1 style=\"text-align:center; \" class=\"display-4\"><font color='Gold'><i><u>JVC TAPE DECK Control</u></i></h1> "); 

if (header.indexOf("GET /D1/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: PLAY B</MARQUEE></2></i>");

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END code 0x20

else if (header.indexOf("GET /D2/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: PAUSE B</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END code 0x25

else if (header.indexOf("GET /D3/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Crimson'>State: REC B</MARQUEE></2></i>");

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END code 0x29

else if (header.indexOf("GET /D4/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: SIDE B</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END code 0x27

else if (header.indexOf("GET /D5/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: FF B</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END  code 0x23

else if (header.indexOf("GET /D6/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: STOP B</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END  code 0x22     

else if (header.indexOf("GET /D7/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: REW B</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END code 0x24

else if (header.indexOf("GET /D8/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: PLAY A</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END  code 0x60

else if (header.indexOf("GET /D9/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: SIDE A</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END code 0x67

else if (header.indexOf("GET /D10/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: FF A</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);  // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15); // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END   code 0x63         

else if (header.indexOf("GET /D11/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: REW A</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END code 0x64

else if (header.indexOf("GET /D12/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Cyan'>State: STOP A</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END  code 0x62

else if (header.indexOf("GET /D13/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='RED'>State: POWER OFF</MARQUEE></2></i>"); 

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END code 0xBF

else if (header.indexOf("GET /D14/on") >= 0) {

client.println("<h2 style=\"text-align:center; \" class=\"display-4\"><i><MARQUEE BEHAVIOR=SCROLL WIDTH=30%><font color='Gold'>State: POWER ON</MARQUEE></2></i>");

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(15);  // BIT 1

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);delay(5);   // BIT 0

digitalWrite(D1, HIGH);delay(5);digitalWrite(D1, LOW);} //END   code 0xBE                                                                             

client.println("<!DOCTYPE html><html>");

client.println("<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">");

client.println("<meta charset=\"UTF-8\">");

client.println("<title>JVC TAPE DECK Control</title>");

client.println("<link rel=\"icon\" href=\"data:,\">");

client.println("<style> { font-family: Helvetica; display: inline-block; margin: 3px auto; text-align: center;}");

client.println(".mybtn { background-color: #4CAF50; border: 3px solid #4CAF50;border-radius:50px;; color: white; padding: 10px 15px; text-align: center; text-decoration: none; display: inline-block; font-size: 16px; margin: 4px 2px; cursor: pointer; }");

client.println(".par { font-size: 16px;}"); 

client.println("p {text-align: center;}");

client.println("</style></head>"); 

client.println("<body style=background-color:#000000>"); 

client.println("<body class=\"bg-light\">");

client.println("<center><table>");

client.println("<td><p><a href=\"/D13/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #B22222!important; color:#f8f9fa!important;\">Pwr OFF</a></p></td>");

client.println("<td><p><a href=\"/D14/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">Pwr ON</a></p></td>");

client.println("<tr>");

client.println("<td><p><a href=\"/D1/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\" >PLAY B</a></p></td>");

client.println("<td><p><a href=\"/D2/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">PAUSE B</a></p></td>");         

client.println("<td><p><a href=\"/D3/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #DC143C!important; color:##DC143C!important;\">REC B</a></p></td>");        

client.println("<td><p><a href=\"/D4/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">SIDE B</a></p></td>");

client.println("<tr>");      

client.println("<td><p><a href=\"/D5/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">FF --- B</a></p></td>");      

client.println("<td><p><a href=\"/D6/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">STOP B</a></p></td>"); 

client.println("<td><p><a href=\"/D7/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">REW B</a></p></td>");         

client.println("<td><p><a href=\"/D8/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">PLAY A</a></p></td>");          

client.println("</tr>");

client.println("<tr>");     

client.println("<td><p><a href=\"/D9/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">SIDE A</a></p></td>");

client.println("<td><p><a href=\"/D10/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">FF --- A</a></p></td>");

client.println("<td><p><a href=\"/D11/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">REW A</a></p></td>");  

client.println("<td><p><a href=\"/D12/on\" role=\"button\" class=\" mybtn btn btn-success mybtn\"style=\"background-color: #198754!important; color:#f8f9fa!important;\">STOP A</a></p></td>");

client.println("</tr>");                                                                 

client.println("</div>");

client.println("</body></html></div></form></table></center>");

client.println();

break;} else {

currentLine = "";}} 

else if (c != '\r') {

currentLine += c;}}}

header = ""; 

client.stop();}

delay(1);}




Um comentário:

  1. cara,pelo visto vou ter que tentar descobrir o comando do REC no deck A do W718 porque no seu não tem ne ? porque o W218 não grava no deck A e ai não tem como você pegar o codigo e publicar aqui.

    ResponderExcluir