Placa de Automação residencial e Alarme

Página 2 de 4 Anterior  1, 2, 3, 4  Seguinte

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Ricardo Soares em Dom 13 Maio - 8:59

Admin escreveu:
Admin escreveu:
Ricardo Soares escreveu:Tiago, vc ja viu esse equipamento?

http://www.jfl.com.br/jfl2010/Pagina.do;jsessionid=1ibbpamfe4yuc?idSecao=21

nessa seção, tem os receptores, quando o sensor eh acionado ele aciona um rele via radio... como ficará dificil colocar sensores de presença na parede com fio... por conta de furar a laje... eu pensei em comprar esses oq acha????


Acredito que funcione sim... na parte que vai no shield de automação deve ser uma chave, ou que pelo menos se comporte como um sensor de presença normal

Com a placa de bluetooth encaixada no shield de automação (já tem o encaixe pronto) http://www.projetoarduino.com.br/produto-37-modulo_bluetooth_serial_ttl
Depois Selecionar BT e depois Conectar (o bluetooth do celular deve estar habilitado)

Digite o comando _r2on (o underline eu pus pra representar um espaço tem que ser espaço + r2on) olhando no source code vc vai ver que o shield não responde apenas a comandos de rede mas tambem a comando seriais _r2off.

Via terminal do arduino esses comando também funcionam, essa opção é caso vc queira integrar a plca com algum software


Voce nao entendeu Tiago, o equipamento substitui o sensor de fio......

quanto ao BT eu tirei ele do projeto, pra mim nao serve...


Ricardo Soares

Mensagens : 16
Data de inscrição : 05/04/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Dúvida com o shield

Mensagem  Felipe_Marques em Ter 15 Maio - 17:38

Boa nt admin,

Acabou de chegar a placa pra mim agora!!! Entaum, o código que vc mandou pra mim por e-mail foi o da versão anterior, onde tem os 8 relés, há alguma atualizção nos códigos? Blza, se eu não tiver onde estão os outros dois relés pelo que vi no código, os relés estão no a partir do 22 ao 29, seria o 30 e 31?
E sobre o o shield do sensor de efeito hall, existe uma biblioteca específica para ele, na hora da programação, assim como iremote? ele tem um AO e DO, vc poderia me dar uma ajuda?? Brigadão...

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Placa V2

Mensagem  Admin em Qua 16 Maio - 7:12

Código:


#include <SPI.h>
#include <Client.h>
#include <Ethernet.h>
#include <Server.h>
#include <Udp.h>
#include <EEPROM.h>
#include <LiquidCrystal.h>

#define BAUD_RATE 9600
#define TERM_CHAR '\n'
#define BUF_LEN  30
//#define ledPin    13

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = { 192, 168, 1, 177 };         // ip in lan
byte gateway[] = { 192, 168, 1, 254 };         // internet access via router
byte subnet[] = { 255, 255, 255, 0 };                  //subnet mask
Server server(80);                                      //server port
byte sampledata=50;            //some sample data - outputs 2 (ascii = 50 DEC)

int GazPin = 8;    // select the input pin for the potentiometer
float sensorGaz = 0;
int TempPin = 9;    // select the input pin for the potentiometer
float sensorTemp = 0;
float Temp = 0;
int i;
int count=0;
boolean DispAlarme = false;
boolean FlagAlarme = false;
boolean AIMode = false;
char c;
String readString = String(BUF_LEN); //string for fetching data from address


// O moises é uma bichinha deslumbrada e colocou tudo em inglês

int ContatoSecoState1 = 0;        // variable for reading the status
int ContatoSecoState2 = 0;        // variable for reading the status
int ContatoSecoState3 = 0;        // variable for reading the status
int ContatoSecoState4 = 0;        // variable for reading the status
int ContatoSecoState5 = 0;        // variable for reading the status
int ContatoSecoState6 = 0;        // variable for reading the status
int ContatoSecoState7 = 0;        // variable for reading the status
int ContatoSecoState8 = 0;        // variable for reading the status

int optoacopladorState1 = 0;        // variable for reading the status
int optoacopladorState2 = 0;        // variable for reading the status


const int rele1 =  22;      // Rele 1 PA0
const int rele2 =  23;      // Rele 2 PA1
const int rele3 =  24;      // Rele 3 PA2
const int rele4 =  25;      // Rele 4 PA3
const int rele5 =  26;      // Rele 5 PA4
const int rele6 =  27;      // Rele 6 PA5
const int rele7 =  28;      // Rele 7 PA6
const int rele8 =  29;      // Rele 8 PA7
const int rele9 =  42;      // Rele 8 PA7
const int rele10 =  43;      // Rele 8 PA7

const int contatoseco8 = 41;    // the number of the pushbutton pin
const int contatoseco7 = 40;    // the number of the pushbutton pin
const int contatoseco6 = 49;    // the number of the drybutton pin
const int contatoseco5 = 48;    // the number of the drybutton pin
const int contatoseco4 = 47;    // the number of the drybutton pin
const int contatoseco3 = 46;    // the number of the drybutton pin
const int contatoseco2 = 45;    // the number of the drybutton pin
const int contatoseco1 = 44;    // the number of the drybutton pin


const int optoacopladorbutton1 = 31;    // optobutton detectar 12v
const int optoacopladorbutton2 = 30;    // optobutton detectar 12v
const int Sirene = 33;    //Saida de 12 volts Até 1,5A
const int Discadora = 32;  //Saida de 12 volts até 1A 

LiquidCrystal lcd(39, 38, 34, 35, 36, 37);

void setup(){
  lcd.begin(20, 4);
 
  // Print a message to the LCD.
  lcd.print("SIS Versao 0.7");
 
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(rele5, OUTPUT);
  pinMode(rele6, OUTPUT);
  pinMode(rele7, OUTPUT);
  pinMode(rele8, OUTPUT);
  pinMode(rele9, OUTPUT);
  pinMode(rele10, OUTPUT);
  pinMode(Discadora, OUTPUT);
  pinMode(Sirene, OUTPUT);

 
  pinMode(contatoseco6, INPUT); 
  pinMode(contatoseco5, INPUT); 
  pinMode(contatoseco4, INPUT); 
  pinMode(contatoseco3, INPUT);
  pinMode(contatoseco2, INPUT); 
  pinMode(contatoseco1, INPUT);
  pinMode(contatoseco2, INPUT); 
  pinMode(contatoseco1, INPUT);

  pinMode(optoacopladorbutton1, INPUT);
  pinMode(optoacopladorbutton2, INPUT);
 
//start Ethernet
  //ip[0] = 192;//EEPROM.read(0);
  //ip[1] = 168;//EEPROM.read(1);
  //ip[2] = 1;///EEPROM.read(2);
  //ip[3] = 177;//EEPROM.read(3);
  Ethernet.begin(mac, ip, gateway, subnet);

//enable serial datada print
  Serial.begin(9600);
  Serial2.begin(9600);
  Serial1.begin(9600);
}
void loop(){
  leserial();
  rede();
  count++;
 
  if(count == 500){
  sensorGaz = analogRead(GazPin);
  lcd.setCursor(0,2);
  lcd.print("Gaz:    ");
  lcd.setCursor(4,2);
  lcd.print(sensorGaz);
 
  sensorTemp = analogRead(TempPin);
  Temp = (5 * sensorTemp * 100) / 1024;
  lcd.setCursor(8,2);
  lcd.print("Temp:      ");
  lcd.setCursor(13,2);
  lcd.print(Temp);
  count=0;
  }
              if(readString.indexOf("r1on") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele1, HIGH);    // set the LED on
            Serial.println("Ligando Rele 1");
            Serial2.println("Ligando Rele 1");
            Serial.println(readString);
          }
              if(readString.indexOf("r1off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele1, LOW);    // set the LED on
            Serial.println("Desligando Rele 1");
            Serial2.println("Desligando Rele 1");
            Serial.println(readString);
          }
              if(readString.indexOf("r2on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele2, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 2");
            Serial2.println("Ligando Rele 2");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r2off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele2, LOW);    // set the LED on
            Serial.println("Desligando Rele 2");
            Serial2.println("Desligando Rele 2");
            Serial.println(readString);
          }
          if(readString.indexOf("r3on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele3, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 3");
            Serial2.println("Ligando Rele 3");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r3off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele3, LOW);    // set the LED on
            Serial.println("Desligando Rele 3");
            Serial2.println("Desligando Rele 3");
            Serial.println(readString);
          }
            if(readString.indexOf("r4on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele4, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 4");
            Serial2.println("Ligando Rele 4");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r4off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele4, LOW);    // set the LED on
            Serial.println("Desligando Rele 4");
            Serial2.println("Desligando Rele 4");
            Serial.println(readString);
          }
         
            if(readString.indexOf("r5on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele5, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 5");
            Serial2.println("Ligando Rele 5");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r5off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele5, LOW);    // set the LED on
            Serial.println("Desligando Rele 5");
            Serial2.println("Desligando Rele 5");
            Serial.println(readString);
          }
         
            if(readString.indexOf("r6on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele6, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 6");
            Serial2.println("Ligando Rele 6");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r6off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele6, LOW);    // set the LED on
            Serial.println("Desligando Rele 6");
            Serial2.println("Desligando Rele 6");
            Serial.println(readString);
          }
            if(readString.indexOf("r7on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele7, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 7");
            Serial2.println("Ligando Rele 7");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r7off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele7, LOW);    // set the LED on
            Serial.println("Desligando Rele 7");
            Serial2.println("Desligando Rele 7");
            Serial.println(readString);
          }
            if(readString.indexOf("r8on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele8, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 8");
            Serial2.println("Ligando Rele 8");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r8off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele8, LOW);    // set the LED on
            Serial.println("Desligando Rele 8");
            Serial2.println("Desligando Rele 8");
            Serial.println(readString);
          }
            if(readString.indexOf("r9on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele9, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 9");
            Serial2.println("Ligando Rele 9");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r9off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele9, LOW);    // set the LED on
            Serial.println("Desligando Rele 9");
            Serial2.println("Desligando Rele 9");
            Serial.println(readString);
          }
            if(readString.indexOf("r10on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele10, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 10");
            Serial2.println("Ligando Rele 10");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r10off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele10, LOW);    // set the LED on
            Serial.println("Desligando Rele 10");
            Serial2.println("Desligando Rele 10");
            Serial.println(readString);
          }
////////////////////////////Aciona sirene ou dicadora ////////////////////////////////////////////


          if(readString.indexOf("all=Ativar+Alarme") >0)//replaces if(readString.contains("L=1"))
          {
            FlagAlarme = true;
            lcd.setCursor(0,1);
            lcd.print(" Alarme Ativado ");
            //delay(10000);
          }
          if(readString.indexOf("all=Desativar+Alarme") >0)//replaces if(readString.contains("L=1"))
          {
            FlagAlarme = false;
            DispAlarme = false;
            digitalWrite(Discadora, LOW);
            digitalWrite(Sirene, LOW);
            lcd.setCursor(0,1);
            lcd.print(" Alarme Desativado ");
           
          }
          if(readString.indexOf("all=DiscadoraON") >0)//replaces if(readString.contains("L=1"))
          {
            digitalWrite(Discadora, HIGH);
          }
          if(readString.indexOf("all=DiscadoraOff") >0)//replaces if(readString.contains("L=1"))
          {
            digitalWrite(Discadora, LOW);
          }
         
          if (FlagAlarme == true){
            le_sensores();         
 
     
            if (DispAlarme == true){
            digitalWrite(Sirene, HIGH);    // set the LED on
            digitalWrite(Discadora, HIGH);
            lcd.setCursor(0,1);
            lcd.print("Falha na Seguranca");
           
            }
            }
//Teste de opto acopladores detectam 9~12v podem ser usados tambem como zonas de alarmes principalmente para sensores de portas e janelas
        optoacopladorState1 = digitalRead(optoacopladorbutton1);
        optoacopladorState2 = digitalRead(optoacopladorbutton2);
       
            if(optoacopladorState1 == 0){
              lcd.setCursor(0,1);
            lcd.print("12v entrada 1");             
            }
            if(optoacopladorState2 == 0){
              lcd.setCursor(0,1);
            lcd.print("12v entrada 2");             
            }
           
//////////////////////////////////////////////////////////////////////////////////////////////////////         
          readString=""; //limpa a string depois de testa-la
 } //loop
 
//////////////////////////////////////////////////////////////////////////////////////////////////////
//Função Alarme UP
void le_sensores(){
  ContatoSecoState1 = digitalRead(contatoseco1);
  ContatoSecoState2 = digitalRead(contatoseco2);
  ContatoSecoState3 = digitalRead(contatoseco3);
  ContatoSecoState4 = digitalRead(contatoseco4);
  ContatoSecoState5 = digitalRead(contatoseco5);
  ContatoSecoState6 = digitalRead(contatoseco6);
  ContatoSecoState7 = digitalRead(contatoseco7);
  ContatoSecoState8 = digitalRead(contatoseco8);
 
  if (ContatoSecoState1 == LOW){
      DispAlarme = true;
  }
 
  if (ContatoSecoState2 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState3 == LOW){
      DispAlarme = true;
  }
 
  if (ContatoSecoState4 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState5 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState6 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState7 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState8 == LOW){
      DispAlarme = true;
  } 
 
}


//Função lê serial
void leserial(){
  // read incoming message
 while(Serial.available()){
    c = (char) Serial.read();
    if (readString.length() < 100)
      {
        //store characters to string
        readString += c; //replaces readString.append(c);
      }
    delay(1); // wait for another byte 
  }
  while(Serial2.available()){
    c = (char) Serial2.read();
    if (readString.length() < 100)
      {
        //store characters to string
        readString += c; //replaces readString.append(c);
      }
    delay(1); // wait for another byte 
  }
    while(Serial1.available()){
    c = (char) Serial1.read();
    if (readString.length() < 100)
      {
        //store characters to string
        readString += c; //replaces readString.append(c);
      }
    delay(1); // wait for another byte 
  }
 

///////////////////////////////////////////////////////////////////////////////////////////////////////// 
//Função que recebe string do navegador
 void rede(){
  // Create a client connection
Client client = server.available();
  if (client) {
    while (client.connected()) {
  if (client.available()) {
    c = client.read();
    //read char by char HTTP request
    if (readString.length() < 100)
      {
        //store characters to string
        readString += c; //replaces readString.append(c);
      }
        //output chars to serial port
     
        //if HTTP request has ended
        if (c == '\n') {
          //dirty skip of "GET /favicon.ico HTTP/1.1"
          if (readString.indexOf("?") <0)
          {
            //skip everything
          }
          //else
            //--------------------------HTML------------------------         
client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html");

client.println();

client.print("<html><head>");

client.print("<title>Arduino Webserver Poldi</title>");

client.println("</head>");

client.print("<body bgcolor='#444444'>");

//---Überschrift---
client.println("<br><hr />");

client.println("<h1><div align='center'><font color='#2076CD'>Arduino Webserver 1.0 by Mijja</font color></div></h1>");

client.println("<hr /><br>");
//---Überschrift---

//---Ausgänge schalten---
client.println("<div align='left'><font face='Verdana' color='#FFFFFF'>Painel de Controle WEB:</font></div>");

client.println("<br>");

client.println("<div align='left'><font face='Verdana' color='#FFFFFF'>Temperatura:");
client.print(Temp);
client.println("</font></div>");

client.println("<div align='left'><font face='Verdana' color='#FFFFFF'>Gaz:");
client.print(sensorGaz);
client.println("</font></div>");

client.println("<br>");

client.println("<table border='1' width='100%' cellpadding='5'>");

client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Sala<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r1on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r1off value='Apagar'></form></td>");


if (digitalRead(rele1)==HIGH)
  client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Cozinha<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r2on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r2off value='Apagar'></form></td>");

if (digitalRead(rele2) == HIGH)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Garagem<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r3on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r3off value='Apagar'></form></td>");

if (digitalRead(rele3) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////

client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Suite<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r4on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r4off value='Apagar'></form></td>");

if (digitalRead(rele4) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////

client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Quarto<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r5on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r5off value='Apagar'></form></td>");

if (digitalRead(rele5) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Banheiro Suite<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r6on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r6off value='Apagar'></form></td>");

if (digitalRead(rele6) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Escritorio<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r7on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r7off value='Apagar'></form></td>");

if (digitalRead(rele7) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Banheiro<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r8on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r8off value='Apagar'></form></td>");

if (digitalRead(rele8) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Portão Social<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r9on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r9off value='Apagar'></form></td>");

if (digitalRead(rele9) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Portão Garagem<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r10on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r10off value='Apagar'></form></td>");

if (digitalRead(rele10) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("</tr>");

client.println("</table>");


client.println("<br>");

if (FlagAlarme == 0)
client.println("<form method=get><input type=submit name=all value='Ativar Alarme'></form>");
else
client.println("<form method=get><input type=submit name=all value='Desativar Alarme'></form>");

client.println("<br>");
client.println("<form method=get><input type=submit name=all value='DiscadoraON'></form>");
client.println("<form method=get><input type=submit name=all value='DiscadoraOff'></form>");

http://client.println("<form style='height: 257px;' method='get' action='?' name='fomlu_id'></form>");
client.println("<form method=get><input name='ip' size='17' maxlength=17>");
client.println("<form method=get><input value='Salvar' type=submit></form>");


client.println("</body></html>");
         
          //stopping client
          client.stop();
            }             
          }       
        } //while             
      } //If client
 } //Void rede

Esse é o codigo já com os reles atualizados, já o transistor de efeito Hall vc pode tentar usar esse code disponivel aqui

http://arduino.cc/playground/Code/HallEffect

O irremote tamo aguardado colaboração do ricardo soares Wink
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

problema com o lcd

Mensagem  Felipe_Marques em Ter 22 Maio - 21:01

fala ai tiagão,

Cara eu coloquei a placa, td certinho, mas quando eu coloquei o lcd está com algum problema pq ele fica meia tela preta, nao consegui entender o pq? tirei uma foto de como ficou eu te mando por e-mail, se vc kiser.. abraços

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Qua 23 Maio - 6:06

posta a foto
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

duvidas

Mensagem  k_cesar em Sab 26 Maio - 13:05

tiago estava verificando as bibliotecas essa abaixo não achei no arduino vocês que fizeram.

#include Client.h>
#include Server.h>
#include Udp.h>

pq tem 3
Serial.begin(9600);
Serial2.begin(9600);
Serial1.begin(9600);
pensei um rede, bluetooth, html é isso.

Eu consigo na placa do bluetooth mudar o nome do dispositivo e a senha que vem nele.
Eu vi no seu codigo tem parte HTML teria como colocar um foto da pagina para ver como ela é.


Obrigado.

k_cesar

Mensagens : 3
Data de inscrição : 26/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

foto

Mensagem  Felipe_Marques em Sab 26 Maio - 13:27

segue a foto.... , nao sei como colocar foto por aki tentei desse jeito, mas se nao conseguir ver , eu tento colocar novamente, obrigado


http://imageshack.us/photo/my-images/521/201205221554211.jpg/


Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Dom 27 Maio - 11:49

k_cesar escreveu:tiago estava verificando as bibliotecas essa abaixo não achei no arduino vocês que fizeram.

#include Client.h>
#include Server.h>
#include Udp.h>

pq tem 3
Serial.begin(9600);
Serial2.begin(9600);
Serial1.begin(9600);
pensei um rede, bluetooth, html é isso.

Eu consigo na placa do bluetooth mudar o nome do dispositivo e a senha que vem nele.
Eu vi no seu codigo tem parte HTML teria como colocar um foto da pagina para ver como ela é.


Obrigado.

Nesse video vc consegue ver a interface HTML


A livrarias são nativas do arduino vc pode velas sendo usando no exemplo ethernet

3 seriais pq uma está sendo uma usada para aceitar comando da usb, outra do modulo bluetooth e outra do modulo APC, embora esteja no codigo funciona sem e com os 3 conectado ao mesmo tempo, tanto faz...

Com o modulo bluettoh a venda no site vc não troca a senha e nem o nome.



avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Dom 27 Maio - 11:57

Felipe_Marques escreveu:segue a foto.... , nao sei como colocar foto por aki tentei desse jeito, mas se nao conseguir ver , eu tento colocar novamente, obrigado


http://imageshack.us/photo/my-images/521/201205221554211.jpg/


Parece que seu LCD está danificado, já tentou carregar o código no arduino pra ver como fica? peço que entre em contato por email para eu poder efetuar a troca
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

interface

Mensagem  k_cesar em Dom 27 Maio - 21:47

Tiago,

Essa interface html esta em um servidor web ou roda direto do arduino.

k_cesar

Mensagens : 3
Data de inscrição : 26/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Seg 28 Maio - 7:33

Direto no arduino
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

duvidas com lcd

Mensagem  Felipe_Marques em Sab 9 Jun - 13:50

Thiago, chefou o lcd que vc postou pra mim, akele estava com problema mesmo, eu estou com uma duvida, quando eu coloco algum sensor nas portas analogicas, no caso akele pinos macho da placa, nao esta aparecendo no lcd, soh aparece sis v2, como faco pra colocar o valor da temperatura no lcd? brigadao...

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Seg 11 Jun - 9:48

Altere as seguintes linhas

void setup(){
lcd.begin(20, 4);

para

void setup(){
lcd.begin(16, 2);

e

sensorTemp = analogRead(TempPin);
Temp = (5 * sensorTemp * 100) / 1024;
lcd.setCursor(8,2);
lcd.print("Temp: ");
lcd.setCursor(13,2);
lcd.print(Temp);

para

sensorTemp = analogRead(TempPin);
Temp = (5 * sensorTemp * 100) / 1024;
lcd.setCursor(8,1); //Onde 8 é a coluna vc tem 16 colunas e 2 linhas e 1 é a segunda linha começa a se contar linha 0 e 1
lcd.print("Temp: ");
lcd.setCursor(13,1); //Vai ter que fazer alguns ajustes pra caber tudo que vc precisa
lcd.print(Temp);

Existem outras linhas no codigo que consideram o lcd 20x4 mas as principais são essas quando conseguir ajustar tudo posta o codigo pra gente colocar aqui no forum
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Revendo nomenclatura das bibliotecas

Mensagem  marcuswilker em Ter 12 Jun - 0:33

Prezado,

Neste código está sendo utilizado as libaries

Client.h
Server.h
Udp.h

As mesmas não são mais nativas no ide do arduino 1.0.1. Inclusive dando erro na compilação. Pergunto se já tem um código com as bibliotecas nativas atuais. (a exemplo: Server.h agora é EthernetServer.h).

Pergunto:

1 - As essas mudanças afetam também as funções que são chamadas a partir dessas bibliotecas (a exemplo: Server server, que seria EthernetServer server)?

2 - Ao tentar incluir a Bibliteca EthernetUdp.h (como foi feito para Client e Server), o código não o reconhece. Teria algum motivo específico para tal, visto que todas as três estão na pasta libraries do ide do arduino (subpasta Ethernet)?

marcuswilker

Mensagens : 1
Data de inscrição : 12/06/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Ter 12 Jun - 6:48

Amigo se possível use a 022, eu tentei mudar aqui mas como vc tinha previsto afeta todo o codigo, até o jeito de usar as seriais é diferente na ide 1.0
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

CÓDIGO COM LCD 16X8

Mensagem  Felipe_Marques em Qui 14 Jun - 22:06

Fala ai galera, tentei da uma ajustada com o lcd da placa... deem uma olhada e se tiver algo errado postem ai pra gente... valeu!!

Código:

#include <SPI.h>
#include <Client.h>
#include <Ethernet.h>
#include <Server.h>
#include <Udp.h>
#include <EEPROM.h>
#include <LiquidCrystal.h>

#define BAUD_RATE 9600
#define TERM_CHAR '\n'
#define BUF_LEN  30
//#define ledPin    13

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; //physical mac address
byte ip[] = { 192, 168, 1, 177 };         // ip in lan
byte gateway[] = { 192, 168, 1, 254 };         // internet access via router
byte subnet[] = { 255, 255, 255, 0 };                  //subnet mask
Server server(80);                                      //server port
byte sampledata=50;            //some sample data - outputs 2 (ascii = 50 DEC)

int GazPin = 8;    // select the input pin for the potentiometer
float sensorGaz = 0;
int TempPin = 9;    // select the input pin for the potentiometer
float sensorTemp = 0;
float Temp = 0;
int i;
int count=0;
boolean DispAlarme = false;
boolean FlagAlarme = false;
boolean AIMode = false;
char c;
String readString = String(BUF_LEN); //string for fetching data from address


// O moises é uma bichinha deslumbrada e colocou tudo em inglês

int ContatoSecoState1 = 0;        // variable for reading the status
int ContatoSecoState2 = 0;        // variable for reading the status
int ContatoSecoState3 = 0;        // variable for reading the status
int ContatoSecoState4 = 0;        // variable for reading the status
int ContatoSecoState5 = 0;        // variable for reading the status
int ContatoSecoState6 = 0;        // variable for reading the status
int ContatoSecoState7 = 0;        // variable for reading the status
int ContatoSecoState8 = 0;        // variable for reading the status

int optoacopladorState1 = 0;        // variable for reading the status
int optoacopladorState2 = 0;        // variable for reading the status


const int rele1 =  22;      // Rele 1 PA0
const int rele2 =  23;      // Rele 2 PA1
const int rele3 =  24;      // Rele 3 PA2
const int rele4 =  25;      // Rele 4 PA3
const int rele5 =  26;      // Rele 5 PA4
const int rele6 =  27;      // Rele 6 PA5
const int rele7 =  28;      // Rele 7 PA6
const int rele8 =  29;      // Rele 8 PA7
const int rele9 =  42;      // Rele 8 PA7
const int rele10 =  43;      // Rele 8 PA7

const int contatoseco8 = 41;    // the number of the pushbutton pin
const int contatoseco7 = 40;    // the number of the pushbutton pin
const int contatoseco6 = 49;    // the number of the drybutton pin
const int contatoseco5 = 48;    // the number of the drybutton pin
const int contatoseco4 = 47;    // the number of the drybutton pin
const int contatoseco3 = 46;    // the number of the drybutton pin
const int contatoseco2 = 45;    // the number of the drybutton pin
const int contatoseco1 = 44;    // the number of the drybutton pin


const int optoacopladorbutton1 = 31;    // optobutton detectar 12v
const int optoacopladorbutton2 = 30;    // optobutton detectar 12v
const int Sirene = 33;    //Saida de 12 volts Até 1,5A
const int Discadora = 32;  //Saida de 12 volts até 1A 

LiquidCrystal lcd(39, 38, 34, 35, 36, 37);

void setup(){
  lcd.begin(16, 2);
 
  // Print a message to the LCD.
  lcd.print("SIS Versao 0.7");
 
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(rele5, OUTPUT);
  pinMode(rele6, OUTPUT);
  pinMode(rele7, OUTPUT);
  pinMode(rele8, OUTPUT);
  pinMode(rele9, OUTPUT);
  pinMode(rele10, OUTPUT);
  pinMode(Discadora, OUTPUT);
  pinMode(Sirene, OUTPUT);

 
  pinMode(contatoseco6, INPUT); 
  pinMode(contatoseco5, INPUT); 
  pinMode(contatoseco4, INPUT); 
  pinMode(contatoseco3, INPUT);
  pinMode(contatoseco2, INPUT); 
  pinMode(contatoseco1, INPUT);
  pinMode(contatoseco2, INPUT); 
  pinMode(contatoseco1, INPUT);

  pinMode(optoacopladorbutton1, INPUT);
  pinMode(optoacopladorbutton2, INPUT);
 
//start Ethernet
  //ip[0] = 192;//EEPROM.read(0);
  //ip[1] = 168;//EEPROM.read(1);
  //ip[2] = 1;///EEPROM.read(2);
  //ip[3] = 177;//EEPROM.read(3);
  Ethernet.begin(mac, ip, gateway, subnet);

//enable serial datada print
  Serial.begin(9600);
  Serial2.begin(9600);
  Serial1.begin(9600);
}
void loop(){
  leserial();
  rede();
  count++;
 
  if(count == 500){
  sensorGaz = analogRead(GazPin);//
 lcd.setCursor(10,1);
 lcd.print("Gaz:    ");
 lcd.setCursor(14,1);
 lcd.print(sensorGaz);
 
  sensorTemp = analogRead(TempPin);
  Temp = (5 * sensorTemp * 100) / 1024;
  lcd.setCursor(0,1);
  lcd.print("Temp:    ");
  lcd.setCursor(5,1);
  lcd.print(Temp);
  count=0;
  }
              if(readString.indexOf("r1on") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele1, HIGH);    // set the LED on
            Serial.println("Ligando Rele 1");
            Serial2.println("Ligando Rele 1");
            Serial.println(readString);
          }
              if(readString.indexOf("r1off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele1, LOW);    // set the LED on
            Serial.println("Desligando Rele 1");
            Serial2.println("Desligando Rele 1");
            Serial.println(readString);
          }
              if(readString.indexOf("r2on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele2, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 2");
            Serial2.println("Ligando Rele 2");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r2off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele2, LOW);    // set the LED on
            Serial.println("Desligando Rele 2");
            Serial2.println("Desligando Rele 2");
            Serial.println(readString);
          }
          if(readString.indexOf("r3on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele3, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 3");
            Serial2.println("Ligando Rele 3");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r3off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele3, LOW);    // set the LED on
            Serial.println("Desligando Rele 3");
            Serial2.println("Desligando Rele 3");
            Serial.println(readString);
          }
            if(readString.indexOf("r4on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele4, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 4");
            Serial2.println("Ligando Rele 4");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r4off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele4, LOW);    // set the LED on
            Serial.println("Desligando Rele 4");
            Serial2.println("Desligando Rele 4");
            Serial.println(readString);
          }
         
            if(readString.indexOf("r5on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele5, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 5");
            Serial2.println("Ligando Rele 5");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r5off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele5, LOW);    // set the LED on
            Serial.println("Desligando Rele 5");
            Serial2.println("Desligando Rele 5");
            Serial.println(readString);
          }
         
            if(readString.indexOf("r6on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele6, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 6");
            Serial2.println("Ligando Rele 6");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r6off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele6, LOW);    // set the LED on
            Serial.println("Desligando Rele 6");
            Serial2.println("Desligando Rele 6");
            Serial.println(readString);
          }
            if(readString.indexOf("r7on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele7, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 7");
            Serial2.println("Ligando Rele 7");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r7off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele7, LOW);    // set the LED on
            Serial.println("Desligando Rele 7");
            Serial2.println("Desligando Rele 7");
            Serial.println(readString);
          }
            if(readString.indexOf("r8on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele8, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 8");
            Serial2.println("Ligando Rele 8");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r8off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele8, LOW);    // set the LED on
            Serial.println("Desligando Rele 8");
            Serial2.println("Desligando Rele 8");
            Serial.println(readString);
          }
            if(readString.indexOf("r9on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele9, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 9");
            Serial2.println("Ligando Rele 9");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r9off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele9, LOW);    // set the LED on
            Serial.println("Desligando Rele 9");
            Serial2.println("Desligando Rele 9");
            Serial.println(readString);
          }
            if(readString.indexOf("r10on") >0)//replaces if(readString.contains("L=1"))
          {   
            digitalWrite(rele10, HIGH);    // set the LED OFF       
            Serial.println("Ligando Rele 10");
            Serial2.println("Ligando Rele 10");
            Serial.println(readString);
           
          }
              if(readString.indexOf("r10off") >0)//replaces if(readString.contains("L=1"))
          {
            //led has to be turned ON
            digitalWrite(rele10, LOW);    // set the LED on
            Serial.println("Desligando Rele 10");
            Serial2.println("Desligando Rele 10");
            Serial.println(readString);
          }
////////////////////////////Aciona sirene ou dicadora ////////////////////////////////////////////


          if(readString.indexOf("all=Ativar+Alarme") >0)//replaces if(readString.contains("L=1"))
          {
            FlagAlarme = true;
            lcd.setCursor(0,1);
            lcd.print(" Alarme Ativado ");
            //delay(10000);
          }
          if(readString.indexOf("all=Desativar+Alarme") >0)//replaces if(readString.contains("L=1"))
          {
            FlagAlarme = false;
            DispAlarme = false;
            digitalWrite(Discadora, LOW);
            digitalWrite(Sirene, LOW);
            lcd.setCursor(0,1);
            lcd.print(" Alarme Desativado ");
           
          }
          if(readString.indexOf("all=DiscadoraON") >0)//replaces if(readString.contains("L=1"))
          {
            digitalWrite(Discadora, HIGH);
          }
          if(readString.indexOf("all=DiscadoraOff") >0)//replaces if(readString.contains("L=1"))
          {
            digitalWrite(Discadora, LOW);
          }
         
          if (FlagAlarme == true){
            le_sensores();         
 
     
            if (DispAlarme == true){
            digitalWrite(Sirene, HIGH);    // set the LED on
            digitalWrite(Discadora, HIGH);
            lcd.setCursor(0,1);
            lcd.print("Falha na Seguranca");
           
            }
            }
//Teste de opto acopladores detectam 9~12v podem ser usados tambem como zonas de alarmes principalmente para sensores de portas e janelas
        optoacopladorState1 = digitalRead(optoacopladorbutton1);
        optoacopladorState2 = digitalRead(optoacopladorbutton2);
       
            if(optoacopladorState1 == 0){
              lcd.setCursor(0,1);
            lcd.print("12v entrada 1");             
            }
            if(optoacopladorState2 == 0){
              lcd.setCursor(0,1);
            lcd.print("12v entrada 2");             
            }
           
//////////////////////////////////////////////////////////////////////////////////////////////////////         
          readString=""; //limpa a string depois de testa-la
 } //loop
 
//////////////////////////////////////////////////////////////////////////////////////////////////////
//Função Alarme UP
void le_sensores(){
  ContatoSecoState1 = digitalRead(contatoseco1);
  ContatoSecoState2 = digitalRead(contatoseco2);
  ContatoSecoState3 = digitalRead(contatoseco3);
  ContatoSecoState4 = digitalRead(contatoseco4);
  ContatoSecoState5 = digitalRead(contatoseco5);
  ContatoSecoState6 = digitalRead(contatoseco6);
  ContatoSecoState7 = digitalRead(contatoseco7);
  ContatoSecoState8 = digitalRead(contatoseco8);
 
  if (ContatoSecoState1 == LOW){
      DispAlarme = true;
  }
 
  if (ContatoSecoState2 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState3 == LOW){
      DispAlarme = true;
  }
 
  if (ContatoSecoState4 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState5 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState6 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState7 == LOW){
      DispAlarme = true;
  }
  if (ContatoSecoState8 == LOW){
      DispAlarme = true;
  } 
 
}


//Função lê serial
void leserial(){
  // read incoming message
 while(Serial.available()){
    c = (char) Serial.read();
    if (readString.length() < 100)
      {
        //store characters to string
        readString += c; //replaces readString.append(c);
      }
    delay(1); // wait for another byte 
  }
  while(Serial2.available()){
    c = (char) Serial2.read();
    if (readString.length() < 100)
      {
        //store characters to string
        readString += c; //replaces readString.append(c);
      }
    delay(1); // wait for another byte 
  }
    while(Serial1.available()){
    c = (char) Serial1.read();
    if (readString.length() < 100)
      {
        //store characters to string
        readString += c; //replaces readString.append(c);
      }
    delay(1); // wait for another byte 
  }
 

///////////////////////////////////////////////////////////////////////////////////////////////////////// 
//Função que recebe string do navegador
 void rede(){
  // Create a client connection
Client client = server.available();
  if (client) {
    while (client.connected()) {
  if (client.available()) {
    c = client.read();
    //read char by char HTTP request
    if (readString.length() < 100)
      {
        //store characters to string
        readString += c; //replaces readString.append(c);
      }
        //output chars to serial port
     
        //if HTTP request has ended
        if (c == '\n') {
          //dirty skip of "GET /favicon.ico HTTP/1.1"
          if (readString.indexOf("?") <0)
          {
            //skip everything
          }
          //else
            //--------------------------HTML------------------------         
client.println("HTTP/1.1 200 OK");

client.println("Content-Type: text/html");

client.println();

client.print("<html><head>");

client.print("<title>Arduino Webserver Poldi</title>");

client.println("</head>");

client.print("<body bgcolor='#444444'>");

//---Überschrift---
client.println("<br><hr />");

client.println("<h1><div align='center'><font color='#2076CD'>Arduino Webserver 1.0 by Mijja</font color></div></h1>");

client.println("<hr /><br>");
//---Überschrift---

//---Ausgänge schalten---
client.println("<div align='left'><font face='Verdana' color='#FFFFFF'>Painel de Controle WEB:</font></div>");

client.println("<br>");

client.println("<div align='left'><font face='Verdana' color='#FFFFFF'>Temperatura:");
client.print(Temp);
client.println("</font></div>");

client.println("<div align='left'><font face='Verdana' color='#FFFFFF'>Gaz:");
client.print(sensorGaz);
client.println("</font></div>");

client.println("<br>");

client.println("<table border='1' width='100%' cellpadding='5'>");

client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Sala<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r1on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r1off value='Apagar'></form></td>");


if (digitalRead(rele1)==HIGH)
  client.println("<td align='center'><font color='green' size='5'>LIG");
else
client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");

client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Cozinha<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r2on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r2off value='Apagar'></form></td>");

if (digitalRead(rele2) == HIGH)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
/////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Garagem<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r3on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r3off value='Apagar'></form></td>");

if (digitalRead(rele3) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////

client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Suite<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r4on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r4off value='Apagar'></form></td>");

if (digitalRead(rele4) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////

client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Quarto<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r5on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r5off value='Apagar'></form></td>");

if (digitalRead(rele5) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Banheiro Suite<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r6on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r6off value='Apagar'></form></td>");

if (digitalRead(rele6) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Escritorio<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r7on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r7off value='Apagar'></form></td>");

if (digitalRead(rele7) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Banheiro<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r8on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r8off value='Apagar'></form></td>");

if (digitalRead(rele8) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Portão Social<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r9on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r9off value='Apagar'></form></td>");

if (digitalRead(rele9) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("<tr bgColor='#222222'>");

client.println("<td bgcolor='#222222'><font face='Verdana' color='#CFCFCF' size='2'>Portão Garagem<br></font></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r10on value='Acender'></form></td>");

client.println("<td align='center' bgcolor='#222222'><form method=get><input type=submit name=r10off value='Apagar'></form></td>");

if (digitalRead(rele10) == 1)
 client.println("<td align='center'><font color='green' size='5'>LIG");
else
 client.println("<td align='center'><font color='#CFCFCF' size='5'>DES");
 
client.println("</tr>");
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
client.println("</tr>");

client.println("</table>");


client.println("<br>");

if (FlagAlarme == 0)
client.println("<form method=get><input type=submit name=all value='Ativar Alarme'></form>");
else
client.println("<form method=get><input type=submit name=all value='Desativar Alarme'></form>");

client.println("<br>");
client.println("<form method=get><input type=submit name=all value='DiscadoraON'></form>");
client.println("<form method=get><input type=submit name=all value='DiscadoraOff'></form>");

http://client.println("<form style='height: 257px;' method='get' action='?' name='fomlu_id'></form>");
client.println("<form method=get><input name='ip' size='17' maxlength=17>");
client.println("<form method=get><input value='Salvar' type=submit></form>");


client.println("</body></html>");
         
          //stopping client
          client.stop();
            }             
          }       
        } //while             
      } //If client
 } //Void rede


Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Sex 15 Jun - 6:55

Valeu Felipe ainda não testei mas vc foi o primeiro a contribuir com melhorias no código. Parabéns pela iniciativa
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Senha de Alarme

Mensagem  Felipe_Marques em Sab 16 Jun - 16:18

Obrigado Tiago, estamos aqui pra aprender e tentar melhorar a cada dia... Estou aprendendo bastante com a sua plaquinha e as dicas que vc vem dando pra gente. Valeu mesmo... Uma dúvida que eu tenho, eu posso colocar outra senha por voz ao invés do PROTOCOLO 345, tentei procurar no app e não achei... Queria poder mudar essa senha para ativar o alarme.. Valeu mesmo tiagao

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Dom 17 Jun - 8:20

É assim que eu gosto de perguntas diretas fáceis de responder





avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

valeu mesmo

Mensagem  Felipe_Marques em Dom 17 Jun - 11:06

cara, nao sabia que tinha aquela opçao da seta no ''when'', valeu mesmo mais uma para o aprendizado... srsrsr

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

duvida com a ethernet

Mensagem  Felipe_Marques em Qua 20 Jun - 21:42

boa nt tiago,

Uma perguntinha de prova, consegui fazer funcionar perfeitamente pelo bluetooth e tbm pela internet, show de bola... ativo alarme e desativo, ligo e desligo os relés perfeitamente, mas soh vai funcionar se eu usar o wifi do android, correto??? agora vem a pergunta, eu consigo acionar, pelo celular android, pelo 3g? tipo eu consegueria acionar toda minha casa antes de eu chegar em casa ou soh consigo mesmo usando o wifi e no raio de distancia do meu sinal wifi! Valeu tiagão...

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Qui 21 Jun - 6:17

Consegue ativar via 3g sim, repare que sua placa tem um ip local 192.168.1.177 no seu roteador vc vai fazer um port forward que vai redirecionar o ip valido da internet 189.xxx.xxx.xxx > 192.168.1.177 na porta 80 ou qualquer outra porta, no app inventor vc vai colocar o ip valido ao invés do 192.168.1.177

Porem dessa forma toda vez que vc reinicia o roteador o ip valido muda, ao invés de colocar o ip valido, alguns roteadores tem a opção de usar o http://dyn.com/dns/ ou http://www.no-ip.com/ que são serviços que vc pode ativa-los fazendo o cadastro no site e configurando o roteador de forma adequada o roteador vai passar a responder pelo nome minhacasa.noip.org sempre, não importa quantas vezes vc reinicie o roteador, ai no app inventor ao invés de colocar 192.168.1.177 vc coloca minhacasa.noip.org

A proposito vc conseguiu melhorar a rotina do alarme ?
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Felipe_Marques em Dom 24 Jun - 11:05

Desculpa pela demora, estava envolvido com o rio +20, ai nao tive tempo para nada... Vou da uma pesquisada no q vc me explicou, nunca fiz nada desse tipo, bom que eh mais uma coisa pra aprender!! Tenho cadastro no-ip, mas nuca tinha feito nada usando ele. Sobre a rotina do alarme, consigui mudar sim, a principio tinha colocado no app letra maiscula ai ele nao gi ha funcionado mas logo coloquei letra ninuscula e funcionou perfeitamente!!! Estou fazendo um password para o caso de perca ou furto do celular ninguem tenha acesso aos dados do app e com isso ninguem desative meu alarme e meus reles maldosamente!!! Assim que eh fizer algo postarei pra quem quiser da uma ideia ou colocar tbm no programa!! Abracos

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Admin em Seg 25 Jun - 7:04

O certo seria implementar uma senha do lado do arduino pois assim que vc colocar online com o no-ip vc qualquer pessoa vai conseguir acessar seu sistema de alarme com http://meuendereço.no-ip.org:porta. essa é a fronteira final para que o produto se torne comercial e não apenas para desenvolvedores
avatar
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 36
Localização : Franca

Ver perfil do usuário http://projetoarduino.forum-livre.com

Voltar ao Topo Ir em baixo

senhas

Mensagem  Felipe_Marques em Qua 27 Jun - 18:50

Sim, verdade vc falou td... Seria como colocar tipo um login e uma senha para acesso na net, pq qualquer um teria acesso ao meus sistemas, dessa maneira... Tenho essa possibilidade de colocar senha no arduino para ter esse acesso restrito? Seria, tipo um código de acesso pelo próprio Android, acho q seria mais fazcil de fazer... Sobre akela saída acoplada que tem na placa, como eu aciono ela? O que eu poderia, por exemplo, ligar nelas? Abracos

Felipe_Marques

Mensagens : 15
Data de inscrição : 09/05/2012

Ver perfil do usuário

Voltar ao Topo Ir em baixo

Re: Placa de Automação residencial e Alarme

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Página 2 de 4 Anterior  1, 2, 3, 4  Seguinte

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum