Automação Residencial com Arduino: acenda lâmpadas pela internet 322

Apresentamos neste post um projeto de automação residencial com Arduino, permitindo o controle de relés pela rede local ou até mesmo pela internet. Com ele, você pode controlar lâmpadas, eletrodomésticos ou outros equipamentos eletrônicos por meio de uma página web.

Para testes montamos um circuito com um módulo relé de 2 canais 5V e 2 lâmpadas ligadas à rede elétrica de 220 V. A página web está hospedada no site da FILIPEFLOP e você pode alterar o código para incluir mais funções, mudar o layout da página ou até mesmo implementar alguma solução de segurança com senha, por exemplo.

Circuito automação residencial

No nosso circuito vamos utilizar o material abaixo, que você encontra no Kit Automação Residencial com Arduino, disponível na loja FILIPEFLOP:

Kit Automação Residencial Arduino

O controle do módulo relé será feito pelas portas digitais 3 e 4 do Arduino, e a alimentação do módulo é feita pelo pino 5V. No circuito abaixo, utilizamos 2 lâmpadas ligadas à rede elétrica de 220V, portanto tome cuidado na hora de efetuar esse tipo de ligação, desligando o quadro geral de energia ou os disjuntores correspondentes ao circuito elétrico que você está utilizando.

Circuito Arduino - Ethernet Shield - Lampadas

Após a montagem do circuito, ligue o Ethernet Shield ao seu roteador utilizando um cabo de rede com conector RJ45.

Automação residencial com Arduino

Programa Automação Residencial com Arduino

A programação do Arduino utiliza a biblioteca Ethernet que já vem embutida na IDE do Arduino. Com ela, vamos criar um Web Server que vai receber as informações pela rede e acionar as portas  3 (relé 1) e 4 (relé 2).

No início do programa, altere as configurações de IP, default gateway e máscara de rede (linhas 15, 16 e 17) para que estejam adequadas à sua rede. O programa aguarda pela conexão do cliente (browser), e em seguida monta a página web com informações dos arquivos automacao_residencial.css e automacao_residencial.js, hospedados no servidor da FILIPEFLOP.

Testes Ethernet Shield e Acesso página Web

Antes de acessar a página, verifique se o IP que você configurou no programa está respondendo adequadamente. Para isso, utilize o comando “ping” na janela de comando:

Teste ping

Se tudo estiver ok, acesse um browser (Chrome, Firefox, etc) colocando na barra de endereços o IP que você configurou no programa. No nosso caso, o IP 192.168.0.110:

Automação Residencial - Browser

Essa é apenas uma sugestão de uso, e você pode usar o mesmo circuito para ligar outros aparelhos eletrônicos, respeitando as especificações máximas de tensão e corrente dos relés.

Gostou ? Ajude-nos a melhorar o blog atribuindo uma nota a este tutorial (estrelas no final do artigo), comente e visite nossa loja FILIPEFLOP!

Posts Relacionados

