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 Gabriel Salgueiro em 27 dezembro 2012 às 17:29

Se eu quiser uma placa de circuito impresso, conectando todas as placas, conecto o módulo relê no Arduino ou nas portas que a placa Ethernet disponibiliza?

Comentário de jeferson martins pereira em 2 dezembro 2012 às 21:34

boa noite: como faço para acessar via rede externa se meu ip é dinamico?

Comentário de jeferson martins pereira em 24 novembro 2012 às 11:11

bom dia: galera to com uma duvida sobre a ethernet shield;

qual a vantagem de ter uma shield ethernet, se eu quizer comandar meu arduino pela internet preciso ter um servidor (em casa) para dar esse suporte para o arduino? então uso direto a serial do arduino sem precisar da shield, imagino que a shield ethernet tem mais finalidade para uma intranet, pois não precisarei de servidor? estou certo ou não. abraços e aguardo

Comentário de Alex Moscon Morosi em 28 setembro 2012 às 22:06

Cara estou usando um rele mais não o shield para ativar um motor de passo só que não estou conseguindo estou usando usando seu tuto somente inserindo as linhas para rodar o motor só que ele até manda o comando para o motor mais ele não gira da uma mexida fica tipo dando uns toques e não roda você tem alguma ideia para ajudar?

Comentário de Rafael Duchatsch em 21 agosto 2012 às 12:36

Bom dia, neste Shild teria como conectar varios?

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço