Desmontando um Pense Bem da Tec Toy

E saiu mais um Video Log. Desta vez desmontei o meu Pense Bem (de novo). Pra quem não sabe, a primeira foi em 2010 e postei aqui no blog com relativo sucesso.

 

Multi Sequencial de LEDs com Arduino

Então eu resolvi brincar com Arduino (versão Uno R3) de novo. A outra vez foi só pra conhecer o ambiente. Desta vez queria descobrir um pouco mais sobre a plataforma e ver uns recursos mais avançados. A ideia aqui foi fazer o manjado circuito de sequencial de 10 LEDs que antigamente a gente montava com os CIs 4017 e 555.

Pulando já para o final, vejam como ficou o circuito funcionando:


Os 10 LEDs foram ligados nas saídas digitais do Arduino, com uma chave dip switch de três posições em 3 entradas digitais para selecionar entre 8 efeitos possíveis de sequencias. Um potenciômetro na entrada analógica A0 completa o circuito, funcionando como controle de velocidade.

Aproveitando que estava fuçando com esta plataforma, fui em busca de um programa próprio para desenhar esquemas com o Arduino. Acabei usando o Fritzing, onde dá pra desenhar não só o esquema, mas também "montar" no protoboard ou mesmo gerar a placa de circuito impresso (PCB). Olha a montagem aí (clica que aumenta):

Montagem sequencial de 10 LEDs com Arduino
O software foi feito na IDE do Arduino mesmo. Mais pra frente vou pesquisar outras para testar. E desta vez usei o acesso direto aos pinos do microcontrolador para descomplicar o acendimento dos LEDs. Como o microcontrolador tem memória sobrando, achei melhor tabelar as sequências (adoro tabelas em software). Pra quem quiser montar e testar, segue o código (que também está no GitHub com o arquivos .ino e o .fzz):

/********************************
    Multi sequencial de LEDs 
      com Arduino
http://www.pakequis.com.br
**********************************/

//Sequencias dos LEDs
const int seq1[] = {1,2,4,8,16,32,64,128,256,512,256,128,64,32,16,8,4,2};
const int seq2[] = {3,6,12,24,48,96,192,384,768,384,192,96,48,24,12,6};
const int seq3[] = {1,3,7,15,31,63,127,255,511,1023,1022,1020,1016,1008,992,960,896,768,512,0};
const int seq4[] = {7,14,28,56,112,224,448,896,448,224,112,56,28,14};
const int seq5[] = {1022,1021,1019,1015,1007,991,959,895,767,511,767,895,959,991,1007,1015,1019,1021};
const int seq6[] = {513,771,903,975,1023,510,252,120,48,0,48,120,252,510,1023,975,903,771,513,0};
const int seq7[] = {1016,1009,995,967,911,799,575,127,575,799,911,967,995,1009};
const int seq8[] = {48,120,252,510,1023,975,903,771,513,0};
const int seq9[] = {80,65,81,85,69,75,73,83,46,67,79,77,46,66,82};

//Quantidade de passos em cada sequencia
const int tamanho_seq[9] = {18,16,20,14,18,20,14,10,15};

int chave1 = 10;  //Entradas para
int chave2 = 11;  //as chaves de 
int chave3 = 12;  //selecao

int entrada_ad = 0;  //Potenciometro na entrada 0
int contador = 0;  //Contador
int valor_pot = 0;       //Valor da tensao no potenciometro
int valor_chave = 0;     //Valor lido das chaves
unsigned long tempo = 0; //Tempo entre as transicoes

void setup()
{
  DDRD = B11111111; //Todos os pinos do portal D como saida
  DDRB = B00000011; //Bits 0 e 1 do portal B como saida
 
  PORTD = 0;  //Zera saidas
  PORTB = 0;  //Zera saidas
}

void loop()
{
  //Le as tres chaves ao mesmo tempo e guarda o valor
  valor_chave = (PINB >> 2) & 7;
 
  //Le o valor do potenciometro
  valor_pot = analogRead(entrada_ad);
 
  //converte o valor da tensao para o tempo de transicao (40ms a 250s)
  tempo = map(valor_pot,0,1023,40,250);
 
  //tempo entre as transicoes
  delay(tempo); 
 
  //Executa um passo da sequencia
  sequencia();
}

//Atualiza os portais
void controla_saidas(int valor_saidas)
{
  PORTD = (valor_saidas & 255);  //LSB para o Portal D
  PORTB = (valor_saidas >> 8) & 3;      //MSB para o Portal B
}

//Executa um passo da sequencia
void sequencia()
{
  int valor = 0;
  switch (valor_chave) //Verifica a posicao das chaves
  {
    case 0:  
      valor = seq1[contador];
      contador++;
      if (contador > (tamanho_seq[valor_chave] - 1))
      {
        contador = 0;
      }
      break;
 
    case 1:
      valor = seq2[contador];
      contador++;
      if (contador > (tamanho_seq[valor_chave] - 1))
      {
        contador = 0; 
      }
      break;
  
    case 2:
      valor = seq3[contador];
      contador++;
      if (contador > (tamanho_seq[valor_chave] - 1))
      {
        contador = 0; 
      }
      break;
  
    case 3:
      valor = seq4[contador];
      contador++;
      if (contador > (tamanho_seq[valor_chave] - 1))
      {
        contador = 0; 
      }  
      break;
  
    case 4:
      valor = seq5[contador];
      contador++;
      if (contador > (tamanho_seq[valor_chave] - 1))
      {
        contador = 0; 
      }  
      break;
  
    case 5:
      valor = seq6[contador];
      contador++;
      if (contador > (tamanho_seq[valor_chave] - 1))
      {
        contador = 0; 
      }  
      break;
  
    case 6:
      valor = seq7[contador];
      contador++;
      if (contador > (tamanho_seq[valor_chave] - 1))
      {
        contador = 0; 
      }  
      break;
  
    case 7:
      valor = seq8[contador];
      contador++;
      if (contador > tamanho_seq[valor_chave])
      {
        contador = 0; 
      }  
      break;

    default:
      valor = 1365; //Para indicar uma sequencia invalida
      contador = 0;
      break;
    }
    controla_saidas(valor);
}


Por dentro do gravador Sony ICD PX312

E eu fiz mais um vídeo. Desta vez desmontei o gravador que uso em meus vídeos, um Sony ICD PX312. Este modelo parece estar fazendo um grande sucesso no Brasil. Tá aparecendo toda hora na TV, só prestar atenção nas mãos de alguns repórteres.


Não se fazem mais eletrônicos como antigamente. O nível de integração deste aparelho é muito grande, manutenção nisso aí fica complicado. Dependendo do defeito sai mais barato comprar um novo do que mandar consertar (caso algum técnico aceite o desafio). Esperava encontrar um pré-amplificador com amp-op para o microfone, mas só tem um CI cuidando da entrada e saída. Uma pena, queria ver se dava pra ligar uma entrada de linha...

Por dentro do sintonizador LG TN300

Naquele post em que desmontei meu monitor LG M237WA faltou mostrar o sintonizador TN300, que "transforma" o monitor em uma TV. Este sintonizador não vinha com o monitor e tinha que ser comprado separadamente (decisão estranha da LG). Por fora ele é assim:

Sintonizador LG TN300
O cabo com o conector DB9 vai ligado no monitor (outra decisão estranha). Não tem parafusos fechando a caixa, só travas no plástico. Como sempre ocorre nestes casos é quase impossível abrir sem quebrar uma delas. E por dentro não tem nada demais, só um sintonizador de canais (Varicap) montado numa placa:
Sintonizador LG TN300

Busquei pelo código do sintonizador, mas não encontrei o manual. Por baixo tem um circuito com três transistores e só. A legenda dos conectores tem o nome dos sinais. Pelas legendas dá pra ver que o sintonizador é controlado por uma I2C e já sai Áudio e vídeo direto. 

Placa do sintonizador LG TN300

Tirei a blindagem do sintonizador, mas não dá pra ver o(s) CI(s) usado(s) no circuito, que deve(m) estar na parte de baixo;

Sintonizador LG TN300

Som do PC: Finalmente encontrei uma caixa pra ele...

Pois é, procurei muito uma caixa para montar o amplificador e finalmente encontrei uma lá no Solda Fria (de ferro, modelo CFP-83018) Quem brinca com eletrônica no Brasil sabe como é difícil encontrar uma boa caixa metálica para seus projetos. Estava esperando encontrar alguma no ferro-velho desde que comecei o amplificador, sem muito sucesso. Achei alguns receptores de satélite que até tinham uma boa caixa, mas precisariam de muitas modificações no painel. Uma das opções era um velho gabinete de um Transglobe (o PC, não o rádio) da Itautec, com o mesmo problema de ter que mexer no painel.

A caixa do Solda Fria estava em minha lista faz tempo, mas o preço assustava. Algumas semanas atrás acabei decidindo por usar essa mesmo e, depois, fechar a mão e não comprar mais nada para o amplificador. Agora tenho que concluir o projeto com o que tenho aqui.

A caixa já chegou e mede 30cm x 18cm x 8 cm. Como a foto lá da loja não ajuda muito tirei algumas para mostrar aqui:

Caixa de Ferro CFP-83018
Caixa de ferro CFP-83018 por fora
Internamente ela é bem espaçosa, o transformador mostrado é aquele que tirei da "Fonte Argentina", que estou pensando em usar no amplificador.
Caixa de ferro CFP-83018
Caixa de ferro CFP-83018 por dentro
Ela tem uma espécie de chassis interno, que serve para fixar as tampas e os painéis frontal e traseiro. Os painéis são de alumínio e vieram com um plástico protetor, para não riscar. A fixação é assim:

Caixa de ferro CFP-83018

Som do PC: Pré amplificador e simulações do controle de tom

