A possibilidade de utilizar um microprocessador no controle de dezenas de efeitos de luzes com até 6 canais é muito interessante nesta nossa era da Eletrônica e quando o Natal se aproxima. Neste artigo mostramos aos leitores como fazer isso com o nosso conhecido Basic Stamp. Evidentemente, o processo de controle das luzes pode servir de base para muitos outros projetos da área de automação e mesmo robótica.
Nota: o artigo é de 1996, época em que o Basic Stamp foi lançadado. Se bem que existam versões mais modernas e equivalentes, a série do autor apresentada aqui pode ser muito importante para quem deseja conhecer mais sobre os conceitos básicos e até aplicá-los nas versões mais modernas.
NOSSO CONTROLE DE LUZES
O que propomos neste artigo é um sistema inteligente de controle de lâmpadas que podem ser usadas para enfeitar painéis, árvores de natal, vitrines, etc, totalmente baseado no conhecido BASIC STAMP. (Veja artigos anteriores da série)
Neste sistema o BASIC STAMP é carregado com um programa de efeitos e passa a controlar seis sequências de luzes ligadas diretamente na rede de energia. O sistema prevê para esta finalidade opto-acopladores que disparam triacs de grande potência.
Na figura 1 temos o diagrama do sistema, podendo o leitor perceber sua simplicidade. Neste sistema observamos inicialmente a presença de um potenciômetro que é o seu único ajuste. Este potenciômetro atua sobre o circuito de clock, funcionando como um controle de velocidade do efeito.
O outro controle que este circuito possui é um interruptor cuja finalidade é selecionar o tipo de efeito que vai ser produzido de acordo com o programa.
No diagrama foi representado apenas um drive da etapa de potência. O tipo de drive selecionado faz uso de um opto-acoplador MOC3010 para a rede de 110 V, lembrando que o MOC3020 pode ser usado (com alterações de valores dos resistores) na rede de 220 V.
O semicondutor que faz o controle de potência é um triac TIC226 que deve ser montado num bom radiador de calor.
No entanto, nada impede que esta etapa de potência seja alterada conforme a aplicação, caso em que podemos usar relés ou mesmo SCRs. É importante observar, entretanto, que a utilização do opto-acoplador tem a principal vantagem de isolar a rede de energia do circuito de controle o que significa uma segurança a mais para o operador.
PRIMEIRO ARTIGO PRODUZIDO VIA INTERNET
(*) Este artigo tem uma particularidade interessante. Pela primeira vez (acreditamos) um artigo numa revista técnica tem dois autores separados por uma distância de milhares de quilômetros e que trabalharam em conjunto usando a internet. De fato, o nosso Luiz Henrique é brasileiro enquanto Jon é americano, residindo no Texas. Assim, enquanto o autor brasileiro desenvolveu o circuito, o autor americano desenvolveu o programa de acionamento LIGHT.BAS que cedeu gentilmente para a publicação. A transferência dos arquivos entre os dois autores, assim como a troa de mensagens (E-mail) foi feita de forma rápida e consistiu numa experiência gratificante para o autor brasileiro.
PROGRAMAÇÃO
Vamos partir deste ponto, pois a maioria dos leitores, pelos artigos anteriores desta série sabe como funciona o BASlC STAMP e como programá-Io. Os que não souberem devem consultar as edições anteriores ou ainda consultar a BBS Planet House pelo telefone (011) 967-5656.
Neste mesmo endereço está o programa original em inglês para a programação do BASIC STAMP.
O programa LIGHTBAS é dado em quadro anexo e sua organização facilita bastante a compreensão dos leitores. É importante salientar a importância de entender a lógica deste tipo de programa, pois a maioria dos erros cometidos pelos programadores são causados por um código (programa) mal feito.
Como o BASIC Stamp tem uma memória limitada (de 80 a 100 instruções) a eficiência e o tamanho do código têm que ser bem analisados, buscando alternativas e novas técnicas.
Pensando nisso, o programa faz alguns pequenos truques utilizando o operador módulo //). Q BASIC Stamp trabalha só com números positivos inteiros.
Por exemplo, o resultado da divisão de 5 por 2 será 2.
(5/2 = 2 ). A operação módulo retorna o resto da divisão, em nosso exemplo seria 1 (5//2=1). Portanto para manter uma variável dentro de um range de 0 a n , por exemplo 0 a 4, teríamos:
mode = mode + 1 // 5
Esta linha seleciona o próximo modo de operação dos padrões de ativação das luzes. Se um novo valor estiver fora (>4) a operação com módulo irá fazer a correção. Vale salientar que o BASIC Stamp executa as operações matemáticas conforme foram escritas da esquerda para a direita. Em nosso caso a primeira operação seria “mode + 1" e a segunda seria o resultado de “mode + 1" módulo “S”. Em outras linguagens necessitaríamos do uso de parênteses
Mais um truque, se você deseja decrementar uma variável (exemplo 4, 3, 2, 1, O, 4, 3 ...) você pode usar:
mode = mode + 4 // 5
Parece estranho você adicionar para fazer uma subtração, entretanto, o operador módulo é que faz a subtração, tornando assim excelente truque. De forma geral podemos resumir:
Incrementar:var : var + 1 // x (onde x é o máximo valor da variável + 1
Decrementar: var = var + max // x (onde max é o máximo valor da variável e x = max +1)
CONCLUSÃO
Com essa aplicação do BASIC Stamp, podemos observar mais uma vez como um dispositivo programável facilita o desenvolvimento de produtos e faz com que eles sejam mais eficientes e flexíveis.