Go Down

Topic: Arduino e telefone (Read 4 times) previous topic - next topic

Bruno P. Gonçalves

E ae gente? tudo jóia?

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.

Valeu pessoal =)

denadai

E ae Bruno, tudo bom cara?

De uma olhada: http://www.youtube.com/watch?v=QlfrU5LdsN0 tem varios videos mostrando o Arduino com um decodificador DTMF.

Att, denadai

Bruno P. Gonçalves

poxa, legal, pelo menos eu ja sei o nome do que preciso fazer, ficou mais facil de procurar uaheuhae

ps: esse video que vc mandou ai é muito legal mesmo, no meu caso só trocaria para a porta serial ao invez de um lcd, show =)

Bruno P. Gonçalves

Bem, só pra manter um histórico, eu montei isso

http://www.whatcircuits.com/wp-content/uploads/2008/07/dtmf-receiver-ic-mt8870-tester.jpg

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 ;)

Bem, a coisa ta fluindo =)

Osias Neto

#4
Oct 18, 2010, 02:50 pm Last Edit: Oct 18, 2010, 02:50 pm by netogdo Reason: 1
Quote
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  :P

Sinceramente sei quase nada de circuitos de frequência, mas sei que resistores próximos ou superiores à 100K, costumam atrair ruídos...

Bruno P. Gonçalves

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 =)

Valeu gente!

[1] http://www.uchobby.com/wp-content/uploads/2007/09/mt8870-1-small.jpg

Bruno P. Gonçalves

Pois é pessoal, descobri que é o arduino que da dando esse ruido todo.

Coloquei uma fonte aparte para o arduino e outro pro dtmf, ai parou o ruido, ficou perfeito.

Ai liguei o Q0 do 8870 na porta digital 0 do arduino, ja começou a xiar de novo, mesmo com o arduino desligado, se eu ligo qualquer coisa nele, xia =/

Alguma ideia de como tirar esses ruidos do arduino? usar hbridge talvez funcionaria, mas acho que não é o correto né? aueuae

Osias Neto

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.

Bruno P. Gonçalves

Bom dia Osias e pessoal que vem acompanhando.

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


Valeu gente =)

Osias Neto

#9
Oct 19, 2010, 05:34 pm Last Edit: Oct 19, 2010, 05:35 pm by netogdo Reason: 1
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  :P

Bruno P. Gonçalves

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)

Osias Neto

Bruno, o problema não é a serial ou usb ou o que for, o problema é o computador, se você ligar em qualquer porta terá ruídos no seu Arduino.

Você ligando o gnd do Arduino, com o gnd do computador vai ter muito ruído, então a solução seria isolar, mas não sei se funcionaria...

tenta isolar a linha Rx Tx com um optoacoplador de alta frequência, não me recordo agora o part number do CI, mas 4n25, 4n35 não funciona...

Se eu achar aqui qual é o CI, eu faço um desenho no Eagle e posto depois, mas não garanto...

Tenta pesquisar algo sobre isso, optoacopladores na serial do Arduino.

Bruno P. Gonçalves

Pessoal, to com uma duvidazinha sobre uma coisa, não propriamente dita sobre arduino, mas de eletrônica.

Tenho o seguinte esquema:



A linha telefônica no "gancho" tem 48v, e fora, de -7v à 7v

Fiz um divisor de tensão, para poder mandar para o arduino pela analogica, para saber se esta fora do gancho ou no gancho, até blz ok?

Porem, quando desligo o telefone, ele não libera a linha telefônica, acho que por fechar o circuito, ele não libera a linha.

Alguma ideia do que posso fazer? alguma dica?

Bruno P. Gonçalves

Oloko osias, postamos junto =)

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 =)

Osias Neto

Bruno, o CI que tem aqui que usamos para isolar circuitos de comunicação é o H11L1 (H11L2, H11L3).

Não sei se é fácil de encontrar, mas a frequência de trabalho dele é de até 1MHz, qualquer outro CI que chegue perto disso funcionará bem.

Faz o seguinte, olha no Eagle os "Opto couplers" que tem um schmitt trigger interno, acredito que qualquer um daqueles CIs devem servir tambem.

Go Up