Vamos lá...
Depois de testar a etapa de potência e ver que estava tudo certo passei para o estágio de entrada (pré amplificador). O nível na entrada da etapa de potência tem que ser de 7,5 VRMS para conseguir os 7W (em 8 Ohms). Para um sinal de 500mV na entrada seria necessário então um ganho de 15 vezes no pré (23,5 dB). Para um ganho tão alto ainda vou ver o que fazer, tenho alguns poucos CIs LME49710 que devem dar conta do serviço. Como esses bichinhos não são baratos devo usar apenas um em cada canal, só para o ganho mesmo.

No momento estou desenhando as placas e pensando nos controles do amplificador. Além do controle de volume pretendo colocar mais alguns ajustes para equalização (controles de tonalidade). Olhei alguns circuitos por aí, desde um ajuste de Loudness até equalizadores multi-banda. Pra não complicar demais acabei ficando no meio termo: um controle de tom com ajustes de graves, médios e agudos. Como decidi não gastar mais nada neste projeto terei que usar os componentes que tenho por aqui, o que inclui um saco de potenciômetros duplos de 50k. O circuito é clássico e tem por aí na web variando apenas nos valores dos componentes. Desenhei o circuito no LTSpice com os potenciômetros de 50k (R2/R3, R8/R9 e R12/R13) e dei uma fuçada nos valores até chegar nesta versão:

Esquema controle de tom
Ignorem o código do amplificador operacional, pode ser qualquer um (usarei o NE5532), o que importa são os componentes passivos. O ideal em um controle de tom seria usar um ampop para cada controle (graves, médios e agudos) para evitar a interação dos componentes de cada ajuste. Mas como quero simplicidade e poucos componentes este circuitinho já está bom. As curvas de resposta ficaram assim na simulação, com os controles no máximo para cada faixa:

Graves
Graves
Médios
Médios
Agudos
Agudos
Com os três controles no máximo a interação fica mais visível, com uma diferença de 9dB entre os graves e agudos:

Agora é montar e testar na "coisa" de verdade.

Notas aleatórias de Sexta 29/08/2014

Essa semana não teve muita coisa, mas vamos lá...
  • O grande Newton C. Braga fala um pouco (bem pouco, na verdade) sobre como começou.
    ---
  • Revirando minhas coisas aqui (re)encontrei estes dois cartões da Philips sobre resistores e capacitores. O de capacitores está um pouco detonado, mas o de resistores está muito bom. Comprei num ferro-velho e pretendo, um dia, pendurar na meu lab definitivo (quando eu tiver um).
    Resistores Philips

    Capacitores Philips
    ---
  • E por falar em coisas para pendurar no lab, esta aqui eu comprei na "feira do rolo" de São José dos Campos. É uma chave de faca ainda com os fusíveis, montada em uma pedra. Sei que tem destas novas por aí, mas elas não vem com este "ar" de coisa velha e usada...
    ---
  • Através de um vídeo postado no Facebook cheguei até o site do Berimbô (Berimbau robô). Não é tão novo assim e não tem muitos detalhes técnicos do projeto, mas é legal.
---
  • E terminei de ler o livro "Analog Circuits - World Class Designs" organizado por Bob Pease. O livro é bom, embora dois capítulos eu já conhecia dos livros do Jim Williams (um do próprio Jim e o outro de Richard Burwen) e outros da revista Electronic Design (os capítulos do Bob Pease foram retirados de artigos publicados na revista). E dá-lhe Bob Pease falando pela enésima vez que não gostava do SPICE (simulação de circuitos no PC).
    ---
  • E por hoje é só pessoal, tenho que olhar a Júlia... 

Notas aleatórias de Sexta 22/08/2014

Mais uma semana e mais algumas coisinhas. Hoje tá mais para "links aleatórios" do que "notas aleatórias"...

Como transformar uma tela LCD de notebook em uma TV (Parte 2)

Fiz um vídeo para complementar o post anterior:

Vou usar essa placa (T.VST29.03 com chip TSUMV59XU) na montagem final do monitor. Nos testes comparativos entre ela e a placa MT6820 com a mesma fonte, display LCD e fonte a MT6820 apresentou um ruído estranho nas bordas do LCD.

Como tenho outro LCD sobrando acabei pedindo mais uma placa, desta vez uma ND-LA.MV9.P do site Banggood (lugar mais barato que achei). Sobre esta placa encontrei um site muito bom (em Inglês) com mais informações e download dos firmwares. Parece ser igual a T.VST29.03 com algumas mudanças no layout da placa, mas ainda com o CI TSUMV59XU.

O anúncio do Banggood é só para a placa, controle remoto e o CI receptor IR. Por lá não tem a placa de teclado que só encontrei no DX. Achei o teclado e o receptor IR no AliExpress. São duas placas, uma com o teclado e outra com o circuito do receptor IR. Aproveitei e pedi também uma placa de suporte para a placa. Agora é esperar...