Aprenda a abrir um portão com um Arduino e um Android…

…via Wifi

Por Projecto MagicKey do Instituto  Politécnico da Guarda para o PPLWARE.COM

A integração de dispositivos nunca foi tão fácil, hoje existem diversas formas que permitem facilmente a comunicação entre dispositivos.

Para comunicar com o Arduino temos hoje várias formas de o fazer, contudo parece-nos que as mais interessantes são mesmo as que o fazem sem fios. O bluethoot é sem dúvida uma excelente de o fazer, no entanto o WIFI permite uma mais fácil integração entre sistemas, isto porque é mais fiável e porque se encontra disponível em mais dispositivos.

arduino_00

Hoje vamos então ensinar como pode facilmente controlar um portão usando um Arduino e um Android. Para tal montamos um pequeno cenário a simular os dois portões que serão controlados via wifi através de um dispositivo Android que irá passar instruções ao Arduino.

arduino_06

Exemplo dos portões abertos

arduino_07

Na aplicação prática que apresentamos a seguir, pode ver-se o uso de um módulo RN-XV da Roving Networks. Este módulo permite de forma fácil fazer uma comunicação entre o Arduino (via porta serie) e a web (ver video abaixo). Com este módulo é possível efectuar várias configurações de forma a ter o tipo de comunicação desejada.

Na presente aplicação usamos a mais simples que passamos a descrever.

Inicialmente começamos por ligar o modulo à rede Wireless que temos disponível. Também neste ponto existe várias formas de o fazer de acordo com o tipo de autenticação de que dispomos.

Ora vejamos como fazemos:

Usamos a aplicação Teraterm disponibilizada pelo fabricante, onde fazemos as configurações tal como se mostra na figura, selecionando a porta série em causa:

arduino_01

Vamos indicar qual a rede a que nos pretendemos ligar no nosso caso á “Magickey”.

Para entrar em modo de comando usamos o seguinte comando:

$$$

A resposta é a seguinte:

CMD

Agora vamos introduzir o comando que indica a rede a ligar:

set wlan ssid Magickey

O modulo responde com:

AOK

Visto que nossa rede tem autenticação vamos inserir a senha:

set wlan pass xxxxx

O modulo responde com :

AOK

arduino_02

Fazemos os comandos save e reboot para que a informação fique guardada nas configurações e para que o modulo re-inicie com estas novas configurações.

Logo após o reboot poderemos verificar o endereço IP atribuído pelo nosso AP ao modulo, e o porto onde este se encontra a escuta:

 

arduino_03

No Arduino só temos que fazer um “programinha” muito simples tal como se mostra  abaixo:

char buffer = '0';
int contador=0;
int contaum =0;
int estado = 0;
void setup() {
Serial.begin(9600);
Serial1.begin(9600);
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
}
 
void loop() {
if (Serial1.available())
{
buffer = Serial1.read();
Serial.write(buffer);
if(buffer==49)
estado++;
else if(buffer==50)
estado--;
else
estado=0;
 
if (estado>2)
{
digitalWrite(7, HIGH);
digitalWrite(6, LOW);
delay(2000);
}
else
digitalWrite(7, LOW);
 
if (estado<-2) br=""><!---2)--> {
digitalWrite(6, HIGH);
digitalWrite(7, LOW);
delay(2000);
}
else
digitalWrite(6, LOW);
}
 
}

No Android criamos apenas um app muito simples com 3 botões, onde se estabelece uma ligação TCP ao módulo, para envio dos dados de acordo com o protocolo definido e presente no código do Arduino.

O resultado foi o seguinte:

Este é um dos muitos exemplo do que se pode fazer com um simples Arduino e um Android. A programação é relativamente simples e o resultado pode surpreender.

Gostaram deste exemplo de aplicação?




  •   
  •   
  •  
  • Pin It  
  • Imprima este artigo
  • Post2PDF


42 Comentários

  1. Está bem fixe. Agora era arranjar maneira de poder fazer isto com um portão a sério e toca a vender.

  2. Boas. Que motores utilizaram para mover o portão?

  3. Pure Awsomeness!!

  4. Que maravilha!! ;)

  5. Isso nao são drives de cd’s?

    • sim, são drives de CD’s mas se repararem bem na electrónica que é mostrada na parte final do vídeo, existem dois reles ligados pelo que para usar num portão a séria, basta apenas utilizar a tensão de trabalho do portão e ligar aos seus terminais.

  6. Eu ja fiz isso no portão cá de casa. Liguei um comando ao arduino com um transistor e liguei o arduino a um modulo bluetooth, o programa no android manda mensagem por bluetooth e o portao abre.
    Até ja fiz mais, liguei um recetor 433MHz ao arduino, liguei tambem um modulo bluetooth, fiz um programita para o arduino e outro para o android, e agora consigo fazer copias de comandos à distancia.

  7. Es o maior ó Ricardo Pontes! Coloca aqui mais informação sobre o teu programa, se possivel umas fotos e esquemas. Para nós vermos essa mega aplicação!

  8. com esse programa teraterm podemos enviar comandos serial por tcp/ip para o pc onde o arduino está ligado? é isto ou eu percebi mal?

  9. Motores dc de impressora?

  10. A desvantagem deste sistema é precisar de internet no android, o sistema q o meu pai fez pode abrir o portão em qq lugar do mundo sem Internet, apenas precisa de um telemóvel.
    ele utilizou a tensão do altifalante quando este toca e que o faz activar um relé e abre o portão.(não percebo de electrónica mas a base é esta).
    assim sempre q quero abrir o portão dou um toque e voilá
    vantagens:
    -não preciso de ter um comando em cada carro
    -tem grande alcance
    desvantagens:
    -fazer uma chamada ou enviar uma sms de 6 em 6 meses
    – receber chamadas indevidas ou sms das operadoras q fazem abrir o portão (pode ser resolvido com telemóveis android e aplicações.

    para alem deste sistema tenho tb o que me faz o reset do repetidor wireless, este tb com um telemóvel sempre que o repetidor crasha faço um telefonema e ele desliga e liga.

    • | – receber chamadas indevidas ou sms das operadoras q fazem abrir o portão (pode ser resolvido com telemóveis android e aplicações.

      LOL

    • Um telemóvel barato que dê para associar toques a certos números já dava para fazer isso. Com o vibrar por exemplo.
      Receber chamadas indevidas ou sms das operadoras, não é nada novo pode ser feito com muitos modelos antigos tb como em symbian, windows mobile e muitos modelos que desconhecemos…

  11. Excelente tópico.

    Espero que se sigam mais :D

  12. Boa noite,

    eu tneho um por~tão electrico comandado por um comando.

    Consigo meter aquilo a abrir com android?

    obrigado

  13. Cá em casa, temos um kit mão slivres ligado ao portão, sempre que se liga para o telemóvel do portão ele abre ou fecha, depende .

    Se estiver aberto, ao ligar ele fecha .

    Se estiver fechado, ao ligar ele abre .

    Funciona por impulsos, foi uma ideia do meu pai que ganhou sucesso pois acabou os comandos ;)

    Só é preciso um telemovel, o kit maos livre e um portão electrico :D

  14. Boa noite, caso queiram implementar um conjunto com o Arduino e GSM, telemovel sem ser necessário um plano de dados.

    Basta para isso este material:

    Um Arduino Uno,Mega etc..
    3 resistencias
    2 condensadores ceramicos
    1 cristal e quartz
    1 CI MT8870DE ou um equivalente da Holtek
    1 Telemovel de preferencia sempre ligado a corrente
    1 Cartao Sim de qualquer Operadora Livre.

    O funcionamento do firmware do arduino que poderei facultar baseia-se no funcionamento via DTMF com PIN.

    Ou seja a pessoa que quizer abrir o portao ca em Portugal, mesmo que essa pessoa esteja na china.

    Basta fazer uma chamada para o telemovel que esta ligado ao arduino, ao fazer a chamada, marcar um PIN e de seguida uma tecla..

    Exemplo:

    PIN mais tecla 1 abre o portao.
    PIN mais tecla 2 liga a luz do jardim
    PIN mais tecla 3 liga uma elecrovalvula para regar o jardim
    Pin mais tecla 4 liga o doseador para a comida do cao.
    Pin mais IMAGINACAO.. ligam e desligam o que quiserem, a tecla que ligam e a mesma que usam para desligar.

    Com isto, nao existe o problema de chamadas indevidas, pois para dar ordem ao arduino e preciso um PIN e esse so a pessoa sabe.

    2 Alternativa..
    Aqui necessario internet movel ou fixa.. baseia se numa forma simples usando um ethernet shield, aqui existem possibilidade de sabermos o estado ON OFF de forma visual.

    PS: Para quem tem portoes de garagem e queira abrir o portao sem a necessidade de clicar no botaozinho….
    E se querem ter alguma classe chamada paneleirice.. sempre poderao ligar em paralelo um segundo comando, aos maximos do carro… ou seja vêm das compras, ao chegar proximo do portao… fazem sinal de luzes,por sua vez o fio da manete vai estar interligado com o botao do comando que vai accionar a parte electronica do portao, fazendo com que este abra…

    Enfim… so coisas que com pouco dinheiro…se fazem grandes luxos.

    Tenho dito…

  15. Eu não acho interessante usar um pc como intermediário.
    Criar um módulo microcontrolado com acesso à internet com tcp/ip embarcado é muito mais viável…

  16. bom dia…
    será que podem por todo o tutorial de como fazer desde a montagem ate ao produto final?e por tambem o codigo da app pra o tlm…
    obg

    • Seria excelente.
      Sou formador numa escola profissional, e gostaria de implementar esta brincadeira com os alunos do clube de informática.

      Será por certo um projeto muita cativante e a apelar a imaginação dos alunos.

      Quem me puder auxiliar, agradeço.
      Obg

  17. bem , qero fazer esse trabalho gostava de saber o material que necessitaram para o fazer ? pode me dizer?

  18. Galera e bem simples.. primeiro vcs vao precizar de micro controlador facil de prog.. ex: atmega328“arduino“ .. um modulo bluetooth , um rele pode ser de 5v msmo.. um controle do portao e um app bem simples como o s2 bluetooth encontrado no plystore..“ eu particularmente optei por fazer eu mesmo meu pequeno app no appiventor, é bem simples.
    vc vai ligar o modo bluetooth no arduino “ bem simples “ , e tbem o rele “ esquema simples tem na net..“ e a saida do rele. vc vai retirar o botao contrle … e ligar os fios do rele… assim toda vez que o bluetooth receber o comando do seu app ele vai fechar o rele . seria a mesma coisa que vc estivesse em casa apertando o botao..
    vantagens : baixo custo .. facil instalaçao. “ nao preciza modificar em nada o circuito do seu portao … facil manutençao… etc…
    desvantagem: pouco alcançe… mas isso pode amenizado pk vc pode uzar o proprio pora como antena … como é meu caso.. eu consegui ate 50m..
    estou à disposição……

  19. Galera fiz o tutorial inteiro, mas quando fui rodar o programa no arduino, esta dando erro na linha Serial1.begin(9600);
    alguem sabe o que esta de errado ?

  20. Ola….ahhh meio que perdida aqui….sou estudante de Engenharia e ahhh… Luciano creio que vc digitou Serial1.begin(9600); o correto seria Serial.begin(9600);
    Bom cou testar pra ver se consigo fazer….qualquer coisa retornarei aqui para pedir ajuda!!! (;
    att,
    Anne Morata

  21. Tem como passar o código da parte do Android?

    Que distância consigo alcançar com o módulo wi-fi?

    Obrigado!

  22. Gostaria de receber o codigo desse portao para emprementar no nosso projeto de automacao residencial com arduino que estamos fazendo no curso tecnico de informatica .. se puder me enviar por email estarei grato.

  23. Sketch Arduino WiFi for Wifly modem configuration without library and
    with front-end: https://dl.dropboxusercontent.com/u/101922388/WiflySanUSB.zip

Deixe o seu comentário

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. O autor deste site reserva-se, desde já, o direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.