collapse

* Links de Robótica

* Posts Recentes

Embedded World 2018 por KammutierSpule
[Ontem às 21:40]


Comprar transformador de +/-12Volts por edeweld
[09 de Dezembro de 2017, 22:51]


Ajuda Projecto IR / RF por dio123
[09 de Dezembro de 2017, 10:53]


Drivers Arduino UNO! por dio123
[09 de Dezembro de 2017, 10:46]


Problema em converter codigo C arduino para C + Pigpio na raspberry por vasco
[08 de Dezembro de 2017, 19:22]


Fazer seceretária por dio123
[06 de Dezembro de 2017, 14:17]


Ajuda com TRIAC por luisjustin
[05 de Dezembro de 2017, 20:10]


Como controlar display tft 2.4 mcufriend por luisjustin
[05 de Dezembro de 2017, 11:25]


Recomendação de um opamp para um DAC r2r por vasco
[02 de Dezembro de 2017, 23:50]


Ideias para construir um quadrúpede simples por dropes
[02 de Dezembro de 2017, 11:43]

Autor Tópico: [AJUDA ]Automação Residencial com DTMF  (Lida 3437 vezes)

0 Membros e 1 Visitante estão a ver este tópico.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 337
[AJUDA ]Automação Residencial com DTMF
« em: 01 de Dezembro de 2011, 21:00 »
Olá estou a iniciar (a tentar) um projecto de automacao residencial via DTMF..

So que para começar ja tou aqui com um dilema...

Estou a usar este codigo que esta neste site :

http://arduino-ce.blogspot.com/

So que o meu inicial problema é, quando envio o codigo para o arduino... e quando conecto o primeiro fio no pin7 nao percebo porque raio no SERIAL MONITOR me ta sempre a dizer em forma de loop:

RECEBIDO 2
RECEBIDO 2
RECEBIDO 2
...

Depois outra duvida, todos os telefones enviam tons dtmf?

Aguardo respostas, e quem quiser aproveitar para montar tambem aproveitem o site.


Offline JPTuga

  • Mini Robot
  • *
  • Mensagens: 125
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #1 em: 02 de Dezembro de 2011, 00:10 »
Sim, desde á muito tempo que os telefones utilizam os dmtf [dual-tone multi-frequency]. Provavelmente podes usar o teu... ;D

Agora falando do código, qual o arduino que estás a usar? O Mega?

Offline r16

  • Mini Robot
  • *
  • Mensagens: 337
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #2 em: 02 de Dezembro de 2011, 00:41 »
Bom tou a usar um nokia 8210 como receiver dos tons dtmf e tou a usar um 2610 para envia os tons...

Desmontei todo o circuito e voltei a montar...


No serial monitor esta a sempre a aparecer RECEBIDO:RECEBIDO:RECEBIDO:

Nao passa dai... quando deveria aparecer

Recebido :1
Recebido 2 etc etc consoante a tecla que marco no 2610...parece que nao ta haver comunicacao ja revi todo o circuito e nada.... o CI e novo ja desconfio dele...

Alguem que perceba do codigo e me diga o que esta mal...

Tou a usar um UNO no autor do esquema diz que funciona com o uno que a pinagem e codigo e igual ao do mega.

tou a desmorecer...

Offline JPTuga

  • Mini Robot
  • *
  • Mensagens: 125
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #3 em: 02 de Dezembro de 2011, 11:46 »
Eu dei uma vista de olhos ao código e concluí que é problema ao nível de hardware. Vê se a placa do relê está bem conectada com o arduino, ou se simplesmente os telefones fazem conecção entre eles. Porque ele para te dar recebido, recebido, recebido está a receber valores, mas  simplesmente não é o que tu pretendes.  ;)

Depois manda algo a confirmar, se te continuar a dar o mesmo erro eu faço uma simulação.

Jean-Pierre Carvalho
[/sub]

Offline r16

  • Mini Robot
  • *
  • Mensagens: 337
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #4 em: 02 de Dezembro de 2011, 12:24 »
Ola Jp olha eu nao tenho o rele ligado ou seja nao tenho o pino 2 conectado. tou so a testar as restantes teclas a ver se ha comunicacao e efectivamente nao ha. agora nao sei se o problema e dos telemoveis. nem sei como testar pois o cabo ta bem conectado.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 337
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #5 em: 02 de Dezembro de 2011, 19:35 »
Bom, hoje tentei novamente, e o que e certo e que agora ja nao aparece aquela mensagem maluca de recebido... parece ja tar tudo ok... mas nao ha comunicacao entre os telemoveis...

