ALARME RF COM PIC 16F628A
Ensaios: ALARME RF COM PIC 16F628A. Pesquise 862.000+ trabalhos acadêmicosPor: JP.MECATRON • 28/8/2013 • 1.596 Palavras (7 Páginas) • 1.369 Visualizações
Projeto ALARMTRON
Este projeto consiste em acionar o botão do Emissor de RF e assim, acionar o sistema que fica em estado de espera até receber o sinal a que foi projetado a receber, no nosso caso o número "2" mas que pode ser mudado no programa facilmente por você. ao receber o sinal "2" o receptor aciona os relês de acordo com o que foi programado e que também poderá ser mudado com facilidade basta ver o programa feito em Basic que é bastante intuitivo como veremos adiante, desbravando o programa do transmissor, com muitos comentários, inclusive explicando algumas funções, como o Soft_Uart_Init e o Soft_Uart_Write, que eu diria serem as funções mais importantes no projeto, pois saber como essas funções são usadas é de suma importância para que o hardware funcione.
A função (Soft_Uart_Read) que é usado no receptor deverá ser estudada e analisada também, será deixado uma nota explicando esta função, que serve para ler o pacote de ,enviados pelo Transmissor.
Desbravando o Programa do Transmissor
1 - Program TX '..................... Nomeia o programa como TX dentro do compilador você deverá sempre iniciar o programa com esta 'primeira linha dando um nome ao programa no nosso caso "TX" poderia ser Emissor. Ficaria: Program Emissor
2 - Symbol Led=PortB.5 'NOMEIA A PORTA RB5 COMO Led / Após essa função o PortB.5 agoraga chamar-se-á LED
3 - Symbol Botao=PortB.4 'NOMEIA A PORTA RB4 COMO Botao / Após essa função o PortB.4 agora Chamar-se-á Botao
'* NOMEAR AS PORTAS FACILITA MUITO NA HORA DE ENTENDER O QUE VOCÊ ESTÁ FAZENDO E SE ACONTECER ALGUM ERRO NA PROGRAMAÇÃO, ACHAR O ERRO FICA 'MAIS FÁCIL TAMBÉM
4 -- main: 'inicializa o PIC definindo o uso das protas é a principal chamada do programa, main sempre estará presente programando em Basic.
5 - TrisA=0 'COLOCA O CONJUNTO DE PORTAS RA EM NÍVEL 0
6 - TrisB=%00000110 'COLOCA RB 1 e 2 EM NÍVEL ALTO 1
'----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
7 - soft_uart_init(PortB,1,2,1200,0)
'Explicação da Função
'Soft_uart_init Initaliza o software UART. PortB parâmetro que especifica a porta do PIC em que RX e 'TX pinos estão localizados; no nosso caso RB1 e RB2, no diagrama esquemático lá em baixo na Figura 1 você pode observar que o pino emissor 'TX é o RB2. Os parâmetros rx e tx precisam estarem na faixa 0-7 e não pode apontar para o mesmo pino, o pino ideal para ser usado como TX 'no PIC16f628A é o RB2; BAUD_RATE "1200" é a taxa de transmissão desejada. Taxa máxima de transmissão depende relógio do PIC e condições 'de trabalho do mesmo. Parâmetro invertido "0", se definido como valor não-zero, indica lógica invertida na saída. Soft_Uart_Init precisa ser 'chamado antes de usar outras funções da Biblioteca UART por iste motivo está aqui na linha sete.
'Nota: Ao se programar no MikroBasic não precisa numerar as linhas de programação, se você selecionar todo o texto aqui e copiar, desde ' 'Program TX até End. e remover a numeração e os hifens após os números, colar no compilador, ele será capaz de compilar normalmente.
'------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
8 - Botao=1 'A porta RB4 batizada anteriormente de Botao, recebe aqui nível lógico alto "1"
9 - led=0 'A Porta RB5 batizada anteriormente de Led, recebe aqui nível lógico baixo "0"
10 - Goto acionador 'Aqui a linha acionador é chamada pelo comando Goto "Vá Para" ou seja: vá para a linha Acionador. " As linhas de 'comando abaix de acionador serão verificadas "
11- Acionador:
12- Botao=1 'Aqui nesta linha é reforçada a colocação da porta RB4 em nível 1 por que a linha 19 irá chamar a linha 11 Acionador fazendo 'assim um loop.
13 - If Botao = (0) Then Goto Transfere
Else Goto main 'Aqui o comando If e Then assumem
...