CENTRAL DE ATENDIMENTO
De segunda à sexta das 8:00 às 17:30
(11) 3522-7626 / vendas@robocore.net
Retornar
ao topo

Classifique este tópicoPéssimoRuimMedianoBomÓtimo
Autor
Mensagem
3
matteussantos

Level 0
89474 xp

Registrado em:
21/10/2014





Mensagens:
3
3
matteussantos

Responder com citações
Mensagem Ter Out 21, 2014 2:30 pm
Ethernet + infravermelho
Bom Dia!

Esse é meu primeiro tópico aqui no fórum, então já peço desculpa se estiver violando alguma regra.

Estou montando meu primeiro projeto de automação residencial com arduino, e gostaria de controlar alguns reles tanto pelo Ethernet ( botão html ) como pelo infravermelho, através de um receptor IR e um controle remoto. Consigo fazer eles funcionarem separadamente, mas não consigo fazer os dois funcionarem no mesmo código.
Estou começando a programar agora, e tenho um conhecimento bem básico, mas qualquer ajuda é bem vinda!

Obs.:Tentei usar a biblioteca padrão do arduino e a biblioteca EthernetSup (seriallink)

Abraços!
3
thiagoyuiti

Level 0
121546 xp

Registrado em:
01/10/2014





Mensagens:
4
3
thiagoyuiti

Responder com citações
Mensagem Ter Out 21, 2014 9:40 pm
Ethernet + infravermelho
Ola Mateus, envie o exemplo do código para podermos te ajudar.
Porem você tem que tornar cuidado com a programação no arduino, pois ela vai executar um código de cada vez, ou seja, se você tentar responder um protocolo http ao "mesmo" tempo em que responde um infravermelho não vai rolar, pois é apenas uma thread.
Na teoria você precisa esperar a página responder para então tentar utilizar o controle remoto.
3
matteussantos

Level 0
89474 xp

Registrado em:
21/10/2014





Mensagens:
3
3
matteussantos

Responder com citações
Mensagem Qua Out 22, 2014 1:46 pm
Ethernet + infravermelho
Olá thiagoyuiti,

Já agradeço a ajuda.
Sou bem fraco em programação, estou começando com arduino agora, então qualquer ajuda é valida.

Esse código que eu estou tentando usar:


#include <SPI.h>
#include "EthernetSupW5100.h"
#include <IRremote.h>
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1,177);
EthernetServer server(80);
int led1 = 5;
int led2 = 6;
int led3 = 7;
int alarme = 8;
int porta = 9;
int RECV_PIN = 2;
int va1 = 0;
int va2 = 0;
int va3 = 0;
IRrecv irrecv(RECV_PIN);
decode_results results;
void setup()
{



irrecv.enableIRIn(); // Start the receiver

EthernetSupW5100.begin(mac, ip);
server.begin();

// Configurando portas dos botoes
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(alarme, OUTPUT);
pinMode(porta, OUTPUT);

// Estado incial das portas
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(alarme, LOW);
digitalWrite(porta, LOW);

// Registrando botoes
//EthernetSupW5100.addButton(button pin, text on, text off, button type);
EthernetSupW5100.addButton(led1, "Liga Led Vermelho", "Desliga Led Vermelho", FLIP_BUTTON);
EthernetSupW5100.addButton(led2, "Liga Led Verde", "Desliga Led Verde", FLIP_BUTTON);
EthernetSupW5100.addButton(led3, "Liga Led Azul", "Desliga Led Azul", FLIP_BUTTON);
EthernetSupW5100.addButton(alarme, "Liga o Alarme", "Desliga Alarme", FLIP_BUTTON);
EthernetSupW5100.addButton(porta, "Abre Porta", "", SWITCH_BUTTON);
}
void loop()
{

if (irrecv.decode(&results)) {
Serial.println(results.value, HEX);
va1 = digitalRead(led1);// lendo o status da porta de acionamento
va2 = digitalRead(led2);
va3 = digitalRead(led3);

if(results.value == 0xFF30CF and va1 == LOW) {
digitalWrite(led1, HIGH);
}
if(results.value == 0xFF30CF and va1 == HIGH) {
digitalWrite(led1, LOW);
}
if (results.value == 0xFF18E7 and va2 == LOW) {
digitalWrite(led2, HIGH);
}
if (results.value == 0xFF18E7 and va2 == HIGH) {
digitalWrite(led2, LOW);
}
if (results.value == 0xFF7A85 and va3 == HIGH) {
digitalWrite(led3, LOW);
}
if (results.value == 0xFF7A85 and va3 == LOW) {
digitalWrite(led3, HIGH);
}
irrecv.resume(); // Receive the next value
}

// Carrega HTML
EthernetSupW5100.loadHtml(server);

// Verifica se algum botao foi pressionado
int lastButton = EthernetSupW5100.getLastClickedButton();
byte state = EthernetSupW5100.getButtonState(lastButton);

// Executa o comando conforme o botao clicado
if (lastButton == led1)
{
digitalWrite(led1, state);
}
else if (lastButton == led2)
{
digitalWrite(led2, state);
} 
else if (lastButton == led3)
{
digitalWrite(led3, state);
}
else if (lastButton == alarme)
{
digitalWrite(alarme, state);
} 
else if (lastButton == porta)
{
digitalWrite(porta, HIGH);
delay(1000);
digitalWrite(porta, LOW);
}

// Delay
delay(10);
}
3
matteussantos

Level 0
89474 xp

Registrado em:
21/10/2014





Mensagens:
3
3
matteussantos

Responder com citações
Mensagem Qui Out 23, 2014 8:15 am
Ethernet + infravermelho
Bom dia thiagoyuiti!

Descobri por que os códigos do IR + Ethernet não funcionam simultaneamente. O problema é a biblioteca Ethernet SUP 5100, após vários testes e a ajuda de um amigo, descobri que o código funciona 100% com outras biblioteca. Apesar da biblioteca SUP5100 ser mais esteticamente agradável ela tem muitas incompatibilidades ainda.


Muito obrigado Thiago!
3
JefersonDut

Level 0
266805 xp

Registrado em:
25/11/2015





Mensagens:
7
3
JefersonDut

Responder com citações
Mensagem Qua Fev 10, 2016 9:53 am
Ethernet + infravermelho
Bom dia Pessoal estou com o mesmo problema porem utilizo comandos OSC pelo meu Iphone com o Touch OSC, então consigo acionar dois relés, mas não faço ideia de como adicionar a função IR do Albatross para ligar minha TV pelo Touch OSC, comprei o Shield Albatross MASTER  e funciona perfeitamente com o código do Albatross, mas não consigo fazer funcionar através do Iphone. alguem poderia me ajudar?

lucasfeitosa

Level 1
1580668 xp

Registrado em:
17/01/2013





Mensagens:
35

lucasfeitosa

Responder com citações
Mensagem Ter Jan 03, 2017 10:32 am
Ethernet + infravermelho
Bom dia,

Tente usar outra biblioteca de Ethernet, a biblioteca EthernetSupW5100 tem muita incompatibilidade.

me fala se deu certo.
Mostrar mensagens desde a última:




Ir para:  
Todos os horários são GMT - 3 HorasVocê não tem permissão para escrever novas mensagens
v não tem permissão para responder às mensagens
Você não tem permissão para editar suas mensagens
Você não tem permissão para deletar suas mensagens
Você não tem permissão para classificar tópicos
Você não tem permissão para classificar mensagens
Você não tem permissão para votar em enquetes
Anexar downloads : Proibido
Fazer Download de Arquivos: Proibido
Powered by phpBB © 2001 phpBB Group