Esta versão de controle remoto trabalha com o microcontrolador AT89S52, sendo ainda facilmente encontrado no comércio de componentes e de prêço muito acessível. Veja mais…
Usando microcontroladores de muitas portas de saidas, facilita a construção de controles remotos de muitos canais, como este aqui. Foi escolhido este modelo, por ser de baixo custo e atender a necessidade do projeto. A quantidade de linhas de programas são bem poucas, perto da capacidade da flash deste chip. Mas a idéia é exatamente esta: ser simples e prático.
Veja abaixo o esquema do transmissor:
Foi necessário o uso de pull_ups de 10k no Port0, visto ser ‘open drain’. Caso os interruptores das demais ports fiquem distantes, também é aconselhavel o uso de pull_up nelas, para evitar transmissão com disparos ocasionados com ruidos elétricos ou mesmo, de origem estática, como a proximidade da mão. Para gerar a frequência de trabalho foi colocado um cristal de 12 Mhz e seus capacitores de 27 pf. O módulo transmissor poderá ser para qualquer frequência, como 27Mhz, 315 Mhz ou 433Mhz, sendo a escolha do hobista. Existe inúmeros modelos e marcas que poderão ser usados com sucesso. Quando qualquer interruptor for ligado, começará uma transmissão, composta por 7 bytes, sendo os 2 primeiros com o ‘serial number’ do transmissor. Este pode ser alterado para outro valor (desde que no receptor também seja alterado para um valor igual). Este ‘serial number’ evita que um receptor igual acione o receptor de outro. Os próximos 4 bytes correspondem a situação dos interruptores nos port0 a 3. O ultimo byte serve para conferir a integridade da transmissão, sendo uma somatória dos outros bytes, truncando em apenas 8 bits. Acionando um interruptor no transmissor ligará a saída correspondente no receptor. A presença de outros transmissores na mesma faixa (controles de portões, por exemplo), poderá interferir em seu funcionamento , como ele poderá interferir em outros equipamentos na mesma frequência. Com tx/rx de pequena potência, aconselha-se seu uso de forma estática, escolhendo um local que estabeleça um bom funcionamento e fazendo uso de antenas apropriadas para uma boa recepção.
Veja agora o esquema do receptor:
Deve-se repetir a saída para rele em 31 vezes (o número de canais máximo). Logicamente, se desejar usar menos canais, nada impede de montar somente a quantidade de saídas desejadas, deixando desligados os pinos do At89s52 que não forem usados. Foi previsto uma chave para ‘teste/ uso’, que facilita os testes de recepção de sinal. Os leds nos coletores acendem quando determinado canal é acionado, mesmo com a chave ‘teste/uso’ em posição que desliga a alimentação dos reles. Deve-se lembrar, especialmente quando forem usados todos os reles (31 canais), que a fonte de alimentação deverá conseguir manter a tensão com todos os reles acionados. Esta corrente poderá chegar próxima de 2 amperes, dependendo da resistência das bobinas dos reles usados. Também, dependendo da aplicação, poderá ser usados reles com capacidade de corrente maiores ou menores.
Nota: Este projeto é de carater didático apenas, sendo testado apenas em placas de protoboard, sujeito a bugs ainda não detectados com uso.
Caso deseje uma versão com pic 16f628a clique aqui.
Segue abaixo o arquivo ASM do Tx:
Segue abaixo o arquivo HEX do Tx:
Segue abaixo o arquivo ASM do Rx:
Segue abaixo o arquivo HEX do Rx:
Adicionalmente, em 09-02-2016, foi feita esta versão com opção de compilar para modo pulso ou retenção por canal individual, ajustando o arquivo asm e depois recompilando (ASEM-51). Na pasta abaixo você encontrará 3 arquivos ‘.hex’ pronto para gravar o AT89S52. Em uma delas, temos todos os canais ajustados para ‘modo pulso’. Em outra, temos todos os canais em ‘modo retenção’ e a última temos 8 canais em modo ‘pulso’ e o restante em ‘modo retenção’. Outras possíveis opções poderão ser feita pelo próprio hobista:
Em 02/04/2016 foi feita uma atualização no código do receptor. Foi eliminado um ‘bug’ que ao ligar a alimentação, necessitava inicialmente de 2 apertos no botão do transmissor para acionar uma determinada saída programada para modo retenção. Após o que o sistema trabalhava normalmente. Foi também acrescentado a opção para o usuário alterar as saídas para modo normal ou invertido. Segue pasta com este arquivo atualizado:
Data sheet:
AT89s52
Curiosidades:
O universo – cheio de surprêsas
O homem que desvendou os sêgredos do sistema solar
Jockeys ‘robos’
Controle remoto e o efeito estufa
Trauma de um atentado terrorista
Ouvindo sons do espaço
Porque as estrelas são cintilantes?
Outros assuntos:
Quando um dos cônjuges tem nessidades especiais
Como ser um bom pai
Como lidar com dívidas
Como resolver diferenças no casamento
Como tratar o conjuge com respeito
Como evitar ferir com palavras
Ensine seus filhos bons principios com atividades de colorir
Como posso ter ânimo para exercitar
Como posso controlar meu peso?
Entrevista com um bioquímico
Até o próximo artigo!!!
claudio é complicado transferir este para o pic 16f877?
olá José! O código é totalmente diferente nesta família de microcontroladores. Praticamente, teria que fazer tudo de novo.
Cláudio
lario voce tem mais fonte de materia de gravaçao deste at89s52 tem alguma vantagem sobre o pic?
Olá José! Esta família de microcontroladores já é mais antiga, sendo de clock um pouco mais lento para algumas aplicações. Suas saídas não fornecem muita corrente, necessitando de drives para isto. Mas são baratos, facéis de trabalhar, e tem compiladores gratuitos. Cada linha tem suas vantagens e desvantagens. Você tem que ver o que ‘cabe’ melhor em termos de custo/benefício, bem como outros fatores. Não tenho muita coisa com eles, se não o já que foi postado.
Claudio
ola amigo estou começando alguns projetos ficz o que tinha me falado , mas nem sei o que fazer , estava usando o flowcode , nãosei se vc conhece é uma ferramenta para programadores meios preguisosos , pois usa fluxograma algumas coisa ficam simples de fazer me ajude ai com o projeto base
Olá Liliano! Não uso esta ferramenta. Procure blogs de pessoas que a usam, pois fica mais fácil você tirar suas duvidas.
Claudio
😆 Olá claudio! VC superou mais uma vez,Ótimo projeto p/89s52.Pode ser usado em varias aplicações,Obrigado pelo incentivo na area da programação,em 8051.
amigo so uma ideia estava eu com meus consertos , tentando arrumar um amplificador que havia torrado toda saida isso porque uma pessoa ligou um caixa com impedância diferente da suportada , fiquei imaginando teria como fazer um sistem que medise a impedância do altofalante e bloqueace atraves de um relê a saida do amplificador tipo usando o sistema analogico do pic ele fizesse a leitura , pois ja vi aqui postado sistema de varias chaves com um só fio ai pensei vc usa a variação precisa de tensão , sabendo disso imaginei usar um pic que pudesse ler um impedância de 2 omhs , 4 e 8 que são os mais usados e a possibilidade de unir as de 2 e 4 e atingir a de 6 omhs , e o sistema só acionaria a saida quando a impedancia estivesse correta , isso tornaria uma otima proteção contra possivel curto em altofalantes de queimar o amplificador é claro que é só mais uma ideia estou começando a ler sobre asm e pensei em como começar este projeto tipo defino um pic 12F675 a principio teria que definir o oscilador interno , as portas de entrada e saida seria isso ?
Olá Liliano! Vejo que você quer pegar ‘firme’ na programação! A impedância é algo interessante. Ela é dependente da frequência de trabalho e varia seu valor conforme varia esta frequência. Podemos sim, medir a resistência ohmica da bobina dos altofalantes e com esta informação decidir, por ex. se um rele será acionado para liga-los a saída de um amplificador. Para construir um ‘ohmimetro’ com pic, temos duas possibilidades: por corrente constante e por divisor de tensão. No de corrente constante, uma fonte de corrente fixa alimenta o resistor a ser medido e em seguida lemos a tensão em seus extremos. Na versão ‘divisor de tensão’, usamos um valor de resistor conhecido em serie com o resistor a se medir. Também lemos a tensão em seus extremos e com ajuda de uma fórmula matemática, obtemos o valor do resistor desconhecido. Para começar um projeto, copie o cabeçalho de um projeto pronto e comece alterando o modelo, e ajuste a palavra de configuração para o tipo de oscilador, watchdog ou não, etc. Depois defina o que será entrada e o que será saida nos registradores ‘tris x’ da vida. Defina a situação inicial de registradores e portas. Dai, comece a usar sua imaginação!!!
Claudio