Pois é, fiquei um tempo por fora, me desculpem, mas agora apareceu outra buxinha pra resolver, ai me força a ficar rodeando
Bem, estou com um probleminha pra resolver, +/- assim: um arduino, numa ponta um telefone, na outra ponta a linha telefonica e o computador na porta serial. A ideia é que quando o telefone discar, e terminas a ligação, o arduino "Bilhete" o numero que discaram, e o tempo da ligação.
Bem, eu sei que é possivel, mas alguem tem uma ideia de como começar isso? ou alguma ideia a complementar? Qualquer ideia é bem vinda, pois o projeto esta bem cru ainda.
E funcionou bem, só não ficou melhor por que houve um ruido na linha. Não consegui resolver isso, tentei trocar o regulador, tentei utilizar outra fonte (independente da do arduino), tentei adicionar um capacitor entre o gnd e a linha, mas nada tira o ruido. Se alguém tiver uma ideia, show de bola =)
Próximo passo agora, é converter os 4 dígitos para serial. Conheço o 595, que faz o inverso, se um serial, envia 8bits. Alguém conhece uma forma de 4 bits entrar serialmente? já tenho o clock, que no link enviado é o LED 5, assim economizo porta, e consigo por mais linhas telefonicas
Próximo passo agora, é converter os 4 dígitos para serial. Conheço o 595, que faz o inverso, se um serial, envia 8bits. Alguém conhece uma forma de 4 bits entrar serialmente?
O 165 (74HC165), faz justamente o contrário do 595 e o princípio de funcionamento é exatamente o mesmo.
Quanto à esse ruído que você falou, seria um ruído de fundo ao falar no telefone? Não sei o que pode ser, mas tem várias coisas que podem ser testadas nesse circuito para melhorar a isolação da linha... usar um seguidor de tensão, usar capacitores e resistores menores, trançar o GND com a linha...todos os anteriores hehe
Sinceramente sei quase nada de circuitos de frequência, mas sei que resistores próximos ou superiores à 100K, costumam atrair ruídos...
Opa Osias, valeu pela dica do 74HC165, ja dei uma procurada e é o que eu quero mesmo, ja adicionei na minha próxima compra.
Sobre saber quando o telefone esta no gancho ou não, fiz um divisor de tensão, e liguei na analógica, 48v com o tel no gancho, 7 com ele fora do gancho. Não sei ainda se depende do aparelho ligado na linha, mas acredito que não, que vá funcionar perfeito.
Sobre o ruido ainda não consegui descobrir o que fazer
Achei este outro esquema [1], com menos resistores e funcionou igual ao outro que mandei acima, também com o ruido. Noto que o ruido acontece quando ligo a ponta da linha no GND, talvez eu precise de um filtro justamente ai, entre o GDN e a linha, mas nao sei como fazer.
Gostei da dica dos resitores, a tarde vou tentar tirar esses resistores de 100K e colocar 2 de 50K em paralelo, nao vai me custar nada tentar =)
Um bom meio de "isolar" circuitos de leitura, é colocando um seguidor (no seu caso com a frequência adequada). Assim o circuito que vai ler não interfere no ponto que está sendo lido (acho que fui confuso aqui mas dá pra entender a idéia hehe).
Pesquisa algo à respeito, de cabeça não estou lembrando de nenhum CI alem do 74hc245 e do LM741 que dá pra usar, mas não sei se esses atendem.
Ao ler sua msg tive a sacada de tirar a porta serial do arduino e tudo ficou normal, acredito fortemente agora que o problema esta em meu aterramento (ou em nao ter um aterramento auehuahe) no computador, infelizmente nao tenho onde testar com aterramento, mas ja é um grande passo para a humanidade =)))
Bem, é isso, agora vou fazer umas compras, e montar um prototipo, assim que estiver pronto, vou passar para outras funcionalidades =D
Tem razão Bruno, mas na verdade não é que tem problema no aterramento do computador, mas é que o aterramento do computador É um problema...
Evite deixar o Arduino ligado no computador quando for usar circuitos de frequência, ou para medição que exija uma certa sensibilidade,
as portas do computador são fontes realmente incríveis...de ruído
Poxa, mas o problema é que sem a porta serial o hardware perde o sentido. Andei pesquisando em fazer uma saída para comunicação usb, porem usa o ftdi (isso mesmo?) que não consigo encontrar para rápida entrega.
Ainda não sei como vou fazer isso, mas como é detalhe (até por que o errado sou eu, já que o aterramento deveria estar presente aqui aeuhuaeh) estou passando para o próximo passo, q é gravar a conversa da ligação. Mas ainda não consegui achar nada também (só com pic e não tinha o código utilizado)
bem, então, liguei um lcd no esquema todo, e tirei o cabo serial, ficou muito bom. Agora consigo testar o código sem ter que ligar a porta serial e zuar minha liga telefônica toda até eu arrumar um aterramento.
Claro que,s e conseguir um isolamento digital, seria muito bom, vou dar uma procurada por aqui sim =)
Legal Osias, tenho um til111 aqui (http://prosje.be/CO/Schemas/TIL111-niet-inverterend.png) que trabalha da mesma forma. Vou a noite dar uma olhada e tentar fazer essa isolação, mas como disse, o aterramento deverá ser requisito para o funcionamento do sistema que estamos desenvolvendo, então não estou tão preocupado com isso, mas claro, é um reforço legal.
Osias, gostaria de mais uma ajuda sua se possível. Não consigo entender esse optoacoplador. Achei esse esquema [1] para detectar o off hook, mas to apanhando aqui pra entender esse ci. Teria como de dar uma explicação rapidíssima do funcionamento?
Bom Bruno, pelo que entendi, a ponte de diodos (D1) retifica o sinal, ou seja, a corrente só irá fluir quando o sentido for de RD para GN, gerando uma tensão positiva sobre o fotodiodo do 4N33.
Quando houver essa corrente, como descrito acima, o fototransistor do do 4N33 conduz. Só isso.
Eu não sei como funciona a linha do telefone, mas supõe-se pelo circuito montado, que há tensão alternada na linha, por isso a ponte de diodos.
O diodo zener (D3), conduz quando a tensão é maior que 6V, na prática isso aumenta a velocidade NO chaveamento deste circuito.
Quanto ao CI especificamente é simples, quando há corrente sobre o fotodiodo (lado esquerdo do CI em relação a imagem), o transistor do outro lado do CI conduz. a vantagem deste tipo de isolamento, é que não é necessário ligar os "negativos" juntos do telefone e do Arduino. Assim, o que acontece na linha de telefone não influência no Arduino e vice-versa (se usado fontes diferentes claro).
Se quiser saber mais, pesquise sobre isolação galvânica.
Não sei se o que eu mandei anteriormente funciona, mas fiz um esquema parecido, usando um BC558, se a tesão for > 6 eu fecho o BC558 me mandando o pulso alto para o arduino começar a contar o tempo da ligação, assim posso ligar na porta digital, não necessitando das verificações da porta analógica (consequentemente não precisando isolar) =)