Seria interessante poder ter uma forma de exportar informações da central BIG_GEN_II para um PC ? Talvez para se ter um arquivo com todos os controles acionados em uma dada ocasião? Uma integração com outro sistema de segurança?
Esta versão faz justamente isto: enviar para uma saída serial rodando a 9600 bauds, o número serial de todo controle que for acionado. Foi usado o pino 1 para esta finalidade, usando uma simples saída com um transistor para conectar com a DB9 do PC.
Se não tiver entrada serial em seu PC, poderá usar um adaptador USB/SERIAL. Para testes, poderemos usar o Hyperterminal configurado para porta COM1 ( ou outra) e a 9600 bauds, sem paridade, 1 stop bit. Ao acionar um controle remoto, de imediato, veremos na tela o valor do serial number.
O esquema foi alterado, pois foi necessário estabilizar a frequência de clock usando um cristal de 4mhz externo, pois do contrário, não se consegue um correto ‘baud rate’ para a transmissão serial. Os interruptores receberam uma nova configuração de ligação, visto que não sobra pinos neste PIC.
Veja o esquema abaixo:
O restante do circuito permaneceu igual, assim também a forma de programar e remover controles continuam exatamente iguais. Lembrando que ele aceita até 255 controles diferentes, da família HTP e HCS (em modo 400us de pulso básico, sem hopping code). Deverá trabalhar com outra(s) placa(s) de portão, usando a ligação da ‘botoeira(s)’ conectando no(s) rele(s) do esquema (reles acionados pelo pino 6 e 7).
Caso também domine a programação de ‘ARDUINO’ ou equivalentes, poderá realizar a integração mais fácil entre eles, usando justamente esta saída serial. Se você tem facilidade com programas para PC, poderá facilmente criar um aplicativo que possa usar estes ‘seriais numbers’. Abre-se assim, um novo leque de uso para o equipamento!
Obs. Esta montagem é apenas didática, sendo realizada e testada apenas em placa de protoboard, estando sujeita a bug’s ainda não observados. Esta sendo fornecido os arquivos ASM e HEX, que poderão ser alterados segundo as necessidades dos hobistas.
Segue pasta com os arquivos ASM e HEX:
Segue pasta com arquivos ASM e HEX para versão que impede o apagamento se na posição pretendida estiver gravado já um controle (neste caso, terá que apagar o antigo número antes de gravar outro). Também, após enviar o serial number do controle acionado, enviará o caracter ‘1’ para acionamento da saída 1, ‘2’ para saída 2 e ‘3’ para ambas saídas acionadas:
Manuais:
Pic 16f628a
Memória 24c08
Assuntos relacionados:
BIG_GEN_II (versão de 05/04/2014)
BIG_GEN I (versão anterior)
Big_gen_mix com at89c2051
Big_gen somente para Ht6p20b com at89c2051
Como ler sinal transmitido por controle remoto rf
Curiosidades:
Será que todos os idiomas vieram da “Torre de Babel”?
O que é preciso para adestrar um elefante
Jóias e pedras preciosas
O menor cãozinho do mundo
O banho de sauna — no passado e no presente
Newgrange: o mistério continua
O país da moeda de peso
Herodes, o Grande — um hábil construtor
O esperto camaleão do mar
Os cosméticos nos tempos bíblicos
Uma rocha imponente
Sal — produto da ação do sol, mar e vento
Outros assuntos:
Como posso me dar bem com meu professor?
Como controlar seu estresse
Quando seu casamento não é o que você esperava
Recuperar a confiança no casamento
Como acabar com a tática do silêncio
Como ser feliz no casamento?
Como ser um bom ouvinte
Como lidar com as dívidas
Como resolver problemas no casamento
Aprenda a perdoar
Como lidar com os sogros
Como criar filhos responsáveis
Como administrar o seu dinheiro
Ensine valores morais a seus filhos
Como evitar ferir com palavras?
Como tratar seu cônjuge com respeito?
Até o próximo artigo!!!
Ola,
Tem como eu adaptar para sair para USB ?
Eu usei um cabo USB mas nao ta dando certo….
http://hobbyelectronics.co.nz/product.php?SKU=241&Name=USB%20to%20TTL%20serial%20converter
Olá Caiocesarb!
O protocolo USB é bem complexo e toma muito espaço de memória. Além disto, exige que o pic disponha de hardware para esta comunicação, pois não se consegue com o método ‘bit banging”. Geralmente os adaptadores de USB para Serial funcionam. Tente ver com o fabricante o que pode estar acontecendo.
Cláudio
No seu codigo, vc previu parte alta e baixa usando ADDRESS1 e ADDRESS ? Ou essas vaiaveis so trabalham com a parte baixa mesmo, e para a parte alta, tem que desenhar um loop novo ?
Olá Caio!
O ADDRESS1 é usado para selecionar o bloco da 24c08. Terá que alterar o código para corresponder a funcionalidade da 24c256 de 16 bits de endereçamento sem blocos.
Cláudio
Perfeito ! Depois de perguntar eu continuei olhando e achei o que nao estava vendo… o address1, entra no CONTRO BYTE, e era isso que estava me travando no 24c256. A logica ele e’ diferente. Charada matada, estou mudando… e’ bastante coisa mesmo… Grato !!!
Boa noite.
Para gravar mais controle, vou precisar aumentar a memoria externa. Coloquei uma 24c256 (ATMLU738 2EB). Mas ao acessar a memoria, o programa trava. Os pinos sao os mesmos… Tem algum segredo que nao peguei ?
Olá Caio! O código de acesso a memória externa foi feita para a eeprom 24c08. Para usar outros modelos com maiores capacidade, você terá que alterar o código de envio I2c. Consulte o datasheet para saber como deve ser endereçada corretamente este novo modelo escolhido por você. Divirta-se com os datasheets! Produzem horas agradáveis de pesquisa pura!
Cláudio
Estou trabalhando nisso… Ainda nao deu certo, mas estou no caminho. Uma diferença que ja achei é que esta eprom usa 2 blocos de 8 bits de address. Ja completei o primeiro bloco com 0, mas ainda nao resolvi ainda. Se entre um dia ou outro, vc tiver uma soluçao para este bloco do programa, agente agradece ! Se eu resolver antes eu compartilho…
Olá Caio! Como você disse anteriormente, ‘trabalhar com asm é complicado’. Olhando o datasheet é realmente isto: 2 bytes de endereçamento. Isto significa que além de alterar a rotina de envio, você terá que lembrar de incrementar a parte alta quando estourar a parte baixa, nas rotinas de busca/leitura/gravação de controles. Digamos que é a parte mais chata do código. Costuma dar canseira de muitas horas até rodar bonito! Mas você parece ser ‘persistente’, e logo alcançará o objetivo.
Cláudio
Ja dei um grande passo. O programa nao tava mais. Faz R/W na memoria. Eu ja tinha mexido nos contadores para deixar rodando mais que 255. Mas o que resolveu meu travamento foi mudar sua rotina de ACK. Segue como ficou.
ACK: ;acknowledge from transmitter or receiver
;BSF SCL
;BANK1
;BSF TRISA,0 ;ENTRADA
;BANK0
;BTFSC SDA
;GOTO $-1
;BCF SCL
;BANK1
;BCF TRISA,0 ;SAIDA
;BANK0
;RETURN
BANK1
BSF TRISA,0 ;ENTRADA
BSF SDA
BANK0
BCF TRISA,0 ;SAIDA
BSF SCL
NOP
NOP
NOP
NOP
CLRC
BTFSC SDA
BSF STATUS,C
BCF SCL
RETURN
Claudio!! Problema Resolvido!! trilha Partida! favor desconsiderar.. desculpe o transtorno!
Olá Lourival!
Que bom que já achou o problema! Então…, divirta-se com sua montagem!
Claudio