Meus Produtos no Mercado Livre

  • Refletor infravermelho com sensor de luz
    Não fique no escuro! Com este refletor qualquer foto ou filmagem night shot fica perfeita! Com leds 850nm de alta intensidade. Apenas 100,00R$ e frete grátis! Veja os detalhes no título.
  • Data Transfer link
    Transferência de fotos, vídeos, música e muito mais sem rede! Agora você pode enviar seus arquivos direto de pc para pc! Apenas 64,99R$ e frete grátis! Veja os detalhes no título.
  • Inversor 12v to 110/220 com 150w
    Não deixe seus gadgets descarregados no carro! Com este inversor você podera ligar até uma tv de 32" no seu carro! Apenas 75,00R$ e frete grátis! Clique no título para detalhes
  • Lâmpada De Led 16 Cores Controle Remoto 3w
    Lâmpada com várias cores, todas a um toque do controle remoto! Surpreenda todos com essa nova tecnologia! E o melhor, extremamente economica! a economicidade dos leds, aliada a poderosa luminosidade! Apenas 84,60R$ e frete grátis!
  • Lanterna Infra Vermelho Ir 12 Leds Alta Intensidade
    Lanterna construída com 12 LEDs IR de 850nm de alta intensidade. Corpo feito em alumínio, extremamente leve. Possui correia de pulso para segurança! Ideal para iluminação IR, farol IR, tracking, visão noturna, filmagens no escuro, detecção IR (projetos eletrônicos), etc ! Apenas 38,40R$ e frete grátis!
  • Camera Mini Dv Md80 para Esportes Radicais
    Com seu pequeno tamanho, a mini câmera MD80 é a melhor opção para usar em todos os momentos. Os recursos avançados permitem-lhe gravar vídeos com som, transferir arquivos para o PC ou ser usada como WebCam. Apenas 80,00R$ e frete grátis!

quinta-feira, 18 de agosto de 2011

Automação residencial com celular usando Arduino Mega

Insônia:Sabe aquele velho celular dtmf que está jogado em um canto qualquer de sua casa? pois é, agoa e hora de dessenterrá-lo e usar pra algo útil, veja o projeto abaixo:
á pensou em controlar sua casa por celular ou telefone fixo com um sistema criado por você mesmo? Sim é possível! Nesse post vamos fazer um sistema de automação residencial com celular usando o Arduino Mega e alguns componentes. Nesse exemplo iremos controlar a lâmpada de um quarto.

Por se tratar de um projeto educacional não utilizarei recursos de prototipagem, embora esse projeto possa ser remodelado para fins comerciais :-)

Com o projeto apresentado você terá base para construir um sistema multifuncional, ou seja, você pode controlar as luzes dos cômodos, portão automático, alarme, bomba d'água e, até simular sua presença caso não haja ninguém em casa, afastando os "malas" que procuram casas vazias para praticarem furtos.

O projeto se divide em três partes:

Decodificador DTMF (MT8870DE): Reponsável por decodficar as teclas do telefone remoto e convertê-las em saída digital para o Arduino;

Sistema de controle (Arduino Mega): Responsável por receber as saídas digitais do decodificador DTMF, tratá-las e acionar o relé correspondente ao dispositivo que queremos ligar/ desligar;

Os atuadores (Relés): Ficarão conectados ao Arduino, onde serão ativados conforme tecla de ativação remota (celular);

Materiais utilizados

Como dito anteriormente, por se tratar de um projeto educacional, iremos fazer de uma forma mais didática utilizando um protobord e alguns componentes eletrônicos, encontrado facilmente em lojas de eletrônica. O Protoboard é uma placa padrão com matrizes de contatos utilizado para quem é iniciante na área de circuitos, são bastante utilizados nas escolas técnicas e faculdades de tecnologia. Abaixo a lista de materiais utilizados:


Figura1: Lista de componentes

1 x Protoboard
1 x MT8870DE (Decodificador de DTMF)
1 x Cristal de 3.58MHZ
2 x Capacitores cerâmicos de 100nF
2 x Resistores de 100K
1 x Resistor de 300K
1 x Plug (mono) de 3,5mm
1 x Adaptador de 3,5mm - 2,5mm - caso seu celular já tenha entrada 3,5mm, não precisa comprar!


Para o atuador (relé que controlará o dispositivo), decidi utilizar o módulo Electronic brick -5V Relay module da Seeed, por dispensar o uso de prototipação e soldagem da placa. Uma observação: cada módulo controlará um dispositivo, no nosso exemplo iremos controlar uma lâmpada, se você quiser controlar mais dispositivos deverá adquirir mais módulos!
Electronic brick -5V Relay module(http://www.seeedstudio.com)

O módulo acima possui um conector de 3 vias com encaixe, se você tem familiaridade com o ferro de solda poderá soldar os fios diretamente na placa, caso contrário, é interessante adquirir o conector abaixo, também vendido na Seeed.

Electronic brick- fully buckled 3 wire cable(http://www.seeedstudio.com) 


Outros: Fios para conexões, Alicate para corte, ferro de solda (para soldar o plug 3,5mm-opcional)
O custo dos materiais acima fica em torno de R$50,00, fora o Arduino Mega e um celular simples.

Funcionamento

O DTMF (Tons Duplos de Múltiplas Frequências) é um sistema criado no laborátório da Bell (Bell Labs) que passou a ser utilizados nos telefones de teclado, seu funcionamento baseia-se no envio de duas freqências, uma baixa e outra alta, utilizando o sistema de sinalização MFSK - Multi-Frequency Shift Keying. O intuito da criação do protocolo DTMF era de permitir a discagem DDD, que usa enlaces sem fio como os de micro-ondas e satélite. O CI utilizado no nosso projeto é o CM8870DE (figura2), encontrado facilmente em lojas de eletrônica. Similares também podem ser utilizados! Vide Datasheet http://www.datasheetcatalog.org/datasheets2/22/220193_1.pdf

Figura2: Decodificados de tons DTMF MT8870DE


O CI mais alguns componentes ficarão montados no protoboard e conectado a um celular na entrada de fones, ele ficará responsável por fazer a ponte entre o usuário e a casa a ser controlada, o decodificador tem a função de "ouvir" o que foi digitado e repassar (decodificar) o número em formato digital para o Arduino Mega, que trata a informação binária e aciona o atuador (Relé) correspondente fazendo com que uma luz seja ligada, por exemplo.

Veja atentamente o vídeo abaixo, em tela cheia, e repare na decodificação binária das teclas do celular na saída do CI (MT8870DE).



Note que a cada tecla digitada é sinalizada sua recepção no pino STD. Este pino é extremamente importante, pois informará ao Arduino o momento de fazer a leitura dos bits correspondentes das teclas.

Na tabela abaixo estão as equivalências das teclas, bem como as saídas dos pinos Q3, Q2, Q1 e Q0 do Decodificador DTMF.

Tecla do telefone
Saída
digital do Decodificador DTMF
Valor equivalente
Decimal
Q3
Q2
Q1
Q0
1
0
0
0
1
1
2
0
0
1
0
2
3
0
0
1
1
3
4
0
1
0
0
4
5
0
1
0
1
5
6
0
1
1
0
6
7
0
1
1
1
7
8
1
0
0
0
8
9
1
0
0
1
9
0
1
0
1
0
10
*
1
0
1
1
11
#
1
1
0
0
12
Tabela1 - Saídas binárias do decodificador DTMF.


Mais detalhes sobre o DTMF: http://pt.wikipedia.org/wiki/DTMF

Por quê o Arduino Mega?

Muitos devem estar se perguntando: se o exemplo só serve para acender uma lâmpada, por quê utilizar o Arduino Mega?
Para esse projeto, especificamente, o Arduino Mega tem uma vantagem em relação aos outros: NÚMERO DE PORTAS! São 54 portas que podemos utilizar no projeto, dos quais 4 portas são utilizados para o circuito decodificador DTMF, sobrando, portanto, 50! Ou seja, podemos controlar 50 dispositivos em uma casa!


Figura3: Arduino Mega


Características do Arduino Mega:


» Microcontrolador: ATmega1280
» Voltagem de operação: 5V
» Voltagem de entrada(recomendada): 7-12V
» Limites de voltagem de entrada: 6-20V
» Pinos de I/O digitais: 54 (dos quais 14 podem ser de saída PWM)
» Pinos de entrada analógica: 16
» Corrente DC por pino de I/O: 40 mA
» Memória Flash: 128KB dos quais 4 KB são utilizados no bootloader
» Memória SRAM: 8KB
» Memória EEPROM: 4KB
» Velocidade de Clock: 16 MHz


http://arduino.cc/en/Main/ArduinoBoardMega

Ligações e esquemático do circuito de decodificação


O Esquemático abaixo serve tanto para guiar na montagem do circuito no protoboard, como para quem pretende montar numa placa de fibra de vidro ou fenolite. 

Figura4 - Ligações ao Arduino Mega


Montando o decodificador no protoboard


De acordo com o esquemático acima, montamos o circuito de decodificação DTMF no ptotoboard, monte com atenção e confira todas as ligaçoes! Observe que o pino 1 do CI é marcado por um chanfro e uma bola em baixo relevo, contamos os pinos a partir da esquerda (1) para a direita (9)e, no fim, continuando por cima com o pino 10 da direita para a esquerda (16) conforme Figura2.



Figura2 - Montagem do circuito de decodificação.

Os fios devem ser conectados no Arduino Mega conforme segue abaixo:

5V .............................. Ao pino 5V do Arduino Mega   
GND............................ Ao pino GND do Arduino Mega   
STD ........................... Ao pino 3 do Arduino Mega            
Q3 .............................. Ao pino 4 do Arduino Mega    
Q2 .............................. Ao pino 5 do Arduino Mega   
Q1 .............................. Ao pino 6 do Arduino Mega   
Q0 .............................. Ao pino 7 do Arduino Mega   

Para a conexão com o plug (que será conectado ao celular) recomendo a soldagem no terminal, caso não seja possível, descasque o fio e enrrole nos terminais tendo cuidado para não dar curto nos fios (Figura3). Na maioria dos celulares a conexão dos fones são com plugues de 2,5mm, nesse caso adquira um adaptador para a conversão (Figura4).

Figura3: Ligação no plug 3,5mm


Figura4: Adaptador 3,5mm-2,5mm



Firmware


/* ---------------------------------------------
 * DTMF HOME CONTROL V1.0 Rev0.0
 * Controle de dispositivos através de telefone
 * Arduino-ce
 * Comunidade Cearense de Hardware Livre
 * http://groups.google.com/group/arduino-ce?hl=pt-br
 * http://arduino-ce.blogspot.com
 * março de 2011
 ---------------------------------------------*/

#define RELE1 2 // Conectado ao fio branco do módulo Relé(Figura4)

#define pinBit01  3 // STD
#define pinBit02  4 // Q3
#define pinBit03  5 // Q2
#define pinBit04  6 // Q1
#define pinBitStd 7 // Q0

int tecla = 0;

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

int RELE1_STATE = LOW; // Estado do Relé LOW (Desligado)

void setup() { 
  Serial.begin(9600); // Iniciamos a Serial com Baudrate 9600
  pinMode(RELE1, OUTPUT); // Definimos o pino do Relé como Saída
  Serial.println("Aguardando tecla de comando..."); // Exibimos a mensagem no terminal...
}

void loop(){ 

  bitStd = digitalRead(pinBitStd); //Lê o estado do pino STD e armazena em 'bitStd' 

  if (bitStd == HIGH) {//Se estiver em nível alto fará as leituras 
                       //dos bits dos pinos Q3, Q2, Q1 e Q0

    bit01 = digitalRead(pinBit01);   
    bit02 = digitalRead(pinBit02); 
    bit03 = digitalRead(pinBit03); 
    bit04 = digitalRead(pinBit04); 

    tecla = (bit04 * 8) + (bit03 * 4) + (bit02 * 2) + (bit01 * 1);//Conversão binária para 
                                                                  //decimal (ver Vídeo1)

    Serial.print("Recebido: "); // Exibe a mensagem

    switch (tecla){ // Seleciona a tecla pressionada

    case 1: // Tecla 1
      Serial.println("1");     
      /* COMANDO PARA RELE1 */
      RELE1_STATE = !RELE1_STATE; // Guarda o estado INVERTIDO do Relé.     
      break;

    case 2: // Tecla 2
      Serial.println("2");               
      break;

    case 3: // Tecla 3
      Serial.println("3");
      break;

    case 4: // Tecla 4
      Serial.println("4");
      break;

    case 5: // Tecla 5
      Serial.println("5");
      break;

    case 6: // Tecla 6
      Serial.println("6");
      break;

    case 7: // Tecla 7
      Serial.println("7");
      break;

    case 8: // Tecla 8
      Serial.println("8");
      break;

    case 9: // Tecla 9
      Serial.println("9");
      break;

    case 10: // Tecla 0
      Serial.println("0");
      break;

    case 11: // Tecla *
      Serial.println("*");
      break;

    case 12: // Tecla #
      Serial.println("#");
      break; 
    }

    digitalWrite(RELE1, RELE1_STATE);//Liga ou desliga o Relé1 conforme o estado (HIGH/ LOW)

    // Zeram-se todas as variáveis 
    tecla = 0;
    bit01 = 0;   
    bit02 = 0; 
    bit03 = 0; 
    bit04 = 0; 
    bitStd= 0; 
    delay (500); // Aguarda 500 milissegundos
  } // Sai do switch// Volta pro loop...


Testando o protótipo


Utilizei uma lâmpada fluorescente comum ligado em 220V na bancada. O computador com a IDE do Arduino foi utilizado para monitorar o recebimento das teclas do telefone numa ligação local.

Vídeo2: Acendendo uma lâmpada via telefone

Prova e uso

Vídeo3: Acendendo a luz do quarto. OBS: Não reparar na bagunça! :P





Links relacionados

Bento XVI pode controlar iluminação LED do Cristo Redentor pelo celular - http://super.abril.com.br/blogs/planeta/bento-xvi-pode-controlar-iluminacao-led-do-cristo-redentor-pelo-celular/

Celulares e tablets se transformam em controle universal em casa “high-tech” - http://www.mobilepedia.com.br/noticias/celulares-e-tablets-se-transformam-em-controle-universal-em-casa-%E2%80%9Chigh-tech%E2%80%9D
Algumas considerações:

- Com alterações no firmware o projeto pode ser alterado para até 50 módulos de controle, devendo-se levar em conta a alimentação do conjunto, ou seja, para mais de 3 módulos de relés uma fonte deverá ser utilizada, escolha de preferência 12V x 5A.

- Caso já tenha experiência com eletrônica, poderá montar tanto o circuito do módulo DTMF quanto os módulos de controles de relés em placas de fibra de vidro e montar o conjunto em uma caixa hermética!

- Por ter uma gande potência ao controlar um arcondicionado, utilize um contactor em conjunto com o relé, ou seja, o relé liga o contactor, que liga o arcondicionado!


NUNCA MEXA NA REDE ELÉTRICA SEM O DEVIDO CONHECIMENTO, FAÇA COM O AUXÍLIO DE UM PROFISSIONAL DA ÁREA DE ELETRICIDADE!

Sinistro né não! Chupado no Arduino-ce

Nenhum comentário: