Para os hobistas de Pic, emular as funções de um ci HT6P20B pode ser bem interessante. Podemos, direto de uma aplicação principal, gerar o código que poderia acionar um transmissor de RF. Que mais pode ser feito com esta aplicação?
Veja o esquema abaixo:
Este esquema mostra um controle remoto (chaveirinho) feito com um PIC. Mas, pode-se , por exemplo, fazer um teclado sem fio, acionar um portão ou porta de entrada, ligar/desligar um alarme, etc. O número que será enviado pode ser alterado no arquivo ASM e depois recompilado. O número no arquivo HEX é ‘123456’, sendo que o primeiro digito irá variar na recepção, de acordo com o botão acionado.
Pode-se usar o CONTROL_TESTER1 para ‘ visualizar ‘ este numero.
A simplicidade do programa é autoexplicativa. Com respeito ao transmissor, escolha de acordo com a frequencia do receptor.
Segue abaixo o arquivo ASM:
Segue abaixo o arquivo HEX:
Segue pasta com arquivos de uma versão para 12f675, que produz automaticamente um numero serial, usando valores iniciais randômicos dos timers 0 e 1. Estes são gravados nas posições iniciais da EEprom:
datasheet Pic 12f629
Sofware Compilador e Depurador – Mplab-Ide – para Pic
Programador caseiro para pic
Curiosidades:
Porque é necessário novas formas de energias?
A luta do homem para aproveitar o vento
Energia das estrelas
Outros assuntos:
Desempenhem bem seu papel de pais
Como reagir a um assédio sexual?
Como lidar com sogros!
Até o próximo artigo!!!
Boa Tarde Larios!
Testei o projeto CLONE_RANDOM, com pic12f675, funcionou
perfeito,porém ao religar a alimentação +5v, percebi
que o tx estava consumindo corrente como se estivesse
transmitindo, medi a tensão no pino 7 do pic e me deparei
com +5v, ativando o tx sem enviar os dados, quando ativado qualquer dos 3 botões cai para 2v ao acionar, e volta a zero
ao soltar botão, desliguei alimentação +5v e religuei; volta
a ter +5v na saida do pino 7 pic, sem acionar botões.
Obs:troquei de transmissor, e tb o removi, continua o
na mesma.
Estaria faltando instrução ao inicializar, pino 7 em
zero v.?, como seria feito?.
Obrigada.
Milene
.
Olá Milene!
Realmente, foi esquecido de zerar a saída na inicialização. Na porção de código abaixo:
void main() {
setup_adc_ports(NO_ANALOGS|VSS_VDD);
setup_adc(ADC_OFF);
setup_counters(RTCC_INTERNAL,RTCC_DIV_1);
setup_timer_1(T1_INTERNAL | T1_DIV_BY_1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);
tris=0b111110;
Acrescente em seguida :
saida=0;
E recompile.
Deverá resolver.
Cláudio
Olá Larios,
Era isto mesmo que faltava, agora está funcionando
perfeitamente.
Obrigada!.
Milene
Bom dia Sr. Claudio Lários
Desculpe a ousadia.
Em relação ao uso em”chamada-garçon eletrônico” pode me ajudar em uma dúvida ??
Como devo proceder para colocar seis números de 01 a 06 nas linhas
SER0 EQU 0X01
SER1 EQU 0X23
SER2 EQU 0X0F
Altero somente em SER2 ??
SER2 EQU 0X01 — PARA 01
SER2 EQU 0X02 — PARA 02
SER2 EQU 0X03 — PARA 03
SER2 EQU 0X04 — PARA 04
SER2 EQU 0X05 — PARA 05
SER2 EQU 0X06 — PARA 06
Não alterando as linhas SER0 e SER1 ??
Desculpe o incomodo, mas é que sou estudante iniciante nas áreas de programação e eletrônica e senti um pouco de dificuldade nesse ponto
Seus projetos são muito interessantes o senhor está de parabéns.
Obrigado desde já no que puder me ajudar
Carlos
Olá acarlos!
Você poderá alterar em qualquer dos 3 bytes. Devemos lembrar que na sua região poderá haver controles operando em algum dos códigos que venha a escolher. Neste caso, altere os outros bytes também.
Cláudio
Muito obrigado pela atenção, vou fazer como orientou.
Felicidades !