322 Comentários

  1. Excelente tópico! Porque não fazem também com Raspberry + PHP via “socket???”

  2. Show! Tenho que adquirir um ethernet shield, para brincar também..

  3. Muito bacana, poderia,fazer um usando esp8266 também.

    1. Boa tarde Jeoman,

      Legal, fica como sugestão para um post futuro.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  4. Parabéns a toda equipe por esse tutorial. Quero dizer que este Blog e também o site de vendas Filipe Flop em estar adquirindo conhecimento, e pela variedade de produtos da área. Desejo que essa equipe continue crescem e que também continue disseminando o conhecimento, dando oportunidade a qualquer pessoa de imaginar e colocar em prática. Parabéns!

    1. Boa tarde Misael!

      Muito obrigado, continue acompanhando o blog e a loja pois sempre temos novidades. 🙂

      Abraço!

      Equipe FILIPEFLOP

  5. Boa noite,
    Este poste ajudou muito mas eu já sei o IP da rede, mas como é que “descubro” o mac adress. Sendo que tb posso “inventar” como é que isso funciona?

    1. Boa tarde,

      O Mac Address é você mesmo que define. Basicamente você pode “inventar” um sim.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  6. Gostaria de saber se poderia simplesmente trocar as informações do Ethernet Shield W5100 Pelas Informações do ESP8266 no caso essas duas:

    #include
    #include
    String readString;

    //Informacoes de endereco IP, gateway, mascara de rede
    byte mac[] = { 0xA4, 0x28, 0x72, 0xCA, 0x55, 0x2F };
    byte ip[] = { 192, 168, 0, 110 };
    byte gateway[] = { 192, 168, 0, 1 };
    byte subnet[] = { 255, 255, 255, 0 };

    Funcionaria ?

  7. Boa tarde, gostaria de saber como faço para posicionar os botoes a onde eu quiser sem ser pelo CSS?
    Por meio de tag no client.println()

  8. Fantástico tópico! É extremamente útil!
    Posso sugerir um tópico acerca de controlar um motor de HDD (brushless DC motor) com arduino?!
    É algo complexo e que poderá ter ser bastante útil para diversos projectos.

    Muito obrigado.
    Charles

  9. boa tarde,
    onde posso ver o código da página web, para o poder alterar?

    1. Boa tarde,

      Coloque diretamente no browser o endereço dos arquivos CCS e JS:

      http://img.filipeflop.com/files/download/automacao/automacao_residencial.js
      http://img.filipeflop.com/files/download/automacao/automacao_residencial.css

      Abraço.

      Adilson – Equipe FILIPEFLOP

  10. excelente matéria, estava quebrando a cabeça tentando ligar pela web com esse código deu certo, só consegui depois que troquei alimentação de 6v para 12v, porem quando ligo os dois reles ao mesmo tempo ele trava, nem pelo reset consigo restabelecer o sistema, preciso desligar da tomada e religar, se eu ligar e desligar um rele de cada vez funciona beleza, mas simultaneamente não não funcionou. os rele não estão conectados a nada ainda, esta apenas em teste. a fonte que estou utilizando é de (50/60hz 0.5A – OUTPUT 12. OV 1.0A).
    O problema pode ser a amperagem baixa?
    Ligando uns 10 reles é melhor eu colocar uma fonte exclusiva para eles?

    1. Meu teste inicial foram apenas com dois reles

  11. Cara vc tem algo sobre criptografia na comunicação entre celular android com a placa bluetooth ou arduino .?

  12. Como você fez a página web?? Qual linguagem ?

    1. Bom dia Dayanna,

      CSS e Javascript.

      Abraço!

      Adilson – Equipe FILIPEFLOP

    2. Preste bem atenção que este HTML faz leitura com a internet. Isso significa que se o arduino não acessar a internet, a página não fica desta forma.

  13. Bom Dia.

    Estou tentando fazer um programa como este, porem colocando a pagina no SD da placa Ethernet Shield.
    Alguem teria um exemplo de como ficaria a logica no Arduino?
    Até agora consigo abrir a pagina do SD, mas não consigo receber os parametros pelo URL.

    1. Vc conhece um pouco do protocolo HTTP? Use GET ou POST para enviar os comandos. Se você já acessa a pagina, então basta fazer com que seu web server receba as variáveis por GET ou por POST e execute as ações no hardware…

    2. É possível controlar utilizando o Guardião Cloud, olha esse link abaixo:

      http://docs.guardiaocloud.com.br/pt-br/http/#atuadores

      1. Como eu uso esse guardiao, poderia me explicar?
        obrigado!

  14. Parabéns!
    Esse sistema permite que o interruptor convencional continue funcionando? Se não, como fazer para que, caso eu queira, eu possa ligar e desligar a luz usando o interruptor convencional e não o celular?

    Obrigado!

    1. Boa tarde Marcelo,

      Obrigado. Funciona sim. Você pode ligar em paralelo com o interruptor que você já tem.

      Abraço!

      Adilson – Equipe FILIPEFLOP

    2. Caro Marcelo,

      Com certeza é possível sim, desde que você utilize um interruptor three way e, conecte a interface a relé como se fosse uma conexão three way com o relé.

      Cordialmente,
      William Guterres

  15. Tenho um codigo para ligar pelo controle remoto o rele. Como faço para junta-lo a esse código?

  16. Boa tarde, para controle de circuitos 220v bifasicos é interessante que se utilize um controle que seja capaz de interromper as duas fases ao mesmo tempo, assim, evitam-se possíveis choques ao se trocar uma lâmpada ou algo do tipo.

  17. olá!! Primeiramente parabéns pelo tópico!! excelente!!! Eu tenho uma dúvida: recentemente fiz um projeto semelhante a esse, para controlar nove reles, através de um aplicativo android que eu criei… mas tive um problema.. eu só consigo ter o controle dos relés se eu estiver conectado diretamente à minha rede, se eu tentar acessar de uma rede externa, por exemplo 3G nao consigo ter acesso…
    como eu faria para ter acesso através de outra rede?
    O desse post também é assim?

    1. Oi Kleber,

      O desse post também é assim, até que você libere a porta 80 no seu roteador para acesso externo.

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Bom dia, estou começando a montar um projeto como este, mais eu queria que ele funcionasse externo também, pode me explicar como faço isso ?

    2. O Guardião é uma solução que consegue fazer isso…dá uma olhada no link abaixo…

      http://docs.guardiaocloud.com.br/pt-br/http/#atuadores

      1. Ola, li o post do guardião, mas nao entendi, teria uma explicação de como utilizar?
        Obrigado.

  18. boa tarde amigo, eu queria saber se existe algum programa para fazer o desginer da pagina? se tem tem como vc mandar pra mim o nome. agradeço dês de já.

  19. Mas só dá pra acessar via rede local. Mesmo liberando a porta do roteador, para acessar o arduíno teria que ter um ip fixo, para acessar de fora. Não entendi como acessar sem ser via rede local.

    1. Creio que terá que criar o DDNS no roteador.

  20. tem como postar o código HTML? e parabéns pela explicação, Blog mais top que encontrei!

    Parabéns, Abraços

    1. Boa tarde Silas,

      Você pode pegar o código Css e Javascript diretamente nesses endereços:

      http://img.filipeflop.com/files/download/automacao/automacao_residencial.css
      http://img.filipeflop.com/files/download/automacao/automacao_residencial.js

      Abraço e obrigado!

      Adilson – Equipe FILIPEFLOP

  21. QUANDO LIGO A LAMPADA NO RELE .,A INTERNET CAI. DEPOIS DE ALGUNS ACIONAMENTOS..ALGUEM SABE INDENTIFICAR O PROBLEMA..

  22. Bom dia…..ótimo site….de parabéns….

    1. Boa tarde Fabio,

      Muito obrigado. Abraço! 🙂

      Adilson – Equipe FILIPEFLOP

  23. Primeiramente parabéns pelo pelo tópico!!!
    Mas caso seja possível, gostaria de saber como ficaria o Sketch se eu quisesse que ao clicar no botão ele ativaria o rele e esperaria num delay de 2 segundos e depois desativa?
    Podem me ajudar com esta duvida?

  24. Cheguei uma parte que preciso substituir um delay. Pois a programaçao toda para durante esse intervalo. Como faço ?

  25. Muito bom tópico daria para fazer mais botão e colocar nomes ligar lâmpada da sala ou quarto desde já agradeço

  26. Só gostaria de acessar externamente, como faço?

  27. boa tarde gostaria de saber se é possível fazer esse tipo de acesso com o modulo ethernet ENC28J60 da mesma forma que foi feito com o ethernet shiel

    1. Bom dia Dayvison,

      É possível sim, a programação é praticamente a mesma.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  28. Oi, irei comprar os teus produtos para experimentar este projeto, mas caso eu queira fazer com mais de dois relés, como eu faço para aumentar a quantidade destes na pagina da web?

  29. Olá, gostaria de saber se é facil de adaptar esse projeto para o shield de Wi-Fi?

    1. Bom dia Wellington,

      Não digo que é “fácil”, mas é possível adaptar sim. 🙂

      Abraço!

      Adilson – Equipe FILIPEFLOP

  30. Consegui adaptar para o ESP8266 01 e funcionou perfeito 😀

    1. Ola amigo. Vc tem o codigo ai pra utilizar o Esp8266?. Vou utilizar modulo rele 4 vias. Grato.

    2. poderia postar o codigo pois estou tentando mais tá complicado.

  31. Muito bom! Sou iniciante em Arduíno e queria saber – e como – adaptar esse mesmo projeto para em um relê acionar uma lâmpada e em outro acionar um servo motor – para destravar uma porta ou algo do gênero. Se você puder me ajudar, fico agradecido!

    1. Boa tarde Lucas,

      Não temos nenhum exemplo pronto exatamente com o que você precisa, mas você pode utilizar o post de Automação Residencial juntamente com este, de controle do servo motor: http://blog.filipeflop.com/motores-e-servos/micro-servo-motor-9g-sg90-com-arduino-uno.html

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Ola.

        Gostaria de saber quais pinos a plaquinha Arduíno Ethernet Shield W5100 utliza no Arduíno?
        Quero criar um projetinho para a universidade e preciso da plaquinha Ethernet (ja comprei na loja) um driver para motor cc (L298n) um servo motor, um lcd, 3 botoes para acionar e controlar a velocidade do motor e uns 4 sensores .
        Ja notei que o Arduíno uno não vai dar conta mas o mega deve dar todavia não sei quais pinos a placa Ethernet usa (quero evitar dores de cabeça).

        LINDOLFO SILVEIRA KEMMERICH
        1. Bom dia,

          A placa usa os pinos 4 (cartão SD), 10 (Select) e 11, 12 e 13 (interface SPI).

          Abraço.

          Adilson – Equipe FILIPEFLOP

  32. Boa noite,

    Achei super legal o tutorial !!

    … é possivel adaptar usando simplesmente LEDS ( pra uma questao de teste) ?

    Obrigado!!

  33. Boa tarde.

    Instalei um interruptor paralelo nesse projeto e funcionou tudo ok, porem como eu faço para acionar pelo interruptor a lampada e pela pagina da internet eu ver que a lampada está acionada e ela ficar no modo ligado?

    Assim qnd eu entrar pela pagina da internet e ver que lampada está ligada eu posso clicar no botao da pagina e desligar ela.

    obrigado

      1. Boa tarde.

        Esse medidor de corrente pode sobrecarregar meu arduino ? caso eu tenho instalado varias lampadas ( exemplo 10 lampadas ).

        Para diminuir o carregamento do arduino eu posso usar o cartao de memoria no meu ethernet para deixar a memoria do arduino mais leve ?

        A única maneira de se fazer isso é com medidor de corrente ?

        Obrigado.

  34. Gostaria de saber se é possível fazer o projeto sem ser acessado pela internet e sim por aplicativo Android. Você tem algum exemplo?

    1. Amigo vc pode fazer uma automação como esta usando um módulo Bluetooth Hc-05 ou Hc-06 e um aplicativo para Androide.

      1. Carlos, voce tem algum projeto como esse com bluetooth que eu possa usar como exemplo?

      2. Ola, tente o MIT App Inventor2, faz uma pesquisa no YouTube, tem muita coisa.

  35. Muito bom o tópico sou novo e estou apreendendo a mexer com o arduino não tem como fazer um video de como você fez os codigos CSS e Javascript.
    Quero muito apreender a fazer esses botões personalizados

  36. Olá amigo vi o teu video e fiquei curioso em fazer mais estou com dificuldade com a configuração, sou iniciante não sei programar podes por favor me explicar como funciona espero ouvir de te.
    Obrigado

  37. como eu coloco o arduino para acessar a pagina html que eu criei?

  38. Olá pessoal,

    Conecto na internet com MODEM Thomson TG508 IP 192.168.1.1 ligado a um HUB;

    Porta 8080 aberta para o IP 192.168.1.11 e Configuração do serviço de DNS dinâmico do no-ip.com;

    Do HUB sai o cabo para a porta WAN do ROTEADOR D-Link – DI-524 IP 192.168.0.1;

    É possível usar um ROTEADOR Asus – RT-N10+ como REPETIDOR do D-Link e ter como GATEWAY o mesmo IP do MODEM (192.168.1.1)?

    Preciso ligar o ARDUINO no repetidor, mas, ele só funciona ligando diretamente no HUB.

    No ARDUINO as configurações estão assim:
    IP = 192, 168, 1, 11
    Subnet = 255, 255, 255, 0
    Gateway = 192, 168, 1, 1

    Alguém poderia dar uma dica do que deveria ser feito?

  39. EXISTE A POSSIBILIDADE DE COLOCAR OS ARQUIVOS DA PAGINA HTML (JAVASCRIPT E O CSS) NO PROPRIO CARTÃO SD DO MODULO ETHERNET ??? COMO FAZ ISSO ??? TEM COMO ELE FICAR COMO UM PENDRIVE ???

    1. Bom dia,

      É possível sim, essa página pode te ajudar: https://startingelectronics.org/tutorials/arduino/ethernet-shield-web-server-tutorial/SD-card-web-server/

      Abraço!

      Adilson – Equipe FILIPEFLOP

  40. Olá, existe algum módulo de acionamento de lâmpada remoto, ou seja, que não precisa do envio do sinal via cabo entre as placas? Pois desta forma como mostrada não fica muito viável para aplicações residenciais ao meu ver. Obrigado.

    1. tente o módulo wifi para arduino.

  41. Olá,

    Os tutoriais são ótimos, vocês estão de parabéns!
    Gostaria de saber se há algum exemplo da mesma conexão, porém ao invés de troca de dados com uma “página web”, a troca de dados fossem para um app Android.

    Abraço!

    1. Tente o MIT App Inventor2 , facil de usar.

  42. Boa Noite Felipe
    Parabéns pelo post gostaria de saber se neste post tem como colocar mais botão para usar com Arduino

    1. Bom dia Carlos,

      Tem sim, mas você vai precisar alterar a programação tanto do Arduino como da(s) página(s).

      Abraço

      Adilson – Equipe FILIPEFLOP

  43. o que a mim me está a dar a volta à cabeça é unicamente como mudo o logotipo da página por outro? ajudem por favor.

    1. A parte para alterar o logo é essa:
      client.println(“”);

      e só alterar o endereço em que a img se encontra em src=”.

      1. Altere o src=” da linha 105

  44. Você esta acessando na rede local certo? como eu acessaria esta pagina via web, ou seja, conectado em outra rede diferente da que está ligada o Arduino.

  45. Estou com problemas para acessar a página html, lembrando que estou começando agora a utilizar arduino. Como faço o acesso a essa página html?

    Outra dúvida que eu tenho é que preciso apresentar um projeto na faculdade, estava em dúvidas se eu uso a shield ethernet, pois a rede da faculdade é meio complicada de acessar, então teria que levar um roteador e tudo mais, outra alternativa seria eu utilizar o módulo wifi que tem na loja virtual e rotear a internet do celular, assim eliminando o roteador, qual seria a melhor opção? Pra quem ta começando qual seria a opção mais tranquila de se trabalhar?

    1. Bom dia Wagner,

      A que tipo de acesso você se refere ? Não carrega ?

      Quanto ao roteador, se você está procurando a opção mais tranquila para trabalhar, eu recomendo que você faça os testes com o roteador e leve tudo pronto para a faculdade, assim você não fica dependente de internet de celular, restrições de acesso, etc.

      Abraço.

      Adilson – Equipe FILIPEFLOP

      1. Isso não carrega.

        Não tenho muita familiaridade com roteadores, sei que tem muita coisa na internet que posso pesquisar.

        Em relação a Shield Ethernet e o módulo Wi-Fi qual dos dois você me indicaria pra trabalhar? Qual é o mais simples de fazer a configuração?

        1. Ola e muito mais facil usar o roteador. Usei o roteador wifi da gvt e nao mudei nada nele so ajustei ip mascara de subrede e gatway no codigo do arduino liguei o cabo e pronto funcionou de primeira. A unica coisa que precisa fazer e tomar cuidado com a escolha do ip para evitar conflito na rede.

  46. como eu acessaria esta pagina via web, ou seja, conectado em outra rede diferente da que está ligada o Arduino, utilizando a internet ? Como seria esta configuração ?

    1. Bom dia,

      Nesse caso, você precisa acessar as configurações do roteador e liberar a porta 80 para acesso externo, redirecionando para um IP interno. Essa configuração varia de roteador pra roteador.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  47. Parabéns!

    Eu copiei código e só alterei o IP e Gateway, pois a mascara é a mesma. Mesmo assim eu não consigo pingar. Estou achando que o problema esta no meu W5100, o que acha?

    1. Ola.

      Qual range de ip você esta usando ? o mesmo do exemplo citado ? seu roteador também libera ips no mesmo range ? se você por exemplo tiver configurado IP no Arduino 192.168.0.110 mascara 255.255.255.0 e gatway 192.168.0.1 e seu roteador estiver configurado para outro range por exemplo 192.168.1.110 … ja vai dar problema voce nao conseguira pingar por que o range e outro isto é você estará tentando acessar outra rede por assim dizer.

      Outra hipotenso e você ter configurado um ip no Arduino que ja esta sendo utilizado na rede (conflito de ip).

      E finalmente voce infelizmente esta com problema da shild ethernet 🙁

      SDS

  48. Mano, você podia colocar essa pagina que você usou pronta para o download, iria nos ajudar bastante…

    Meu Kit chegou hoje..

    Ancioso para testar

  49. Bom dia,

    Gostaria de saber se necessariamente preciso ligar em 220v? Se é possível ligar em 110?

    1. Bom dia Jonas,

      Pode ser ligado em 110 ou 220.

      Abraço!

      Adilson – Equipe FILIEFLOP

  50. Boa tarde, Minha duvida é eu comprei um rele de quatro canais com vcs, para fazer esse tipo de projeto que ficou bel legal, só que como faco para incluir dentro dos arquivos css e js; e como fazer o caminho dele dentro da ide do arduino. Sou novato no ramo por favor me ajudem( eu estou pensando assim eu copiei o codigo no notpad++ fiz as alterções e salvei e coloquei o caminho do arquivo na linha onde esta o css eo js mais deu ruim me ajudem como faço isso)

  51. Boa tarde, gostaria de saber como faço para encontrar o MAC Adress da minha placa ethernet ?

    1. Douglas você pode definir!!!
      Eu usei esse do artigo mesmo!

  52. Boa tarde, minha duvida é sobre criar uma página para acesso. Como posso fazer isso, não consegui entender como vc fez?

  53. Oi adorei a explicação e deu tudo certo comigo. Muito obrigado mesmo. consegui o acesso remoto com ddns, redirecionado ao ip do Ethernet Shield W5100. funcionou perfeitamente. Minha dúvida é se seria possível em cada rele desses ao invés de eu colocar vamos supor. em um todos as lampada da residencia e em outro todos os eletronicos? desde já agradeço! E bom trabalho

    1. Boa noite Michell vc pode me passar o procedimento que vc fez , não estou conseguindo fazer
      obg

  54. Estou com problema no meu shield Ethernet, alimentei o Arduíno+shield e os leds PWR e FULLD acendem, conectei o cabo de rede e nada acontece.

    Pesquisei em alguns fóruns e vi que isso pode ser problema do cabo ou do shield.
    Como estou usando o mesmo cabo de rede que uso para conectar à internet, vejo que o problema está no shield.

    Preciso de ajuda.

  55. fiquei confuso nessa parte do código. Não tenho certeza se entendi como funciona e com certeza não entendi para o que serve. Sou iniciante em arduíno.

    if (client.available())
    {
    char c = client.read();
    if (readString.length() < 100) {
    readString += c;

  56. otima interface gostaria muito de usar so que to com dificuldade para aplicar esse tutorial utilizando o dragino

  57. amei o seu blog….que Deus os abençoe muito.

  58. desejo contrar lampadas e variar sua luminosidade…desejo um codigo fonte com arduino please!!!!!

  59. Gostei tudo funcionou perfeitamente.

    1. Obrigado pelo retorno, Odair! 🙂

      Abraço.

      Adilson – Equipe FILIPEFLOP

  60. Boa tarde! Sou novo com o arduino e ainda estou aprendendo a usá-lo, recentemente fiz um projeto de automação com arduino, semelhante ao seu mas preciso modificá-lo.
    Atualmente ele serve apenas para ligar e desligar lâmpadas pela Internet. Fiz um aplicativo para celular em que posso acionar as cargas, e também no mesmo aplicativo é mostrado no botão o status da saída digital do arduino (on/off), desse modo de qualquer localização desde que com acesso à web consigo visualizar se a minha lâmpada está ligada ou desligada… até aí tudo OK, o problema é que eu não quis me desfazer dos interruptores físicos, então quando eu aciono a lâmpada pelo celular, eu consigo visualizar no botão o status “on” mas se eu decido acionar o interruptor físico a lâmpada desliga e o meu botão virtual continua apresentar o estado “on” … obviamente ele não muda.
    O procedimento atual e simples: a saída digital do meu Arduíno aciona um relé com um contato comum, outro NA, e outro NF, então fiz uma ligação paralela (three way) com outro interruptor, dessa forma tenho o controle tanto virtual quanto físico da carga.
    Já sei que vou ter que substituir meus interruptores por pulsadores e então criar entradas digitais no meu novo código, o problema é que não estou conseguindo criar um código que “setem” as minhas saídas tanto pelas entradas digitais quanto pelo botão virtual.
    Também gostaria de ver como configurar entradas digitais para leitura de sensores (sensor de nível por exemplo) pois gostaria de colocar alguns sensores de nível em um reservatório de água e assim monitorar via internet o nível de água no reservatório… a minha ideia é fazer o desenho de uma caixa d’água, e nesse desenho o nível de água sobe ou desce conforme a atuação dos sensores no reservatório…
    desde já agradeço! parabéns pelo post, ficou muito bom!

    Abaixo está um exemplo do código que o Arduíno está usando atualmente. Está com duas saídas e duas entradas para não ficar muito extenso:
    As saídas digitais estão definidas como “Led”

    #include
    #include
    #include

    byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x9B, 0x36 };
    byte ip[] = { 192, 168, 2, 202 };
    EthernetServer server(8095);

    #define Led1 1
    #define Led2 2

    #define BI14 14
    #define BI15 15

    String readString = String(30);

    String statusLed;

    void setup() {
    Ethernet.begin(mac, ip);
    pinMode(Led1, OUTPUT);
    pinMode(Led2, OUTPUT);

    pinMode(BI14,INPUT_PULLUP);
    pinMode(BI15,INPUT_PULLUP);

    digitalWrite(Led1,LOW);
    digitalWrite(Led2,LOW);

    }

    void loop() {
    EthernetClient client = server.available();

    if(client)
    {
    while(client.connected())
    {
    if(client.available())
    {
    char c = client.read();

    if(readString.length() 0) {
    digitalWrite(Led1, !digitalRead(Led1));

    }

    if(readString.indexOf(“led2”) > 0) {
    digitalWrite(Led2, !digitalRead(Led2));
    }

    // cabeçalho http padrão
    client.println(“HTTP/1.1 200 OK”);
    client.println(“Content-Type: text/html”);
    client.println();

    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“My home”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);

    client.println(“Cleber”);
    client.println(” “);
    client.println(“James”);

    if(digitalRead(Led1)) {
    statusLed = “Ligado”;
    } else {
    statusLed = “Desligado”;
    }
    client.println(“”);
    client.println(“Alarme – “+statusLed+” “);
    client.println(” “);

    if(digitalRead(Led2)) {
    statusLed = “Ligada”;
    } else {
    statusLed = “Desligada”;
    }
    client.println(“”);
    client.println(“Sala – “+statusLed+” “);
    client.println(” “);

    client.println(“”);
    client.println(“”);
    client.println(“”);

    readString = “”;

    client.stop();
    }
    }
    }
    }
    }

  61. esse é o codigo correto:

    #include
    #include
    #include

    byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x9B, 0x36 };
    byte ip[] = { 192, 168, 2, 202 };
    EthernetServer server(8085);

    #define Led1 1
    #define Led2 2

    #define BI14 14
    #define BI15 15

    String readString = String(30);

    String statusLed;

    void setup() {
    Ethernet.begin(mac, ip);
    pinMode(Led1, OUTPUT);
    pinMode(Led2, OUTPUT);

    pinMode(BI14,INPUT_PULLUP);
    pinMode(BI15,INPUT_PULLUP);

    digitalWrite(Led1,LOW);
    digitalWrite(Led2,LOW);

    }

    void loop() {
    EthernetClient client = server.available();

    if(client)
    {
    while(client.connected())
    {
    if(client.available())
    {
    char c = client.read();

    if(readString.length() 0) {
    digitalWrite(Led1, !digitalRead(Led1));

    }

    if(readString.indexOf(“led2”) > 0) {
    digitalWrite(Led2, !digitalRead(Led2));
    }

    // cabeçalho http padrão
    client.println(“HTTP/1.1 200 OK”);
    client.println(“Content-Type: text/html”);
    client.println();

    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“My home”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);

    client.println(“Cleber”);
    client.println(” “);
    client.println(“James”);

    if(digitalRead(Led1)) {
    statusLed = “Ligado”;
    } else {
    statusLed = “Desligado”;
    }
    client.println(“”);
    client.println(“Alarme – “+statusLed+” “);
    client.println(” “);

    if(digitalRead(Led2)) {
    statusLed = “Ligada”;
    } else {
    statusLed = “Desligada”;
    }
    client.println(“”);
    client.println(“Sala – “+statusLed+” “);
    client.println(” “);

    client.println(“”);
    client.println(“”);
    client.println(“”);

    readString = “”;

    client.stop();
    }
    }
    }
    }
    }

  62. Bom dia!
    Parabéns pelo projeto!
    Gostaria de tirar uma dúvida: não entendi muito bem sobre: “A página web está hospedada no site da FILIPEFLOP e você pode alterar o código para incluir mais funções, mudar o layout da página ou até mesmo implementar alguma solução de segurança com senha, por exemplo.” Onde encontro essas informações?

    1. Bom dia Michelle,

      Obrigado. Você pode acessar o código dessas páginas diretamente nos endereços abaixo:

      css: http://img.filipeflop.com/files/download/automacao/automacao_residencial.css
      javascript: http://img.filipeflop.com/files/download/automacao/automacao_residencial.js

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Obrigada! Vou acessar os links…

        1. boa noite Michelle Rezende, gostaria de saber se você modificou o código CSS e Javascript?

          desde já gratp.

      2. Muito obrigado. o projeto ficou otimo, so que ey queria implementar mais botao eu ja fiz a alteração no css no javascript e no codigo do arduino so que como faço para ter um servidor ou se tem uma outra forma de carregar esse arquivos sem servidor tem como vc me ajudar
        tem como vc fazer este mesmo projeto pelo sd card ou postar algym servidor gratuito

        Desde Já, um abraço

        1. Bom dia Diego,

          Um servidor de hospedagem “gratuito” é o 000webhost: https://www.000webhost.com/

          Abraço!

          Adilson – Equipe FILIPEFLOP

          1. Adilson, boa noite,

            Muito obrigado pela atenção e pelo projeto eu consegui resolver. eu primeiro tinha colocado pelo sdcarda pagina ate apareceu mas qdo clicava para ligar ela nao carregava ai eu percebi que era pela boolearna no começo do site que nos códigos dos rele, e tambem no html nessa parte  client.print(ligado); eu nao consegui migra para o codigo so em html para se colocado no sd card poderia me ajudar nessa parte so eu para migra para sdcard pq f icaria mais rapido. Mas eu xonsegui pelo servidor gratuito mas ica um pouco lento

            Um abraço teu projetof icou show eu queria sacar de progamação assim e muito show

            Att Diego Maciel

          2. Boa tarde Diego,

            Obrigado. Vamos estudar a sua sugestão e se possível criar um post com o html hospedado no SDCard. 🙂

            Abraço!

            Adilson – Equipe FILIPEFLOP

            Adilson Thomsen
      3. Boa tarde.
        Pessoal responsável pelo blog, estou recebendo esta mensagem umas 3 vezes por dia, deve ter algum bug.
        Obrigado.

        1. Boa tarde Carlos,

          Qual mensagem ?

          Grato.

          Adilson – Equipe FILIPEFLOP

      4. Essa da Michelle Rezende.
        Ja recebi de novo.

        1. Boa tarde Carlos,

          Entendi. Você deve ter habilitado a opção “avise-me sobre comentários seguintes por email” ao responder a msg (abaixo do botão “enviar comentário”). Veja se consegue desabilitar, por favor.

          Abraço.

          Adilson – Equipe FILIPEFLOP

  63. Como acessar de qualquer lugar, pela Internet.
    Já tentei criar um ip pelo , no-ip, mas meu modem e Motorola da net e nao tem acesso ao ip.
    Teria algum tutorial ja procurei , e segui passo a passo, mas a maioria é para o tlink.
    Obrigado.

    1. Modem motorola é complicado mesmo, se interessar faço o serviço.

  64. Oi, tudo perfeito,porém…
    Não entendo nada de programação web poderia disponibilizar uma página web com 4 botões e se não for pedir muito como acrescentar no sketch, pois tô tentando e fica os números dos botões um em cima do outro.
    Abraço.

  65. É possível usar este código e mudar apenas a páginas html?

    1. Boa tarde Roberto,

      Você terá que apontar o código para as novas páginas que você fizer.

      Abraço.

      Adilson – Equipe FILIPEFLOP

  66. É possível usar todo esse código e apenas mudar a imagem do logo? Daria certo?

  67. Boa noite.
    Poderia me ajudar postei e você não respondeu dia 11 de maio,porém o roberto te perguntou e você respondeu….?

    1. Bom dia Marcelo,

      No seu caso, você pediu um código inteiro, que não temos condições de disponibilizar.

      Adilson – Equipe FILIPEFLOP

      1. Boa noite,
        Não quero um código inteiro,apenas uma luz para acrescentar mais 2 botões no browser…

        1. amigo, leia a sua pergunta.

  68. me ajudou muito!
    tentei colocar mais duas funções de reles, mas não obtive sucesso!
    tens como ajudar?

    abraço

  69. Parabéns pelo exemplo. Consigo pingar o servidor, mas quando vou acessar pelo browser aparece a mensagem “Não é possível acessar esse site
    A conexão com 192.168.1.104 foi recusada.”
    Onde foi que errei?
    Obrigado.

    Amaury Ataide Carneiro
    1. Boa tarde Amaury,

      Você está ligando o ethernet shield ao roteador ou direto no computador ?

      Abraço

      Adilson – Equipe FILIPEFLOP

      1. Boa tarde Adilson.

        Estou ligando direto no roteador.

      2. Adilson. Tenho que desabilitar anti-virus? O meu proxy está liberado.

        1. Bom dia Amaury,

          Você precisa ver o que está bloqueando a porta 80 (ou a porta que você setou no programa). Pode ser o próprio roteador.

          Abraço!

          Adilson – Equipe FILIPEFLOP

  70. ola boa tarde , gostaria de saber se no caso eu quiser usar oito lampadas , como ficaria o programa ???

  71. Boa noite Parabéns pelo tópico ajudou muito só tenho um duvida se puder ajudar agradeço
    Consegui somente pela internet cabeada (speedy) foi tudo certo .Mas na minha casa é internet via radio
    muda alguma coisa? porque não consigo da erro como recusado
    abraços

  72. Eu queria adicionar na pagina web mais botões para poder ligar mais relés como faço isso ?

  73. boa noite para funciona ethernet shield tem que fica sempre conectado roteador

    1. Bom dia Johannes,

      Sim, a conexão via cabo precisa estar sempre ativa.

      Abraço

      Adilson – Equipe FILIPEFLOP

  74. boa noite como faço para aumenta numero de reles

  75. muito bom o post!!
    testei e deu tudo certo, mas estou com uma duvida, como faço para acessar ela pela internet (externo) ?? tentei ir por outro roteador e não foi…

    1. Bom dia Maurício,

      A configuração varia de roteador para roteador, mas você deve criar um servidor virtual, ou uma “regra” no roteador, para direcionar a porta X que você está usando (80, 8080, 8888, etc) para o seu IP interno.

      Por exemplo: direcionar a porta 80 para o IP 192.168.0.25

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. ok, o roteador é da empresa logo pedi ao técnico que comanda essa parte fazer… so mais uma duvida…
        ele disse que fez, mas não estou conseguindo acessar por outra rede, tem alguma forma de eu verificar se estar correto o que ele fez?
        e outra, para acessa-lo pela rede externa eu coloco o ip gravado no arduino com a porta no navegador ou uso o ip externo (que me falaram que tem que usar ele – como usa?? é configurado no arduino esse ip externo?)
        se puder me ajudar ficarei agradecido!
        desde ja agradeço!

        1. Bom dia Maurício,

          Tente fazer o teste da porta 80 neste site: http://www.yougetsignal.com/tools/open-ports/

          Para acesso externo, use o IP externo da sua rede. Você não precisa configurar nada no Arduino, já que o roteador vai fazer o trabalho de direcionar o acesso externo para o IP interno.

          Abraço!

          Adilson – Equipe FILIPEFLOP

          1. ok, obrigado!!
            quando você fala usar o ip externo seria assim : ex: 177.20.255.93:80 com o dois pontos e a porta?

            Mauricio Alves
          2. Boa tarde Maurício,

            Exato, mas fazendo o teste pelo link que te passei, a porta 80 está fechada.

            Abraço.

            Adilson – Equipe FILIPEFLOP

            Adilson Thomsen
      2. Adilson como posso aumentar controle para oito portas ?

      3. Boa tarde,

        Não me consigo ligar ao IP, pode ajudar-me?

        Coloco o IP com o numero seguinte ao que me dá o IPconfig, mas a página não abre e aparece esta mensagem ” Não é possível aceder a esta página” ” certifique-se que colocou o endereço WEB correcto”

  76. Amigo, eu comprei o Raspberry Pi 3 com vocês! Sabe de algum tutorial desse para o raspberry pi 3? Como ele já tem wifi, eu não preciso de nenhum módulo extra.
    Obrigado desde já

  77. A minha shield não está pegando o ip da rede, será que está danificada? como posso saber?

  78. Como eu faço para manter o receptor e quando estiver acessa ou apagada na pagina ja aparecer o status da lampada ? belo post, parabéns.

  79. Boa tarde !!!
    Você tem este código de acionar lâmpadas para o Shield CC3000 Wifi Keyes, aquele que vc postou o exemplo do potenciometro ?

    1. tambem preciso….

  80. boa tarde!!
    é possivel mandar um comando reverso de controle do arduino pela internet, por exemplo ao rodar o codigo ele recebe um valor e se esse valor for menor que 12 por ex. ele manda um comando para o navegador mudando o nome de ligado para desligado e mudando a imagem de acesa para apagada!
    isso é possivel?

  81. bom dia!
    é possível acionar modificar a pagina na internet pelo proprio arduino? ex: o arduino recebe uma variável, se essa variável for menor que 10 ele trava ps botoes na pagina do navegador impedindo que acione por ele a aciona algumas portas. quando essa variável for maior que 12 ele libera os botoes no navegador possibilitando acionar e desligar as portas correspondentes por ele e aciona as portas!
    isso seria possível de fazer?

  82. Olá boa tarde. Acompanho o blog de vocês, nesta mesma programação que vocês deram exemplo a como aplicar a função de Temporizador ( TIMER) nela?

    Igor Fonseca Caires
  83. posso mudar o logotipo da imagem e colocar uma imagem do meu logotipo,onde faço isso.

  84. Olá.
    O Projeto é muito legal, Mas acredito que da forma como foi mostrado no vídeo, o usuário seria obrigado a usar o um Mobile ou PC para controlar as lampadas, e convenhamos, que estou dentro da minha casa e é mais fácil eu meter o dedão no interruptor, do que .procurar o celular, acessar o sistema pra depois desligar (ligar) a lampada.
    Minha ideia é que adicionasse ao circuito um interruptor que permita acender e apagar manualmente as lampadas.
    Imagine que o interruptor force o relé para a posição oposta,
    Algo como
    Rele.status = not ( Rele.status) ;
    Entende ?
    Para acesso remoto a ideia está perfeita, mas se eu estou em casa, quero ter a opção do interruptor.

      1. Assim até faz, só não tem uma interface muito amigável. Meu problema é o seguinte: sei como identificar se o interruptor foi ou não acionado, só não estou conseguindo atualizar o browser do celular quando isso acontece/ Por ex.? liguei a lampada pelo celular e está constando lá ACESSA, agora desliguei pelo interruptor, como fazer o celular informar APAGADA!?!?!?,,,

        1. BOM DIA CARA…
          isso acontece pq um dos códigos internos da pagina em html o código do javascript. só faz alteração entre o próprio botão …
          ex
          se ele esta na forma ligada .. quando você clica nele ele aparece desligada ,,, se estiver desligada quando você clica nele aparece ligada…
          essa é a comunicação feita pela pag…

          RESUMINDO
          este código não foi criado pensando em um interruptor paralelo …

    1. Boa noite é só fazer a ligação com o interruptor paralelo.

  85. Boa noite, para redirecionar meu rodeado coloco os seguintes dados, nome: teste, IP adress: 192.168.0.110, porta externa:3389, porta interna: 3389 ou 80, pode me dizer se o que coloquei esta correto para acessar com o IP externo? Aguardo uma resposta, obrigado desde já

    1. Boa tarde Maicon,

      A ideia é essa sim, apenas se certifique de que a porta que você escolheu está liberada pelo seu provedor de internet. Eu usaria a porta 80 mesmo, é mais garantido.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  86. Quando estou a carregar o programa para o Arduino, aparece esta mensaegm

    Biblioteca inválida encontrada em C:Program Files (x86)ArduinolibrariesUltrasonic-HC-SR04-master: C:Program Files (x86)ArduinolibrariesUltrasonic-HC-SR04-master

  87. Sou meio leigo no assunto ,mas gostaria de saber se existe alguma ferramenta pra editar as cores e dimençoes dos botões !

    1. Programção – CSS
      Neste site tem uma série de links para criar seus botões.
      http://www.devmedia.com.br/css-button-generator-dica/28722

  88. Bom dia, meu roteador não consegue visualizar o ethernet shield, como faço para visualiza-lo no mesmo, será que o ethernet shield que comprei de vocês esta com problema?, na rede interna sem problema funciona, qdo dou um ping no ip interno tb, mas como ele não aparece no roteador não consigo abrir as portas, preciso da sua ajuda.

    1. Boa tarde Maicon,

      Como o ethernet shield está funcionando na rede interna, creio que o problema seja na configuração do seu roteador, nesse caso não prestamos suporte à esse equipamento.

      Grato.

      Adilson – Equipe FILIPEFLOP

  89. Boa tarde gostaria de sabe se tem algum interruptor ou maneira de ligar lampada tanto manualmente modulo enternet

  90. Boa Tarde,

    Senhor Adilson da Equipe FILIPEFLOP estou com dificuldades para acessar Arduino Mega 2560 pela rede Externa ligar lâmpada com relé ligada a Shilder Ethernet W5100.

    Procedimentos realizados:
    1 – Roteador Link-One configurado a DMZ e liberada a porta 80 inclusive Fireware do Windows 7;
    2 – Já criei IP externo no NO-IP com domínio;
    3 – Configurei o domínio NO-IP no roteador com senha e tudo mais;
    4 – testei o ping no cmd ok;
    5 – Consigo acessar página com ip interno do roteador na rede interna não na externa.

    Por gentileza me ajude,
    Agradeço muito sua colaboração.

    Kleyton Campos
    Cliente Filipeflop

    1. Boa tarde Kleyton,

      Neste caso seria realmente um problema de configuração de rede, já que você consegue acessar a página pela rede interna. Peço que verifique essa configuração.

      Abraço.

      Adilson – Equipe FILIPEFLOP

    2. Kleyton , estava com esse mesmo problema!
      Consegui descobrir que se você digitar o IP de entrada de sua rede + a porta especifica ou o endereço NO-IP “teste.ddns.net” por exemplo, no navegador de qualquer PC presente na sua LAN, o servidor não aceita, aparece: “O servidor recusou a conexão”, entretanto se o fizer de outra rede (externa a sua), provavelmente vai funcionar.
      Penso na ideia de um tal de loopback e algumas regras dos provedores de internet, estar interferindo de alguma forma.

      Minha curiosidade é saber o por quê isso está acontecendo, se há uma forma de resolver, pois em um passado não muito remoto, eu conseguia normalmente?
      Se alguém aqui souber e responder, eu agradeço!

  91. Olá! Obrigado pelo excelente tutorial…. Fiz funcionar, porem acho que estou com algum problema de conexão…. Quando acesso a pagina ela demora horrores pra abrir, e ao mudar o estado do rele, tambem esta demornado muito pra executar.

    Se alguem tiver alguma ideia pra resolver isso, agradeço!

    Muito obrigado, abraços.

  92. Bom dia, depois de ler seu blog resolvi comprar um kit aduino para reproduzir o projeto deste post, como iniciante que sou, consegui fazer na base do control C + control V, deu tudo certo, mas agora quero colocar outro rele para ter mais duas portas (quero ligar quatro lampadas em casa), mas nao tenho como alterar o script html hospedado em seu site. Como posso proceder?

  93. Qual fonte você utiliza nesse projeto? Quantos volts e amperagem?
    Posso ligar apenas com uma fonte de celular 5v pelo cabo usb ou vai sobrecarregar ela?

  94. Funcionou perfeitamente.
    Sou iniciante e gostaria da utilizar numa rede sem acesso a internet, pois so conseguir utilizar com o acesso a internet

  95. Muito bom seu projeto, sou iniciante no Arduino, fiz algumas modificações na página só que quando compilo me diz que o arquivo está muito grande, o que eu teria que modificar para iniciar a index pelo cartão SD?

  96. Olá, estou fazendo um projeto para a faculdade o qual controlarei energia de uma tomada. O que nada mais é que trocar os soquetes de lampadas por uma tomada e controlar a energia destinada a esse terminal.
    Minha duvida é, estou usando um Iteaduino ADK ao inves do arduino uno e estou usando um XBeepro s1 para conecxão wi-fi e não um ethernet shield.
    A programação do arduino mudaria muita coisa ou não? E dá para fazer a mesma coisa que você fez com esses componentes??

    Carolina Lourenço dos Santos
    1. Boa tarde Carolina,

      Realmente não conheço o iteaduino ADK, mas uma coisa que vc tem que verificar é o nível de sinal dos pinos, se é de 3.3 ou 5V, antes de ligar no módulo relé. A programação vai mudar um pouco, já que você está usando um módulo wifi, e vai ter que configurar SSID, senha e talvez alguma mudança no envio dos comandos.

      Abraço!

      Adilson – Equipe FILIPEFLOP

      1. Então, eu consegui pegar tudo o que está pedindo neste projeto, mas na hora de eu compilar o projeto e colocar o meu ip no navegador ele dá que a conexão foi recusada com o meu ip e para eu seguir adiante com o meu projeto preciso do .css e do .js para fazer o aplicativo. Você poderia me auxiliar?

  97. Olá pessoal, estou com uma dúvida relacionada ao módulo mb 102, utilize um projeto parecido com esse, mas inclui o módulo de sdcard. Para não sobrecarregar o arduino, tentei usar o módulo mb 102, na qual posso usar 3.3v ou 5v. No multimetro está tudo correto, mas quando utilizo um módulo ligado a ele, por exemplo o sdcard, acende o led da placa, mas não funcionam os recursos. Testei pelo monitor serial e funciona apenas ligado na energia do próprio arduino uno. Alguém sabe me dizer o que pode estar errado?

  98. Olá, eu queria sabe se o Arduino aguentaria uma lampada grande ?

    1. Boa tarde Charles,

      Aguenta sim, basta respeitar os valores máximos de tensão e corrente especificados no relé.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  99. boa tarde !
    comprei tudo relativo a este procedimento … e para ter certeza que estaria tudo certo comprei tudo da loja virtual do filipeflop. porém não tive exito com o meu projeto.
    em primeiro lugar o equipmento Ethernet Shield W5100 veio com uma penagem meio torta,
    mesmo assim com bastante cuidado consegui desintortar ela.
    até ai tudo bem …
    porém quando vou passar o código para o meu arduino ocorre um erro no sketch.
    e outro erro
    avrdude: ser_open():can´t open device “\.COM3”:
    procurei a solução na maioria de sites e não achei nenhuma resposta por favor me ajudem

    utilizei um windows 10- 64bits da acer notebook

    1. verifica se a porta que o Arduíno estar conectado estar corretamente configurada na id.
      verifica também de o tipo de placa também estar configurado certo.
      olha também se copiou o código completo.
      qualquer coisa retida o W5100 do Arduíno e grava o programa só na placa mesmo, não prejudica e vai.
      já mexi com esse projeto e deu tudo certo comigo!

      1. deu certo a gravação porém não consegui subir a pagina;
        percebi quando usei o ipconfig /all que meu gateway padrão tem uma numeração diferente.
        pelo que percebi essa numeração diferente é dada porque os novos moldens vem com configuração de ipv4 e ipv6.
        o getway abaixo.

        Endereço IPv4. . . . . . . . . . . . . . . : 192.168.0.11(Preferencial)
        Máscara de Sub-rede . . . . . . . . . . . . : 255.255.255.0
        Concessão Obtida. . . . . . . . . . . . . . : quarta-feira, 14 de setembro de 2016 19:31:48
        Concessão Expira. . . . . . . . . . . . . . : quarta-feira, 14 de setembro de 2016 21:01:48
        Gateway Padrão. . . . . . . . . . . . . . . : fe80::21d:d5ff:fec4:80e1%7
        192.168.0.1
        Servidor DHCP . . . . . . . . . . . . . . . : 192.168.0.1

        1. verifica se tu mudou o ip, a mascara de Sub-rede e o Gatewey padrão corretamente…
          por via de duvidas faz primeiro esse tutorial para a configuração e teste mais rápido da placa.
          http://blog.filipeflop.com/arduino/tutorial-ethernet-shield-w5100.html
          se não me engano so pra teste não vai precisar do sensor ultra sonico e o button.
          mas pelo próprio tutorial da pra ver as configurações que precisa…

      1. ok ! o blink funciono então acho q o problema não é com o arduino, só que para carregar qualquer código não posso estar com a placa de enthernet conectada
        quando tirei o artuino enthernet w5100 ele carrego o blink..
        acredito que o problema é na placa enthernet w5100;
        porém vou testar amanhã em outra rede com outro computador. se caso não der certo, eu faço o procedimento de troca.
        obrigado

        1. Bom dia Kleber,

          Sem problemas, estamos à disposição.

          Abraço!

          Adilson – Equipe FILIPEFLOP

          1. Fiz todos os testes e percebi que o problema está na placa de w5100 arduino.
            pois sempre que a conecto ao meu arduino não passa o código,
            para enviar o codigo estou tendo que tirar a placa w5100 e só deixar o arduino conectadoao computador, do contraro da problema,
            além disso quando passo o código desse site pro meu arduino e tento fazer o teste, conectando a placa w5100 depois de passar código, a pagina do site estou utilizando em um ip não sobe.
            minha rede estava configurada como ipv6 e percebi que o arduino não consegue trabalhar com esta rede direito a não ser que eu baixe uma biblioteca de a mais, porém resolvi manter o código perfeitamente e alterei nas configurações do meu roteador para o modo ipv4 que no caso, o arduino enthernet w5100 deveria trabalhar perfeitamente mais não trabalha nada, a unica coisa que consigo percebe é que um led vermelho fica aceso.
            estava pensando em mandar trocar apenas a placa de enthernet w5100 mas pensando bem , como eu sou iniciante no assunto posso acabar estar enganado e o problema ser no arduino, ou sei lá . então qro trocar a placa arduino e o enthernet pra ter certeza doque estou falando.
            como posso proceder isso ?
            somente atravez do email? não há um telefone para o contato? desde já agradeço

          2. Boa tarde Kleber,

            O problema é no Ethernet Shield mesmo. Favor entrar em contato por email para os procedimentos de troca.

            Grato.

            Adilson – Equipe FILIPEFLOP

            Adilson Thomsen
      2. eu recebi o meu arduino devolta e comprei uma fonte de 12volts 5 amperes. gostaria de saber se posso utilizala, mais para frente pretendo colocar mais modulos reles, posso usa-la ou sou obrigado a comprar uma fonte de 9 volts como está na lista.
        sei que pode ser algo simples mais to com medo de colocar pois já tive problema com um aparelho ,
        o importante foi que já recebi ele de volta testadol.. mais tenho um certo receio de por ele na minha fonte. e acabar perdendo os aparelhos.
        já vi um outro tutorial com esta mesma fonte que tenho. e lá deu certo porém como é de outro blog não posso ter certeza se pode ser essa fonte por favor me ajude…
        desde já agradeço

        1. ola amigo.

          Você tem razão de estar com receio. Apesar do Arduíno trabalhar com 12v é mais seguro você usar uma tensão mais baixa. Recentemente tive problema com Arduíno usando fonte acima de 9v. Uma solução bem pratica (mas que vai custar mais uns trocados…) e você comprar um ou dois ou três …. sei la quantos reguladores do tipo STEP-DONW LM2596 que estão a venda na loja. eu usei dois deles no meu projeto. Um para alimentar o Arduíno e outro para alimentar os reles sensores e ate um servo motor. Eles suportam ate 2A e como sua fonte de 12 v e de 5A vai sobrar potencia.

          Espero ter ajudado.

          1. acho que por via das duvidas irei comprar uma fonte 9v 5a, é mais rapido e pratico de achar, e além disso não foge do projeto inicial.. mais obrigado pela ajuda.
            o meu arduino funciona a 12 v 5a,, sei disso pq já estava usando ela antes.
            o problema é o enthernet shield que não funciono e teve q ir para a manutenção. e não sei o motivo dele não ter funcionado. mais já me devolveram e tenho medo de o conectar no arduino usando esta fonte.

    2. Ola tudo bem?
      Voce modificou a porta de comunicacao do arduino no programa. Muitas vezes ele nao esta na porta correta ou arduino correto

      1. eu sempre usei a ethernet shild e nunca tive problemas o Thiago pode ter razão você verificou os parametros de inicializacao no codigo do arduino. os led acendem pelo menos ?
        Eu usei arduino mega e ethernet shied no meu projeto aqui na universidade e funcionou legal.

        usei ethernet shield + arduino mega + driver de motor cc L298N + sensores + servo motor
        lcd etc funiconou tudo legal.

        a ethernet shield eu usei para comunicacao com supervisorio feito em elispe e3 e modbus/tcp-ip.

        Se quizer dar uma olhada ficou bem legal o resultado.

        https://www.youtube.com/watch?v=a3Jyrz1u0Sw

        1. o enthernet tinha vindo com defeito mesmo já consegui outro!

  100. Boa tarde, como faço para adicionar mais reles ao código? Possuo um modulo de 4 reles e estava querendo usar todos para um projeto. Agradeço desde já.

    1. Também gostaria de saber. Notei que o código carrega um padrão de uma pagina web, gostaria de deixar armazenado tudo no arduino e não com coisas carregando de outro endereço. Mas parabéns pelo projeto. Se tiverem aguas respostas aos questionamentos ficarei grato.

      1. boa tarde… o Arduíno não suporta todos os códigos nele, alias o próprio código html é que faz esse link de arquivos, não tem como colocar os dois arquivos css e js no código html…
        para adicionar os outros reles tem que saber um básico de programação css e html, nesse caso não é muita coisa, pois no código em se é só copiar e colar certas partes dele nele mesmo, mas tem que ter uma noção de como programar nessas linguagem para poder mexer… e em js também, mas só de olhar ja da pra saber o q fazer…
        não tem jeito, tem que entender um pouco de css, html e js… depois que saber é só copiar o código das paginas e altera-los no aplicativo que recomendo: not pad ++.
        na internet ta cheio de tutoriais para aprender, é tranquilo…

  101. Boa tarde

    Tudo bem? Gostaria de ver se consegue fazer um para 8 Relés? Tenho uma placa de 8 Relés porem não sei criar mais botões em seu Script.

  102. nas linhas 102,103 e 105 é usado uma comunicação web, tem com substituir, e como ou posso modificar esses endereços web.

  103. Parabéns excelente código, muito fácil entender, troquei os ícones e estou utilizando em módulo com 04 saídas. show show

    1. Boa tarde
      Poderia me passar um codigo com 8 relés?

    2. Eu já tentei e não consegui com 4. Até aparecem os botões, mas os comandos não ficam funcionando corretamente. Se puder disponibilizar o que conseguiu…

    3. ola william,voce poderia me mandar esse codigo com 4 reles pois estou quebrando a cabeca aqui

      1. Prezado,

        Tambem estou precisando do codigo com 4 reles. Vc poderia me enviar ? Vou fazer essa automacao para quando eu viajar acender as lampadas remotamente. Muito obrigado mesmo.

  104. Olá,

    Eu sou iniciante no arduino e com base nas informações acima, eu consegui pingar o ethernet shield porem quando submeto no Chrome/IE o ip 192.167.0.xxx, aparece esse erro:
    404: File not found
    Use MPFS Upload to program web pages into EEPROM
    Poderia me ajudar?
    Obrigado

    1. Tb estou com o ping funcionando bem, alterei as linhas mencionadas no blog, mas quando chamo a URL recebo a mensagem “A conexão com 192.168.100.16 foi recusada.” Estou usando o ip da mensagem

      1. Luiz,

        Eu abri o prompt do DOS (windows+r e CMD) e digitei ipconfig /all

        Notei que o IP do LAN adapter era 192.168.0.104 então usei o 192.168.0.109.

        De um ping antes para ver se ele nao esta sendo usado.

        Tente usar um IP similar.

        Abraços

  105. ola, sou iniciante, e gostaria de saber se o site que vou usar para acender e apagar pode ser personalizado, se eu posso fazer do meu jeito ……..?????

    Luiz Carlos Foganholi Junior
    1. Luiz Carlos,

      Você pode sim. Só você alterar o código abaixo para mostrar o que você quiser

      client.println(“HTTP/1.1 200 OK”);
      client.println(“Content-Type: text/html”);
      client.println();
      client.println(“”);
      client.println(“”);
      client.println(“FILIPEFLOP – Automacao Residencial”);
      client.println(“”);
      client.println(“”);
      client.println(“”);
      client.println(“”);
      client.println(“”);
      client.println(“”);
      client.println(“”);
      client.println(“Rele 1”);
      client.println(“Rele 2”);
      client.print(“”);
      client.print(ligado);
      client.println(“”);
      client.println(“”);
      client.println(“”);
      client.print(“”);
      client.print(ligado_2);
      client.println(“”);
      client.println(“”);
      client.println(“AlteraRele1()”);
      client.println(“AlteraRele2()”);
      client.println(“”);
      client.println(“”);
      client.println(“”);

  106. Olá,

    Gostaria de saber como eu faria para ter o acendimento da lampada usando interruptor.

    Como o arduino faz para saber se a lampada está acesa sendo que ela foi ligada pelo interruptor.

    Voce teria algum exemplo e até mesmo o esquema de ligação.

    Obrigado

  107. Olá, o que devo alterar no código para que o celular ou o computador não seja necessariamente de uma rede local.

    1. Bom dia Gabriel.
      A princípio você não precisa alterar nada no código do arduino.
      Basta você configurar sua rede, para receber conexões externas em uma determinada porta e direcionar essas conexões para o ip do arduino.

  108. Amigo,excelente trabalho,muito bom mesmo.Uma duvida,tanto o computador quanto ao celular devem estar na mesma rede certo??Minha necessidade é ter o arduino em uma chacara conectado ao roteador com acesso a internet e eu poder ligar as lampadas acessando o site em minha residencia que esta conectada a internet tb porem em outra rede…Funciona???
    Abraços…

  109. Muito legal o post parabens!

    Só gostaria de tirar uma duvida, sou iniciante e não entendi onde estão as funções que ligam e desligam o status do rele. Vi que só chamado a função:
    client.println(“AlteraRele1()”);
    client.println(“AlteraRele2()”);

    Mas não achei onde esta declarado estas funções.

    Thiago da Silva Pascotto
    1. No arquivo.js no
      http://img.filipeflop.com/files/download/automacao/automacao_residencial.js

      function AlteraRele1(){
      var estado = document.getElementById(“estado”).innerHTML;
      if(estado === “0”){
      document.getElementById(“estado”).innerHTML=”1″;
      document.getElementById(“rele”).innerHTML=””;
      document.getElementById(“botao”).innerHTML=”Desliga“;
      } else {
      document.getElementById(“estado”).innerHTML=”0″;
      document.getElementById(“rele”).innerHTML=””;
      document.getElementById(“botao”).innerHTML=”Liga“;
      }
      }

      function AlteraRele2(){
      var estado_2 = document.getElementById(“estado_2”).innerHTML;
      if(estado_2 === “0”){
      document.getElementById(“estado_2″).innerHTML=”1”;
      document.getElementById(“rele_2″).innerHTML=””;
      document.getElementById(“botao_2″).innerHTML=”Desliga“;
      } else {
      document.getElementById(“estado_2″).innerHTML=”0”;
      document.getElementById(“rele_2″).innerHTML=””;
      document.getElementById(“botao_2″).innerHTML=”Liga“;
      }
      }

  110. consegui fazer depois de alguns problemas. agora preciso saber se posso deixar este projeto ligado 24hrs ou isso pode acaber sobreaquecendo minha placa?

  111. Bom dia,

    Sou iniciante e estou fazendo um projeto para acender 4 leds em uma casinha, como faço para adicionar mais 2 relés na programação? e como coloco senha para garantir segurança?

    Obrigado
    Att
    Felipe

  112. Estou com um problema, quando testo a placa no cmd, aparece a menssagem “host de destino inacessivel”.
    Alguém pode me ajudar

    1. Ola José

      você provavelmente não configurou o endereço ip corretamente. Alias como você esta acessando o Arduino ?, isto é, o cabo de rede sai do pc e vai direto para a placa ou você ligou o cabo a um roteador ?.

      Se se o cabo estiver saindo do pc e indo direto para o Arduino você tem q fazer a seguinte configuração.

      no pc:

      endereço ip 192.168.1.19
      subrede 255.255.255.0
      gatway 192.168.1.1 (nem precisa configurar esse parâmetro vai funcionar sem ele também)

      no Arduino

      ip 192.168.1.20
      subrede 255.255.255.0
      gatway 192.168.1.1

      feito isso compile o código e faca o upload para o Arduino.

      ligue os cabos e teste com o comando ping

      se você estiver usando um roteador (e mais legal assim) você tem q verificar o range de ip da sua rede
      verifique o endereço do ip do seu pc na rede por exemplo se seu endereço for 192.168.0.100 o endereço do Arduino deve ser 192.168.0.xxx sendo xxx um endereço que não esteja sendo utilizado na rede (não tente usar um endereço que já esteja sendo usado pois isso causa conflito na rede e nada mais vai funcionar)

      Espero ter ajudado.

      1. Funcionou! obrigado!

  113. ola tudo bem , otimo projeto, fiz e tudo certinho, mas tem um porem depois de algum tempo de uso o sistema remotamente trava só volta quando desliga e ligo novamente oque pode ser ? ja troquei fontes e nada. Testei tambem em outra internet e troquei as placas tambem , acontece isso que coisa né?

    1. Cassio, já tive esse problema e só consegui solucionar alimentando o sistema vida cabo USB e uma tomada de carregador de celular. O problema é a alimentação via fonte.

  114. Parabéns a toda equipe por esse tutorial. Quero dizer que este Blog e também o site de vendas Filipe Flop em estar adquirindo conhecimento, e pela variedade de produtos da área. Desejo que essa equipe continue crescem e que também continue disseminando o conhecimento, dando oportunidade a qualquer pessoa de imaginar e colocar em prática seus projetos.Já algum tempo venho tentado fazer oque realmente consegui hoje com seu exemplo.Já havia visitado inúmeros sites e conseguia fragmentos de programas que não conseguia compila-lo.
    Seu exemplo me deu a oportunidade de realmente conectar o modulo internet e conseguir através da rede acender e apagar as lampadas.Hoje estou muito feliz por isso, graças a pessoas como vcs, que dispuseram a compartilhar um pouco de seus conhecimentos de forma grandiosa,meus sinceros agradecimentos a toda equipe.

  115. Bom dia pessoal, sou novo nessa área do Arduíno mas estou gostando muito e querendo aprender mais e estou tentado fazer um projeto para apresentar na escola, gostei deste modelo mas não estou entendendo esta linha byte mac[] = { 0xA4, 0x28, 0x72, 0xCA, 0x55, 0x2F }; Como funciona e como eu descubro este endereço mac. Desculpem sou leigo neste assunto. Já testei aqui mais não funcionou. Alguém poderia me ajudar? Obrigado.

    Marcos Antonio Farias Costa
    1. ola marcos

      este código e o endereço mac isto é o endereço físico da placa de rede (você precisa ler algo sobre redes tcp/ip) mas por enquanto não se preocupe com ele. O endereço mac é único para cada dispositivo de rede. Você pode altera-lo mas não é necessário se você tiver apenas um dispositivo destes ligado na mesma rede, se houver mais de um, o endereço mac deve ser alterado.
      dica: você pode usar um código mac de uma placa de rede antiga ou de um dispositivo que não estiver mais em uso.

  116. Bom dia Adilson

    Quanto tempo, preciso captar quando tem entrada de energia, ou seja quando um veículo está ligado por exemplo, pode me ajudar???

  117. PODE SER QUALQUER LAMPADA?????

    1. Boa tarde,

      Qualquer lâmpada, desde que não exceda o limite de corrente do relé.

      Abraço!

      Adilson – Equipe FILIPEFLOP

  118. Quero liga e desligar as lampadas do meu quarto e banheiro; o que devo comprar?

  119. Boa tarde ,conectei a shilde no arduino e o cabo da internet mas não consigo abrir a pagina

  120. Bom Dia.
    Achei a ideia excelente…
    Gostaria de saber se você tem como disponibilizar o arquivo index da pagina html. Para poder utilizar um SD card e deixar a interação mais rápida. Obrigado

    1. Boa tarde João , conseguiu a informação ?

  121. estou colocando 4 rele porem só funciona com 3 quando eu insiro o 4 botão de comando ele trava tudo não funciona nada.

  122. eu queria era fazer isso mas com um modem gsm e gprsm

  123. Boas, sou novo no mundo do arduino, ja testei aqui o seu código e funciona muito bem, queria-o adaptar para a minha necessidade, mas não estou a conseguir.

    Alguém me pode ajudar?

    O que eu pretendo é activar 10 reles através de uma rede wifi sem internet, ou seja através de uma pagina web, acessar a ela pelo iphone e activar os reles.

    Os reles seriam activo pelo iphone, e permaneciam activos durante 2s e depois voltavam ao estado normal automaticamente.

  124. Opa.

    Man, show o artigo funcionou perfeito, parabéns.

    Gostaria de pedir uma ajuda, como faço para em vez de ler da web o .css. e o .js, ler a partir do cartão SD na Ethernet Shield.

    Grande abraço

    1. Olá amigo, estou com o mesmo problema, você conseguiu resolver?

  125. Bom dia, parabéns pelo post, muito bom!

    Gostaria de saber se é possível e se sim qual a maneira mais simples de fazer esse projeto utilizando internet sem fim pois o meu roteador fica longe do comodo que o projeto se destinará… É possível substituir o shield de ethernet pelo cc3300 ou por um shield de wireless? existe algum tutorial que ajude nisso? a programação mudará em algo?

  126. Boa Noite!

    Gostaria de saber por gentileza como mudar esse código para o relé ligar e desligar automaticamente no mesmo instante como se desse só um pulso.
    pode me ajudar por favor?

    Parabéns pelo trabalho excelente!

  127. Em: “configurações de IP, default gateway e máscara de rede (linhas 15, 16 e 17) para que estejam adequadas à sua rede.”
    – Posso ao invés de usar configurações em rede local, mudar para meu servidor de hospedagem na web, porém como ficaria o código?
    – Daí desenvolvo um programa no App Inventor 2 que usará os parâmetros do:
    void setup
    pinMode(pino_rele1, OUTPUT);
    pinMode(pino_rele2, OUTPUT); e irá acionar através do meu servidor. estando o Arduino conectado.

    Porém preciso de colocar os ips, dns e caminho dos arquivos CSS e JS no meu servidor de hospedagem nas linhas 15,16 e 17. Como faço?

  128. Muito bom o tópico, mas queria saber se tem como conectar de outro local, por exemplo, consigo acessar com o wifi da minha casa, mas queria, acessar as lampadas da minha casa quando estivesse na faculdade ou algo do tipo, alguma dica de por onde começar?

    1. eu acredito que para fazer isso você t era que criar um site com php.

  129. Utilizei este código HTML, CSS e JS e hospedei no meu próprio servidor apache, consigo acessar a pagina normalmente interno e externo via internet, porém quando eu clico em ligar ele sempre me leva para um caminho ?ligar, ou ?2_ligar, alguém pode me ajudar?

  130. Opa gostei muito
    Tem com me passar as pastas desse HTML
    Para que eu possa seguir ele como modelo para criar mas botões

    1. Não possui pastas, o html é criado direto no código, só o arquivo .css e .js que são no servidor, mas vc pode acessar com os links que estão no código(http://img.filipeflop.com/files/download/automacao/automacao_residencial.css e http://img.filipeflop.com/files/download/automacao/automacao_residencial.js) para fazer alterações neles você terá que salvá-los em outro local.

      1. Consigo utilizar um cartão sd no módulo de rede apara armazenar o css, js e as imagens?

        E como redireciono isto nos link’s html?

  131. Ola, parabéns pelo Site, sou leigo em programação , e gostaria de saber como eu faço pra adicionar oito reles na programação, Obrigado …..

  132. Consigo utilizar um cartão sd no módulo de rede apara armazenar o css, js e as imagens?

    E como redireciono isto nos link’s html?

    1. Olá amigo, estou com o mesmo problema. Você conseguiu resolver?

  133. Sim e pra ligar e desligar manualmente? ai eu só consigo ligar e desligar pelo celular… faz um tempo que quebro a cabeça com isso.

    1. Amilton , alguns anos atras fiz uma ligação dessa, a solução pra você ligar e desligar é usar um interruptor THREE WAY , na internet você vai encontrar como ligar esse interruptor. Apos isso talvez você encontrará outro problema; é se alguém deixar ligado o interruptor, quando você aciona-lo remotamente ao invés de ligar a luz ela será desligada, a solução é encontra alguma maneira da placa dar algum tipo de FEED BACK , para saber se a placa está ligado ou não. Espero ter ajudado.

      1. Desculpar me confundi nos nomes, FRIENDDCH. Abraço.

      2. Poderia colocar próximo a lâmpada um sensor de luminosidade, assim vc saberia se está acesa ou não

    2. Tem que fazer uma ligação paralela com um interruptor aonde possa fazer esta ligação

  134. olá fiz todos os passos porem não obtive nem um resultado não consegui dar o ping.

    1. Atente-se para essa parte do post. “No início do programa, altere as configurações de IP, default gateway e máscara de rede (linhas 15, 16 e 17) para que estejam adequadas à sua rede.” Você precisa configurar de acordo com a rede na qual está conectado. Vai alterar nessa parte do código:
      //Informacoes de endereco IP, gateway, mascara de rede
      byte mac[] = { 0xA4, 0x28, 0x72, 0xCA, 0x55, 0x2F };
      byte ip[] = { 192, 168, 0, 110 };
      byte gateway[] = { 192, 168, 0, 1 };
      byte subnet[] = { 255, 255, 255, 0 };

    2. Olha, pode ser o seu IP local que não esteja correto. Ou alguma porta está fechada. Não entendo muito dessas coisas mas eu consideraria essas duas opções

    3. AMIGAO ESTAVA COM O MESMO PROBLEMA POREM TROQUEI DE ROTEADOR E FUNCIONOU PERFEITA MENTE ACHEI EU QUE DEVIA SERO ALGO COM DIRECIONAMENTO DE PORTA COMO FIZ SO UM CURSO BASICO DE REDES ESTRUTURADA NAO SABIA COMO ABRIR ESSA TAL PORTA 80(WEB) QUE JA DEVIRIA ESTA ABERTA COMO EM QUALQUER ROTEADOR MODELO DO RODEADOR QUE FUNCIONO FOI INTELBRAS WRN 240

  135. Olá, comprei o nodemcu e vi que o processo é muito parecido. Porém estou com dificuldades de deixar o site responsivo, no meu computador está alinhado ao centro, porém no meu celular está deslocado para à esquerda. Testei no navegador opera mini e o Uc Browser. Desde já obrigado!

  136. Olá, andei vendo e acredito que seja problema de reconhecimento do css por parte do google chrome, pois no firefox está tudo certo. O que poderia ser?

    Kenny Douglas Grzseczak
  137. implementei o codigo acima com 4 lampadas, fiz a programacao tudo direitinho repetindo os if para cada lampada com seus devidos pinos, tanto no arquivo em JS quanto no CSS tambem, porem quando chego na quarta lampada, o codigo nao funciona mais, USO uma placa de 4 RELES EMBUTIDOS, o que sera?

  138. Olá, Existe alguma forma de Executar o Scrip direto no Arduino? ou vc tem algum Exemplo de como Ligar e Desligar o relé usando apenas um Bota? todos os Exemplos que consegui existe um botao Ligar e outro Desligar

    1. Boa tarde Caio,

      Neste link você encontra um exemplo de como ligar e desligar um relé com apenas 1 botão: http://www.arduinoecia.com.br/2013/08/ligando-uma-lampada-com-rele-e-push.html

      Abraço!

      Adilson – Equipe FILIPEFLOP

  139. Boa noite senhores,
    montei todo o aparato e quando digito o meu IP, o Browser apresenta a página de entrada para o roteador…
    É isto mesmo?

    Grato,

    1. verifique se na linha byte ip[] = { 192, 168, 0, 110 }; o ip digitado é diferente do ip do seu roteador

      1. 54L35, com muito custo eu descobri o Mac Adress da minha placa Ethernet HanRun. Fiz inúmeros testes e somente uma única vez funcionou!!!
        Usei o byte ip[] = { 192, 168, 0, 110 } e digitando no browser surgiu a página de controle de acionamento dos relés. Mas, quando cliquei no relé 2 a página apresentou uns erros e não mais consegui entrar…
        Dando ping no IP eu obtenho resposta de 0% de erro. Ótimo!
        Mas, digitando no browser.. …Nada!
        Usei Chrome e o Edge.

        Alguma sugestão?

        Obrigado!

  140. Olá, espero que possa me ajudar sou novo em arduino, seu tutorial me motivou a aprender sobre. Segui todo o tutorial mais não obtenho o resultado esperado, quando ping no endereço de ip que atribui ao arduino o mesmo diz que o host esta inacessível, tentei inserir o código no navegador e o mesmo nada retornou. segue abaixo dados

    Arduino mega 2560
    ethernet shield w5100
    modem da gvt box .

    Desde já agradeço toda atenção prestada.

  141. Olá, alguém sabe de algum lugar para hospedar o Css e o JavaScript, o 000webhost.com não achei a opção de pegar o link das páginas e pelo google sites, só funciona se estiver aberto pelo navegador. Desde já obrigado!

  142. É possível funcionar com a web off line (sem internet)

    1. Nessa demostração ele está utilizando uma rede local, sem acesso a internet. Mas pode ser acessado via internet se fizer corretamente os redirecionamento de portas.

      Jeferson Eduardo Schramm
      1. Olá amigo ! Mas para redirecionar a porta o arduino teria que conectar ao roteador primeiro, isso é possível ? ex, roteador wifi com senha criptografada wpa2. Abraços.

  143. Olá, gostaria de parabenizar os idealizadores ou o idealizador do blog filipeflop 😉
    Genial esse marketing de mostrar de forma completamente simples e detalhada a funcionalidade do equipamento que oferecem e já com os kits prontos!

    1. Boa tarde Júnior,

      Agradecemos os elogios. É um trabalho que envolve toda a equipe FILIPEFLOP. 🙂

      Abraço!

      Equipe FILIPEFLOP

  144. adilson gostaria de saber ou vc poderia me enviar a pagina index.html do projeto de automaçao para poder criar um site e hospedar os arquivos que esta disponivel para download css mas preciso de um arquivo index.html para poder rodar os arquivos ou me orientar agradeço desde ja aguardo o email de resposta

    1. Há sua necessidade é maior no com o script vindo do arduino internet shield que vai fazer a conexão e comunicação com o serven da página hospedada do que necessariamente um arquivo index ou qualquer outro no lado web.
      Depois de estabelecida a conexão e receber essas informações via GET ou POST, poderá manipular da forma que quiser com o PHP por exemplo, como se fosse uma simples comunicação entre páginas.

  145. Boa tarde,
    Gostaria de saber se é possível fazer um projeto semelhante a esse porém acessando o arduino a partir de qualquer rede de internet, por exemplo a internet móvel.
    Obrigado.

    1. A pergunta foi um pouco confusa quando vc diz “qualquer rede de internet”, pois a resposta vai depender de qual lado vc está se referindo, o lado de saída ou entrada, no de entrada vc pode fazer de qualquer rede, até mesmo movél 3g, basta que você faça a comunicação do arduino com uma página web, o código fonte desde artigo não irá funcionar, pois como se pode ver, ele trata de uma rede local e não uma em nuvem, passa o ip do serven para fazer a conexão, usando o php vc pode tratar as interações do arduino via variáveis com o método GET ou POST, se quiser informações em tempo real como a verificação de um sensor, faça um loop no arduino e no lado do web serve, um condição para refresh sempre que houver uma alteração nas informações recebidas do internet shield ou faça uma contagem regressiva usando javascript ainda no lado da web.
      Dessa forma você vai poder passar comandos através de uma página web acessando de qualquer rede.

  146. Amigo quanto custaria um script para acionar 16 reles???

    1. eu tenho um script pra acionar quantos reles quiser mas é por wifi usando o modulo esp8266+arduino

  147. Parabéns belo projeto. Fiz como manda o esquema mais quando digito Ip para ligar e desligar ele só funciona uma vez, fica dando erro e a pagina não carrega mais você tem alguma dica do que pode ser, desde já agradeço.

    1. Cara, você conseguiu resolver este problema,?? Estou com o mesmo problema…

  148. Ótimo tutorial!

    Como eu faria, para aparecer informações em um Display LCD, algo do tipo, Lampada Sala – Ligada ou Lampada Quarto – Ligada, que seja…. Só adicionar a String referente ao LCD? Poderia me dar umas dicas?

    Outra dúvida, não menos importante, seria pra retirar o acesso através da internet, gostaria de fazer uma programação off-line, via usb mesmo. Como eu faria? Grato!

    1. Se não vai usar rede, desnecessário o internet shield no projeto, quando você diz via USB, acredito que deva se referir a um computador ou integração a alguma coisa do tipo. Bem, isso vai depender do que pretende fazer, será necessário criar uma interface gráfica no computador e fazer o arduino se comunicar com ela.

      Se não for usar um computador, pode comprar assim como o LCD, botões e fazer um painel, onde a ativação desses seria o comando para a porta digital acionar algo e codificar o que deve aparecer no LED, esse é mais simples que usar um computador pois não precisaria desenvolver um segundo sistema com outra linguagem e fazer a comunicação com arduino, seria necessário panas o arduino puro!

      1. Só lembrando que vai precisar de resistores e um conhecimento básico de eletrônica, pois vai ter que trabalhar com relés e manipulações de corrente elétrica, caso não pretenda acionar apenas um lâmpadas 12V e sim uma rede 110 / 220 V.

  149. Olá, parabéns pelo projeto e didática, está me ajudando muito.
    Estou com um problema, utilizando um Sketch idêntico a esse mesclado com ou Sketch simples de sensor de temperatura e umidade o acionamento dos relés ficam bastante lentos. o que devo fazer? Obrigado.

  150. boa tarde Adilson!

    gostei muito do trabalho. show de bola.

    é possível utilizar este projeto para utilizar um modulo relé de 4 canais?

    como devo proceder?

    obrigado

  151. Paz e bem!

    Segue o codigo para 4 reles, inicialmente havia feito para 8 como muitos pediram por aqui, mas a quantidade de memoria do arduino uno é pouca para quantidade de codigo gravado internamente.
    Espero que ajude.

    //Programa: Automacao Residencial com Arduino e Ethernet Shield
    //Autor: FILIPEFLOP
    //Atualizado:Diogenes Ramos em 21-04-2017
    //codigo para 4 reles

    #include
    #include
    String readString;

    //nomeando as variavés para os reles
    int pino_rele1 = 3;
    int pino_rele2 = 4;
    int pino_rele3 = 5;
    int pino_rele4 = 6;

    boolean ligado = true;
    boolean ligado_2 = true;
    boolean ligado_3 = true;
    boolean ligado_4 = true;

    //Informacoes de endereco IP, gateway, mascara de rede
    byte mac[] = { 0xA4, 0x28, 0x72, 0xCA, 0x55, 0x2F };
    byte ip[] = { 192, 168, 1, 40};
    byte gateway[] = { 192, 168, 1, 1 };
    byte subnet[] = { 255, 255, 255, 0 };

    EthernetServer server(80);

    void setup()
    {
    //inciando os reles atente-se que é chamado a variavel e não o pino
    Serial.begin(9600);
    pinMode(pino_rele1, OUTPUT);
    pinMode(pino_rele2, OUTPUT);
    pinMode(pino_rele3, OUTPUT);
    pinMode(pino_rele4, OUTPUT);

    //Inicializa Ethernet Shield
    Ethernet.begin(mac, ip, gateway, subnet);
    server.begin();

    Serial.println(“Professor Diogenes Ramos – Redes Industriais”);

    //Desliga os dois reles
    //os comandos são enviados para as variaveis
    digitalWrite(pino_rele1, HIGH);
    digitalWrite(pino_rele2, HIGH);
    digitalWrite(pino_rele3, HIGH);
    digitalWrite(pino_rele4, HIGH);
    }

    void loop()
    {
    EthernetClient client = server.available();
    if (client) {
    while (client.connected())
    {
    if (client.available())
    {
    char c = client.read();
    if (readString.length() 0)
    {
    digitalWrite(pino_rele1, LOW);
    Serial.println(“Rele 1 Ligado”);
    ligado = false;
    }
    else
    {
    //Desliga o Rele 1
    if (readString.indexOf(“?desligar”) > 0)
    {
    digitalWrite(pino_rele1, HIGH);
    Serial.println(“Rele 1 Desligado”);
    ligado = true;
    }
    }

    //Controle do rele2
    Serial.println(readString);
    //Liga o Rele 2
    if (readString.indexOf(“?2_ligar”) > 0)
    {
    digitalWrite(pino_rele2, LOW);
    Serial.println(“Rele 2 Ligado”);
    ligado_2 = false;
    }
    else
    {
    //Desliga o Rele 2
    if (readString.indexOf(“?2_desligar”) > 0)
    {
    digitalWrite(pino_rele2, HIGH);
    Serial.println(“Rele 2 Desligado”);
    ligado_2 = true;
    }
    }
    //Controle do rele3
    Serial.println(readString);
    //Liga o Rele 3
    if (readString.indexOf(“?3_ligar”) > 0)
    {
    digitalWrite(pino_rele3, LOW);
    Serial.println(“Rele 3 Ligado”);
    ligado_3 = false;
    }
    else
    {
    //Desliga o Rele 3
    if (readString.indexOf(“?3_desligar”) > 0)
    {
    digitalWrite(pino_rele3, HIGH);
    Serial.println(“Rele 3 Desligado”);
    ligado_3 = true;
    }
    }
    //Controle do rele4
    Serial.println(readString);
    //Liga o Rele 4
    if (readString.indexOf(“?2_ligar”) > 0)
    {
    digitalWrite(pino_rele4, LOW);
    Serial.println(“Rele 4 Ligado”);
    ligado_4 = false;
    }
    else
    {
    //Desliga o Rele 4
    if (readString.indexOf(“?4_desligar”) > 0)
    {
    digitalWrite(pino_rele4, HIGH);
    Serial.println(“Rele 4 Desligado”);
    ligado_4 = true;
    }
    }

    readString = “”;

    client.println(“HTTP/1.1 200 OK”);
    client.println(“Content-Type: text/html”);
    client.println();
    client.println(“”);
    client.println(“”);
    client.println(“Nome do seu projeto”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“Rele 1”);
    client.println(“Rele 2”);
    client.println(“Rele 3”);
    client.println(“Rele 4”);

    client.print(“”);
    client.print(ligado);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    client.println(“”);
    ;
    client.print(“”);
    client.print(ligado_2);
    client.println(“”);
    client.println(“”);
    client.println(“AlteraRele1()”);
    client.println(“AlteraRele2()”);
    client.println(“AlteraRele3()”);
    client.println(“AlteraRele4()”);

    client.println(“”);
    client.println(“”);
    client.println(“”);

    delay(1);
    client.stop();
    }
    }
    }
    }
    }

    1. Poderia me passar teu email, para tirar algumas duvidas?

    2. Tem como colocar o código HTML e os arquivos no SD Card?

        1. Olá amigo,

          Já consigo subir a pagina HTML salva no micro SD, porém ainda não consegui fazer funcionar nenhum dos botões. É nisso ai que estou enganchado. A parte de servidor web já consigo fazer.

          Obrigado!

  152. Olá boa tarde,
    Estou iniciando um projeto porém estou com algumas dificuldades. Estou utilizando um roteador e preciso comunicar com meu arduino MEGA, estou utilizando o módulo ENC28J60. Minha dúvida é a seguinte: Estou fazendo uma rede local, e gostaria de acessar pelo celular, e usar meu PC como servidor, ou seja, usar PHP fornecido pelo XAMPP. Nada que faço consigo comunicar com o módulo. Poderiam me ajudar?

  153. Galera boa tarde, configurei o shield ip mac mascara etc tudo certinho, mas na hora de montar a page na web, n funciona sendo que to fazendo outro projeto ao inves de acionar o rele pela internet gostaria so que mostrasse os estados das portas, acendeu a lampada etc, so que a pagina aparece servidor nao encontrado, etc. fiz o ping funcionou normal, desativei firewall, olhei no roteador pra ver se a porta 80 estava habilitada etc, tudo normalmente. Mas nada… Alguem tem uma solução ?

  154. Quero comprar o kit e alterar o rele de 220 para 110, vai funcionar?

    MAGNO COSTA RUBACK
    1. olha eu comprei e liguei direto na tensão 110v e funcionou normalmente.O relé é 110/220

  155. Olá!!!

    Como faço para mudar o botão de retentivo para momentâneo?
    Desde já obrigado, excelente trabalho!!!

  156. Olá amigos, gostaria de uma ajuda aqui se possível.
    Estou fazendo um projeto parecido com esse, a diferença é que resolvi incluir mais funcionalidades: um LDR que simularia uma lampada externa da casa, um display SSD1306 OLED pra mostrar o que está ligado ou desligado, um sensor infra-vermelho para receber comandos de um controle e também poder acionar os relés do mesmo jeito que na internet.
    O problema é que com tudo junto no código, a página IP configurada não carrega, além de acusar um erro devido ao IR.

    Estaria o Arduino sobrecarregado? O que eu poderia fazer para solucionar isso e deixar tudo funcionando, Internet + LDR + Controle IR + Relés acionando as lâmpadas ??

    Por favor me ajudem.
    Agradeço desde já!

  157. Olá. Gostaria de saber como eu posso fazer um circuito usando o Arduíno para acender e apagar duas lâmpadas, sendo que, a medida que uma for acendendo ( exemplo: de 0 à 100) a outra vá sendo apagada (100 à 0) séria preciso usar um potenciometro? se sim, como?

  158. Bom dia , gostaria de saber se tem como ter controle sobre um timer , onde apos aplicar o comando de ligar a lampada, a mesmas desligar apos x segundos

  159. Boa noite, para a montagem dos arquivos .css e .js ? So serve se for montar o site assim em html e hospedar em um servidor proprio ? Se fosse com o uso do micro SD pra amarzenar dados em htmll? Nao tenho mt conhecimento em HTML mas pra fazer com essas extensoes ai eu teria que ter meu proprio servidor ? Tem outra maneira de montar o site sem essas extensoes ? Alteraria muito o sketch no arduino ?

  160. Bom dia! realizei a montagem de um projeto nestes mesmos parâmetros,mais no lugar da lampada eu liguei uma bomba de aquariio e quando a ativo o arduino trava e reinicia. Poderia me ajuda como resolver isso

  161. boa noite, o código que tem para usar com 4 rele nao esta funcionando, teria como alguem colocar um que funcione? desde ja obrigado

  162. amigo me da uma ajuda ai , tem como posta como eu coloco a pagina no cartão SD e puxar a pagina dele pra acionar os reles ao inves da pagina ficar direto na memoria do arduino, tem como ajudar com isto neste codigo seu??

  163. Boa tarde,

    realizei a aquisição do produto e montei o projeto descrito acima. Porém, o Ethernet Shield apenas funciona adequadamente ao conectar o cabo USB no Arduíno. Quando conecta-se a fonte DC chaveada 9V 1A ao Arduíno , o Ethernet Shield não funciona. Como posso resolver esse problema?

  164. Boa tarde!

    Teria alguma maneira de usar esse código HTML no SD Card junto com os arquivos .css e .js?

    1. A possibilidades de acionar mais reles ?

      1. Já consegui abri a pagina salva no SD card, porém não consegui ainda fazer os botões funcionarem.

  165. Olá, será que você pode dar uma colaborada com a minha ideia? hehe
    Eu to precisando instalar sensores que analisem se há corrente elétrica passando por uma lâmpada, ou seja, preciso de um sensor que analise se ela está ligada, pouco me importa o quanto está passando de corrente elétrica. Eu preciso gravar quantas vezes a lâmpada foi ligada, ou seja, preciso de uma variável de armazenamento. Disso quero extrair dados e trabalhar com modelagem. Você saberia me informar qual módulo usar? Que tipo de sensor? Posso partir do mesmo principio do seu pensamento da postagem com algumas adaptações?

  166. Boa noite, excelente material. Testei e funcionou perfeitamente mesmo substituindo a alimentação usb por uma fonte externa. Gostaria de colocar os arquivos no cartão SD da W5100, para não ficar dependendo de buscar na internet, só que não tenho conhecimento de como fazer. Estou iniciando neste mundo que é novo para mim

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *