Tutorial: Utilizando o Releshield com Ethernet Shield e Arduino

Neste tutorial vamos mostrar como utilizar o Arduino com Releshield e Ethernet Shield para acender uma lâmpada através da internet.

Primeiramente, conecte o Releshield em cima do Ethernet Shield e depois conecte no Arduino.

Agora conecte a lâmpada no Releshield como mostrado na figura abaixo:

Conecte seu Arduino no PC, abra a IDE do Arduino e cole a seguinte programação:

/*Mude o mac[] para o mac da sua placa Ethernet Shield (números localizados embaixo da placa) e o IP de acordo com sua rede local. Por exemplo, se o seu roteador tiver o IP 192.168.1.1. Digite um IP 192.168.1.xxx. Sendo xxx de sua escolha. Cuidado para não colocar um IP igual de um PC de sua rede local. Aqui foi escolhido o final 177. 

Cuidado também com a alimentação do Arduino. Utilize conectado ao USB do PC ou a uma fonte externa de 0 a 12V com 1A de corrente.*/

#include <SPI.h>
#include <Ethernet.h>
boolean incoming = 0;
int rele1 = 0;
int rele2 = 0;

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 177);

EthernetServer server(80);
void setup()
{

Ethernet.begin(mac, ip);
server.begin();
Serial.begin(9600);

pinMode(8, OUTPUT);
digitalWrite(8, LOW);
pinMode(7, OUTPUT);
digitalWrite(7, LOW);
}

void loop()
{
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
// an http request ends with a blank line
boolean currentLineIsBlank = true;
String str;
while (client.connected()) {
if (client.available()) {
char c = client.read();
str.concat(c);
if(str.endsWith("/1on")) rele1 =1;
else if(str.endsWith("/1off")) rele1 =0;
if(str.endsWith("/2on")) rele2 =1;
else if(str.endsWith("/2off")) rele2 =0;
if (c == '\n' && currentLineIsBlank) {
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
if(rele1 == 1)
{
client.println("ligado1" );
digitalWrite(7, HIGH);
}
else if (rele1 ==0)
{
client.println("desligado1" );
digitalWrite(7, LOW);
}
if(rele2 == 1)
{
client.println("ligado2" );
digitalWrite(8, HIGH);
}
else if (rele2 ==0)
{
client.println("desligado2" );
digitalWrite(8, LOW);
}

break;
}
if (c == '\n') {
currentLineIsBlank = true;
}
else if (c != '\r') {
currentLineIsBlank = false;
}
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
}
}

Depois disso, selecione a sua versão do Arduino (UNO, Duemilanove, etc) em Tools/board e a porta (COMx, ttyUSBx, ttyACMx, etc) em Tools/Serial Port. E clique em UPLOAD.

Agora abra seu navegador de internet (Mozilla Firefox, Google Chrome, Internet Explorer, Safari, etc) e digite o ip que você determinou adicionando o "/1on" no final. O Led do relé 1 irá ligar. Ao digitar novamente o ip com "/1off" no final, o LED do relé 1 irá desligar. Com o relé 2 faça a mesma coisa. Pronto agora você consegue ligar e desligar o lâmpadas como Releshield e Ethernet! 

E é isso! Esperamos que tenha gostado! Em caso de dúvidas, poste aqui neste blog! Caso tenha sugestões para tutoriais, clique aqui! Para ver outros tutoriais e projetos desenvolvidos pela equipe LdG e por outros garagistas, clique aqui e aqui, respectivamente! Até a próxima!

Referências:

http://arduino.cc/en/

http://arduino.cc/en/Tutorial/WebServer

http://labdegaragem.com/forum/topics/rele-shield-ethernet-shield

Exibições: 22789

Comentar

Você precisa ser um membro de Laboratorio de Garagem (arduino, eletrônica, robotica, hacking) para adicionar comentários!

Entrar em Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)

Comentário de Diego Carlos Oliveira de Aguiar em 21 janeiro 2016 às 23:24

quais linhas de comando devo alterar e quais devo adicionar para adicionar mais modulos de reles

Comentário de Jonas Resende em 3 abril 2015 às 3:11

opa olha um noob fazendo pergunta boba:

seu eu quiser apagar e acender por um unico comando no terminal, tipo meu ip 1on, ele ligar e deligar.

como seria meu else???

Comentário de jackson ajofre em 18 fevereiro 2015 às 15:19

e como faco para usar touch osc para acionar as saidas do rele?

Comentário de Lucimauro Botelho Durski em 29 setembro 2013 às 15:37

Olá pessoal gostaria de saber a diferença entre o Ethernet Shield e o Arduino Ethernet a minha intensão e controlar alarme e alguns equipamentos através da internet. Obrigado.

Comentário de Fábio Alessandro M . P em 17 agosto 2013 às 13:14

Ola galera queria que postassem um tutorial de como usar um WEBCLIENT e um WEBSERVER para acionar um Releshield utilizando uma rede LAN usando um botão no WEBCLIENT ou no WEBSERVER ou seja quando pressionar o botão ele aciona o Releshield que esta no outro Arduino enviando o comando através da rede LAN

Comentário de Fábio Alessandro M . P em 13 agosto 2013 às 10:54

Galera gostaria de saber como eu aciono um rele em outro arduino na minha rede. utilizando um arduino Cliente e um arduino Servidor. vai ser assim eu gostaria que tivesse um botão em um dos arduinos e quando eu apertar o botão ele envia um comando de abrir um portão eletrônico para o outro arduino usando apenas a rede, quando eu apertar o botão novamente ele envia o comando de fechar o portão eletrônico que se eu n me engano e o mesmo comando. desculpas galera mesmo eu já sendo programador estou iniciando em arduino agora 

Comentário de JOAO SALDANHA DE OLIVEIRA em 3 junho 2013 às 12:05

Estou fazendo esse mesmo projeto, mais gostaria de ultilizar um programa em Delphi para enviar s comandos ao arduino, ao inves do browser. Pode me ajudar (tentei ultilizar o tcp/ip client no delphi mais nao consegui)

Comentário de Adenan Araujo em 1 junho 2013 às 2:50

Eai pessoal, gostaria de pedir que fizessem uma video aula sobre esse projeto explicando a parte de programação e talls.

Vlew aii o tutorial ta bom, mas com um video da pra fica melhor.

Comentário de Iogo Soares em 4 fevereiro 2013 às 21:28

pessoal nao to conseguindo fazer o ethernet shield fucionar não, eu tento rodar o programa padrao e tento conectar o ip que eu configurei que no caso é 192.168.1.156 e nao apareçe nada na tela do browser, a placa do shield ta esquentando, isso é normal? eu utilizo o roteador da TP-LINK TLWR740N, o DHCP tá ativado, tem alguma configuração que eu tenho que fazer?

Comentário de Nilton O. Diniz em 29 dezembro 2012 às 8:00

Voces não precisam ter um ip dinamico para controlar seus dispositivos externamente. mas precisarao de um pouco de conhecimento de programação web. Por exemplo, criem um host web externo (em qualquer host como uol, locaweb ou outro de sua preferencia), neste host crie uma pagina (Com ou sem banco de dados), que de alguma forma "armazene " os status dos seus dispositivos. E criem uma pagina (Agora sim no seu computador), que leia as alterações que acontecem no host web (externo) e via sock apliquem nos seus dispositivos. a unica coisa que voces obrigatoriamente deverao ter é internet.

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço