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

De Garoa Hacker Clube
Ir para navegação Ir para pesquisar
Linha 145: Linha 145:
 
* RVM/JUMP
 
* RVM/JUMP
 
* ALL STOP
 
* ALL STOP
  +
  +
  +
====linha 0====
  +
  +
* P1
  +
* P2
  +
* FROM TO
  +
* A/B
  +
* TRANS
  +
  +
====linha 1====
  +
  +
* ASMBLY
  +
* V
  +
* A1
  +
* A2
  +
* AUDIO SPLIT
  +
* LAST EDIT
  +
* ALL STOP
  +
  +
====linha 2====
  +
  +
* REC
  +
* EDIT
  +
* PLAY_DIREITA
  +
* STILL_DIREITA
  +
* REW_DIREITA
  +
* FF_DIREITA
  +
  +
====linha 3====
  +
  +
* MENOS
  +
* MAIS
  +
* IN_esquerda
  +
* OUT_esquerda
  +
* GOTO
  +
* IN_direita
  +
* OUT_direita
  +
  +
====linha 4====
  +
  +
* ENTRY
  +
  +
====linha 5====
  +
  +
* PLAY_ESQUERDA
  +
* STILL_ESQUERDA
  +
* REW_ESQUERDA
  +
* FF_ESQUERDA
  +
* PREVIEW
  +
* AUTO EDIT
  +
* RVM/JUMP

Edição das 21h42min de 23 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


TECLADO

layout

  • P1
  • P2
  • FROM TO
  • A/B
  • TRANS
  • ASMBLY
  • V
  • A1
  • A2
  • REC
  • EDIT
  • PLAY_ESQUERDA
  • STILL_ESQUERDA
  • REW_ESQUERDA
  • FF_ESQUERDA
  • AUDIO SPLIT
  • MENOS
  • MAIS
  • LAST EDIT
  • PLAY_DIREITA
  • STILL_DIREITA
  • REW_DIREITA
  • FF_DIREITA
  • IN_esquerda
  • OUT_esquerda
  • GOTO
  • IN_direita
  • OUT_direita
  • ENTRY
  • PREVIEW
  • AUTO EDIT
  • RVM/JUMP
  • ALL STOP


linha 0

  • P1
  • P2
  • FROM TO
  • A/B
  • TRANS

linha 1

  • ASMBLY
  • V
  • A1
  • A2
  • AUDIO SPLIT
  • LAST EDIT
  • ALL STOP

linha 2

  • REC
  • EDIT
  • PLAY_DIREITA
  • STILL_DIREITA
  • REW_DIREITA
  • FF_DIREITA

linha 3

  • MENOS
  • MAIS
  • IN_esquerda
  • OUT_esquerda
  • GOTO
  • IN_direita
  • OUT_direita

linha 4

  • ENTRY

linha 5

  • PLAY_ESQUERDA
  • STILL_ESQUERDA
  • REW_ESQUERDA
  • FF_ESQUERDA
  • PREVIEW
  • AUTO EDIT
  • RVM/JUMP