Mudanças entre as edições de "PVE-500"

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
Linha 1: Linha 1:
 
O Garoa recebeu um Sony PVE-500 de doação. Trata-se de um painel de controle remoto para edição de video.
 
O Garoa recebeu um Sony PVE-500 de doação. Trata-se de um painel de controle remoto para edição de video.
  +
  +
Veja uma foto aqui: http://cfs7.tistory.com/image/33/tistory/2008/07/05/08/20/486eb038c97da
   
 
Eu (Juca) e o Leandro Pereira abrimos pra ver o que tem dentro. Descobrimos que o bicho tem 2 processadores Z80 e duas EPROMS de 32kb cada. O controle remoto dos video cassetes é feito via conexões RS422. A EDL (edit decision list) gerada em uma sessão de edição de vídeo pode ser salva em um arquivo de computador por meio de uma interface RS232.
 
Eu (Juca) e o Leandro Pereira abrimos pra ver o que tem dentro. Descobrimos que o bicho tem 2 processadores Z80 e duas EPROMS de 32kb cada. O controle remoto dos video cassetes é feito via conexões RS422. A EDL (edit decision list) gerada em uma sessão de edição de vídeo pode ser salva em um arquivo de computador por meio de uma interface RS232.

Edição das 01h19min de 14 de março de 2012

O Garoa recebeu um Sony PVE-500 de doação. Trata-se de um painel de controle remoto para edição de video.

Veja uma foto aqui: http://cfs7.tistory.com/image/33/tistory/2008/07/05/08/20/486eb038c97da

Eu (Juca) e o Leandro Pereira abrimos pra ver o que tem dentro. Descobrimos que o bicho tem 2 processadores Z80 e duas EPROMS de 32kb cada. O controle remoto dos video cassetes é feito via conexões RS422. A EDL (edit decision list) gerada em uma sessão de edição de vídeo pode ser salva em um arquivo de computador por meio de uma interface RS232.

O painel tem botoes redondos para edição de timestamp, que são bem bacanas. Ficamos com a idéia fixa de hackear esse aparelho pra virar um jogo de PONG :-D

Mapeei a pinagem do conector que liga a placa-mãe ao painel de leds de 7 segmentos (temos 3 grupos de 8 digitos cada e um pequeno de 3 digitos). Segue abaixo as minhas anotações, uma foto, e um código de arduino pra controlar esse painel.

controle do painel de 7 segmentos pelo arduino

const int num_dig=5;
int seg[7] = {2,3,4,5,6,7,8};
int comum[num_dig] = {9,10,11,12,13};

void setup(){
  int i;
  for (i=0; i<num_dig; i++){
    pinMode(comum[i], OUTPUT);
  }
  for (i=0; i<7; i++){
    pinMode(seg[i], OUTPUT);
  }
}

int digito=0;
int count=0;
int _A=0b1111011;
int _a=0b1000011;
int _b=0b1010111;
int _C=0b0110110;
int _c=0b1000110;
int _d=0b1001111;
int _e=0b1110110;
int _f=0b1110010;
int _G=0b1110111;
int _g=0b1111101;
int _H=0b1011011;
int _h=0b1010011;
int _i=0b0000001;
int _j=0b0001111;
int _k=0b1010010;
int _L=0b0010110;
int _l=0b0010010;
int _r=0b1000010;
int _o=0b1000111;
int _U=0b0011111;
int _u=0b0000111;
int _=0;

const int txtlen = 22;
int texto[txtlen] = {_G, _a, _r, _o, _a, _, _H, _a, _c, _k, _e, _r, _, _C, _l, _u, _b, _e, _, _, _, _};

void loop(){
  int i;

  for (digito=0; digito<num_dig; digito++){
    for (i=0; i<num_dig; i++){
      digitalWrite(comum[i], i==digito ? HIGH : LOW);
    }
  
    for (i=0; i<7; i++){
      digitalWrite(seg[i], (texto[digito]>>i)%2==1 ? LOW : HIGH);
    }
    delay(2);
  }
  
  count++;
  if (count>30){
    count=0;
    int tmp = texto[0];
    for (i=0;i<txtlen-1;i++){
      texto[i]=texto[i+1];
    }
    texto[txtlen-1]=tmp;
  }
}

foto

TODO

anotações - pinagem dos displays de 7seg

8seg latch-out  latch-in flat
1    16 O6      17 D6    30     
2    15 O5      14 D5    32
3     6 O2       7 D2    31
4    xx xx       
13    5 O1       4 D1    29
14    9 O3       8 D3    33
15   19 O7      18 D7    28
16   12 O4      13 D4    34
LE   ------------------- 38
GND -------------------- 49 e 50
VCC -------------------- 1, 2 e 3

ano/cat
comum   flat
0       11
1       10
2       09
3       08
4       07
5       06
6       05
7       04