Estou seriamente convencido que estes dois telemoveis nao devem suportar DTMF...

Pelo menos o que ta ligado ao arduino... sera que nem todos os nokias recebem tons  a dtmf...
enviar tem a opcao... mas receber...tou na duvida.. podem me esclarecer?


Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.404
  • Helpdesk do sitio
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #6 em: 02 de Dezembro de 2011, 19:38 »
É impossivel não ter DTMF, é que sem DTMF é impossivel a operadora saber que numero marcaste, eles podem é não dar som quando carregas nas teclas, mas isso é outra coisa..
Avr fanboy

Offline r16

  • Mini Robot
  • *
  • Mensagens: 337
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #7 em: 02 de Dezembro de 2011, 20:40 »
Enviar , ele envia... pois os nokias que aqui tenho durante a chamada têm o menu : ENVIAR DTMF , agora receber tenho serias duvidas que todos deem.
Ao ver na net... todos os projectos dtmf aparecem telemoveis com atendedor automatico... para alem de aparecer sempre quase o mesmo modelo de telemovel nesses projectos.

Posso nao ter razao nenhuma no que tou a dizer... mas ainda nao li nada que me provasse o contrario.

Offline senso

  • Global Moderator
  • Mini Robot
  • *****
  • Mensagens: 9.404
  • Helpdesk do sitio
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #8 em: 02 de Dezembro de 2011, 20:47 »
É muito facil, agarras no telemovel e carregas nas teclas, tem que fazer barulho, outro caso é estares a usar o fio errado, e teres o chip ligado ao microfone em vez de á coluna.
Avr fanboy

Offline r16

  • Mini Robot
  • *
  • Mensagens: 337
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #9 em: 02 de Dezembro de 2011, 21:06 »
Senso,
Vou te dizer dois testes que fiz:

Sem auricular ligado... quando ligo para o telemovel e carrego nas teclas do EMISSOR oico o APITO no telemovel receptor.

Com o auricular ligado... nao oico nada no telemovel receptor..nem no emissor. vou tentar com um jack mono.... a ver.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 337
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #10 em: 02 de Dezembro de 2011, 21:24 »
bom tentei ligar um jack mono, assim que conecto ao telemovel o telemovel diz acessorio nao suportado...

que  raio de sorte a minha,...nao atino com isto nao recebe os comandos.

Offline r16

  • Mini Robot
  • *
  • Mensagens: 337
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #11 em: 04 de Dezembro de 2011, 22:10 »
Bom, tenho progressos....

Hoje comprei um jack stereo, liguei ao telemovel e ja consigo comunicacao entre o telemovel e o arduino...

mas as teclas nao combinam conforme o codigo indica...


Quando carrego na tecla 5 ele acusa 4 se carrego 9 acusa 2 etc as teclas nao combinam...ou seja parece que o chip nao reconhece bem o tom...

o que sera?

Offline almamater

  • Mini Robot
  • *
  • Mensagens: 1.521
    • GrcByte - Projectos
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #12 em: 05 de Dezembro de 2011, 13:43 »
Parece muito interessante o projecto sim, a nível de custos é o preço da chamada normal de um telefone para o outro certo? a partir dela é que se identificam os tons, é isso não é?

Offline r16

  • Mini Robot
  • *
  • Mensagens: 337
Re: [AJUDA ]Automação Residencial com DTMF
« Responder #13 em: 21 de Fevereiro de 2012, 22:22 »
voltando ao topico preciso de uma ajuda... o que tenho que alterar no codigo para que quando eu meta o codigo 1234 se ligue o led no pin 13 e nao o que esta acontecer agora.. que é que ele liga logo o led13 quando presso a tecla 1 do telemovel.

Eu quero nesta sequencia:

ligo para o telemovel
meto o meu codigo pessoal 1234
pressiono a tecla1
e ele acende o led13

alguem me pode ajudar?


#define RELE1 13
#define PASSWORD 1234 // Define a senha


int RELE1_STATE = LOW;




//=======================================================
// ENTRADAS DTMF DIGITAIS
//=======================================================
int pinBit01 = 8;
int pinBit02 = 9;
int pinBit03 = 10;
int pinBit04 = 11;
int pinBitSts= 12;


int bit01 = 0;   
int bit02 = 0;   
int bit03 = 0;   
int bit04 = 0; 
int bitSts= 0; 




boolean proceed = false; //Fag que habilita o funcionamento dos comandos mediante senha digitada corretamente - inicializa falso!


String tmpPass =' '; //Armazenamento da senha digitada no telemóvel!


String password = "1234"; // Defina sua senha aqui - pode ser de quaisquer número de dígitos!


void setup() { 
 
  Serial.begin(9600);
 
  pinMode(RELE1, OUTPUT); 
 
  digitalWrite(RELE1, LOW); 
 


  Serial.println("Aguardando comando...");
}




void loop() { 
 
bitSts= digitalRead(pinBitSts);
bit01 = digitalRead(pinBit01);   
bit02 = digitalRead(pinBit02);   
bit03 = digitalRead(pinBit03);   
bit04 = digitalRead(pinBit04);   


numero   = (bit01 * 1) + (bit02 * 2) + (bit03 * 4) + (bit04 * 8);


if (bitSts == HIGH && numero < 13) { 
 
Serial.print("Recebido: ");   
switch (numero){
      case 1:
        Serial.println("1");
        tmpPass += '1'; //Adiciona o número digitado em tmpPass
       
        /* COMANDO PARA RELE1 */
        if (proceed == true) // Se proceed é verdadeiro (a senha foi digitada corretamente) comando é executado!
        {
          RELE1_STATE = !RELE1_STATE; // Troca de estado (HIGH/LOW) cada vez que pressionar o botão.
          digitalWrite(RELE1, RELE1_STATE); //Liga-desliga Relé.
        }       
        break;
       
      case 2:
        Serial.println("2");
        tmpPass += '2'; //Adiciona o número digitado em tmpPass
        break;
       
      case 3:
        Serial.println("3");
        tmpPass += '3'; //Adiciona o número digitado em tmpPass
        break;
       
      case 4:
        Serial.println("4");
        tmpPass += '4'; //Adiciona o número digitado em tmpPass
        break;
       
      case 5:
        Serial.println("5");
        tmpPass += '5'; //Adiciona o número digitado em tmpPass
        break;
       
      case 6:
        Serial.println("6");
        tmpPass += '6'; //Adiciona o número digitado em tmpPass
        break;
       
      case 7:
        Serial.println("7");
        tmpPass += '7'; //Adiciona o número digitado em tmpPass
        break;
       
      case 8:
        Serial.println("8");
        tmpPass += '8'; //Adiciona o número digitado em tmpPass
        break;
       
      case 9:
        Serial.println("9");
        tmpPass += '9'; //Adiciona o número digitado em tmpPass
        break;
       
      case 10:
        Serial.println("0");
        tmpPass += '0'; //Adiciona o número digitado em tmpPass
        break;
       
      case 11: // Caractere '*'
        Serial.println("*");
        tmpPass =' '; //Limpa para armazenar a senha novamente!
        proceed = false; //Desabilita todos os comandos até que a senha seja digitada novamente!
        break;
       
      case 12: // Caractere '#'
        Serial.println("#");
       
        tmpPass = tmpPass.trim();//Retira os espaços em branco - ver caractere '*'!
   
        if (tmpPass == password) { // Se a senha digitada for igual a senha armazenada...
          Serial.println("Senha correta!");
          proceed = true; //Habilita todos os comandos via telemóvel
        }else{
          Serial.println("Senha ERRADA!");
          proceed = false; //Desabilita todos os comandos via telemóvel
        }
       
        /*
        //Caso queira ver a saida da senha é só descomentar
        Serial.print("tmpPass= ");
        Serial.println(tmpPass);
        Serial.print("password= ");
        Serial.println(password);
        */
       
        break;   
  }


 
 
 // Zeram todas as variáveis
  numero = 0;
  bit01 = 0;   
  bit02 = 0;   
  bit03 = 0;   
  bit04 = 0;   
  bitSts= 0; 
  delay (500);
  }


}