Projeto Arduino
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Placa de Automação residencial e Alarme

+9
xxispatox
Rogério Novais
Leandro Piereti
danseidel
marcuswilker
k_cesar
Felipe_Marques
Ricardo Soares
Admin
13 participantes

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

Ir para baixo

Placa de Automação residencial e Alarme Empty Placa de Automação residencial e Alarme

Mensagem  Admin Dom 26 Fev - 6:12

O video já explica o funcionamento


http://www.projetoarduino.com.br/produto-34-shield_automacao_e_alarme_residencial

http://www.projetoarduino.com.br/produto-27-ethernet_shield_w5100_wiznet

http://www.projetoarduino.com.br/produto-19-arduino_mega_uno_2560



O código do arduino é este daqui
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 buttonState1 = 0;        // variable for reading the pushbutton status
int buttonState2 = 0;        // variable for reading the pushbutton status
int buttonState3 = 0;        // variable for reading the pushbutton status
int buttonState4 = 0;        // variable for reading the pushbutton status


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 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 buttonDown = 43;    // the number of the pushbutton pin
const int buttonLeft = 41;    // the number of the pushbutton pin
const int buttonUp = 42;    // the number of the pushbutton pin
const int buttonRight = 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(Discadora, OUTPUT);
  pinMode(Sirene, OUTPUT);

 
  pinMode(buttonDown, INPUT); 
  pinMode(buttonLeft, INPUT); 
  pinMode(buttonUp, INPUT); 
  pinMode(buttonRight, INPUT);
 
  pinMode(contatoseco6, INPUT); 
  pinMode(contatoseco5, INPUT); 
  pinMode(contatoseco4, INPUT); 
  pinMode(contatoseco3, 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);
          }
////////////////////////////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");             
            }
           
/////////////////////////// Leitura do Botões//////////////////////////////////////////////////////         
            if(digitalRead(buttonDown) == HIGH)
          {
            lcd.setCursor(0,1);
            lcd.print("  Botao Down  ");
          }
         
          if(digitalRead(buttonLeft) == HIGH)
          {
            lcd.setCursor(0,1);
            lcd.print("  Botao Left  ");
          }
         
          if(digitalRead(buttonUp) == HIGH)
          {
            lcd.setCursor(0,1);
            lcd.print("  Botao UP  ");
          }
         
          if(digitalRead(buttonRight) == HIGH)
          {
            lcd.setCursor(0,1);
            lcd.print("  Botao Right  ");
          }
//////////////////////////////////////////////////////////////////////////////////////////////////////         
          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);
 
  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;
  }
 
}


//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>");

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

Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Qua 7 Mar - 8:52

Primeira imagem da Placa de automação V2


Placa de Automação residencial e Alarme Imag0310

Agora ela tem 10 reles + 8 entradas para alarme, melhor posicionamento do LCD que tambem mudou para um 16x2, fonte mais eficiente que aquece muito menos, e possibilidade de usar interruptores em paralelo
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Perguntinhas básicas.....

Mensagem  Ricardo Soares Qui 5 Abr - 12:44

Admin... vamos la... chegou a plca aki.... certo... ta tudo ligado.... porem nao entendi...
1º vc ja mandou a placa gravada...
2º não consigo upar nada nela..
3º quero acrescentar mais portas, tenho mais 8 reles aki ja...
4º o MIT, nao consigo subir nada para o MIT, para ver o que vc fez... gostaria de deixar o mit com minha cara.... pode me ajudar?

Perguntas resolvidas!

agora existe outra dúvida.... vc me enviou os arquivos do appinventor, faltando dados? ou eh akele que vc mostra no video????

no seu video ligava os 8 reles, aki só tem 6....

fora que faltam mais os que vc acrescentou, vc nao mexeu no app neh ADMIN?

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Sex 6 Abr - 8:27

1º A placa foi gravada com o source já carregado mas já o enviei pra vc e vc pode carrega-lo por quantas vezes achar conveniente, use o software 0022

2° Se não tem experiencia com o arduino recomendo que leia

http://arduino.cc/en/Guide/Troubleshooting#toc1

3º Vc pode usar as portas D2, D3, D4, D5, D6, D7, D8, A0

4º Os arquivo o APP INVENTOR estão corretos, vc necesssita do SVOX TTS instalado no seu android com o plugin BR (que é pago)

5º É preciso adicionar no software do APP Inventor para ele acionar o 9º e o 10º rele
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Svox

Mensagem  Ricardo Soares Ter 17 Abr - 0:58

O Tiago... seguinte.... sempre precisarei estar conectado via internet para ativar o alarme???? para que o google reconheça oq eu falei?

para eu eu acione todos os reles... posso usar o array? tipo... algo assim....:

byte rows[8] = {9, 14, 8, 12, 1, 7, 2, 5};

void doubleBuffer() {
digitalWrite(translatePin(rows[screenRow]), LOW);
digitalWrite(translatePin(cols[screenCol]), HIGH);

screenCol++;
if (screenCol >= Cool {
screenCol = 0;
screenRow++;
if (screenRow >= Cool {
screenRow = 0;
}
}

só um exemplo que achei....

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Ter 17 Abr - 8:49

Exato a API do google para reconhecimento de voz só funciona online.

A respeito do código não é mais fácil colocar todos os pinos em alto de um vez só

digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
digitalWrite(rele3, HIGH);
digitalWrite(rele4, HIGH);
digitalWrite(rele5, HIGH);
....

Agora se vc quiser usar o array fique a vontade porem eu não consegui entender a logica do fragmento de codigo
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Ricardo Soares Ter 17 Abr - 8:52

Admin escreveu:Exato a API do google para reconhecimento de voz só funciona online.

A respeito do código não é mais fácil colocar todos os pinos em alto de um vez só

digitalWrite(rele1, HIGH);
digitalWrite(rele2, HIGH);
digitalWrite(rele3, HIGH);
digitalWrite(rele4, HIGH);
digitalWrite(rele5, HIGH);
....

Agora se vc quiser usar o array fique a vontade porem eu não consegui entender a logica do fragmento de codigo

Mas tiago, se eu colocar tudo alto... tem como eu criar um botao no android para acionar tudo de uma vez? ou desligar... tudo de uma vez?

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Ter 17 Abr - 8:55

Sim
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Ricardo Soares Ter 17 Abr - 9:07

Admin escreveu:Sim

se eu tiver errado, me corrija.... mas posso criar, pelo que vi no blocks neh.... onde posso criar mais acessors, pelo web1.url - make text - ali posso acrescentar quantas linhas quiser correto?

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty desenho do aplicativo...

Mensagem  Ricardo Soares Ter 17 Abr - 10:27

tiagão, bom dia, consegui fazer tudo aki... só to com uma duvida, por exemplo, eu quero substituir o desenho que vc colocou, por lampadas mesmo... achei uma que fica desligada, outra acesa, só que nao quero clicar no desenho e ela permanecer ligado... e sim tipo, "piscar", é possivel?

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty BOTAO EXTERNO

Mensagem  Ricardo Soares Qua 18 Abr - 11:59

tiago... la vai mais uma.....

aki tem 8 entradas... quero usar 2 para abrir portao social, e outra para portao garagem.... como? quero usar reles... para abrir e fechar contato ao mesmo tempo... como um pulso..... como faço????


ja resolvido.....

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

se quiserem dar uma olhada...

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Dom 29 Abr - 16:13

E ai alguma novidade ?
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty controlar tv

Mensagem  Ricardo Soares Ter 1 maio - 0:55

Admin escreveu: E ai alguma novidade ?

e aew tiago, até tem cara... eu atrasei por conta de chuva, o termino das instalações... e nessa de ficar em ksa... estou estudando o IRremote, para usar com o arduino... testei.. funciona mtooo legal.... porem to com duas duvidas grandes....

adicionar o codigo no codigo que vc fez.... e depois acessar pela WEB para eu montar o app...

cara segue o código... tem mais coisas.. mas queria só uma explicação de como fazer.... fiz aki mas nao ta dando certo....

sem o seu codigo ele funciona bem legal... com ele... nada....

IRsend irsend;

void setup()
{
Serial.begin(9600);
pinMode (9, OUTPUT);
digitalWrite (9,LOW);

}
int n = 0;
void loop() {
char c = Serial.read();
if (c == 'a') {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(100);
}
}
}

esse codigo é basico para ligar/desligar a tv da sony... mas tenho da semptoshiba ja, tenho da phillips... tudo pronto, o codigo inteiro.. mas acho que com esse se vc puder me ajudar, o resto se torna mais facil....

abraços.... e obrigado...

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Ter 1 maio - 8:13

Ricardo não tá funcionando pq o pino 9 é usado pelo wiznet, pinos 9,10,11,12 são as portas SPI por isso devem estar conflitantes as livrarias tente usar outro pino para o IR
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Ricardo Soares Ter 1 maio - 23:14

Admin escreveu:Ricardo não tá funcionando pq o pino 9 é usado pelo wiznet, pinos 9,10,11,12 são as portas SPI por isso devem estar conflitantes as livrarias tente usar outro pino para o IR

Alem disso Tiago, eu nao sei colocar, onde colocar o codigo.... toda fez que coloco ele, aparece um monte de erro... é isso que nao consigo fazer....Adaptar o código na placa.... uma vez que tem o código que tu fez junto....

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Qua 2 maio - 6:41

Posta seu codigo ai que eu mostro aonde colocar
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Ricardo Soares Qua 2 maio - 7:23

Admin escreveu:Posta seu codigo ai que eu mostro aonde colocar

#include < IRremote.h >

IRsend irsend;

void setup()
{
Serial.begin(9600);
pinMode (9, OUTPUT); / / A biblioteca inicializa pino 3 como uma saída
digitalWrite (9, LOW) ;/ / Como nosso LED é ligado ao pino 9, inicializá-lo aqui
}

void loop() {
char c = Serial.read();
if (c == 'a') {
for (int i = 0; i < 3; i++) {
irsend.sendSony(0xa90, 12); // Sony TV power code
delay(100);
}
}
}

Para eu poder criar os códigos em HTML depois, posso usar a mesma idéia sua????
Onde vc fala....
EXEMPLO:
if(readString.indexOf("r2on") >0)
Serial.println("Ligando Rele 2");
Serial2.println("Ligando Rele 2");
Serial.println(readString);

Como no caso eu usei uma letra... posso Substituir o seu,
dessa forma...
exemplo
if(readString.indexOf("a") >0)
{
digitalWrite(9, Low);
Serial.println("PowerTv");
Serial.println(readString);
}

mais ou menos isso ou eu to loco????

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Dúvida com o bluetoth

Mensagem  Felipe_Marques Qua 9 maio - 13:28

Bom dia galera, gostaria de saber se com esse código eu consigo controlar os relés apenas com o bluetoth sem a internet nesta placa de automaçao?

Felipe_Marques

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Qua 9 maio - 16:03

Sim consegue
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Fonte 12v + saida para discadora e sirene

Mensagem  Ricardo Soares Sex 11 maio - 7:32

Tiago, bom dia...
Cara.. a fonte 12v posso ligar no bourner? assim eu nao precisaria fazer um pluguinho....

e a saida da discadora e sirene?
to com o equipamento aki mas nao entendi onde , como e o que fazer depois..kkk,

Aki sempre da falha na seguranção.. mesmo com o sensor de presença ligado... pq????

e kd o manual que vc disse????

abraços;...

Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Sex 11 maio - 9:39

O manual já foi enviado por email

Aquele bourne é comum ao plug de enegia, ali vc pode conectar a bateria de 12 volts pra ela já ir carregando ou mesmo vc pode ligar diretamente uma fonte, tambem uso aquele bourne ligar o fio de alimentação dos sensores de movimento e tudo mais que necessite de 12v.

A falha de seguarança ocorre pq vc não ligou todos os sensores, aqueles pinos S1, S2 ...S8 onde vão ligados os sensores devem estar jumpeados ou todos conectados a sensores, se ele ficarem abertos significa que algum sensor acionou então dispara o alarme.

A discadora em alarmes comerciais é ligada juntamente com a sirene, ou seja quando aplicado 12v ela disca para o numero programado nela, algumas possuem um 3º fio que aciona a sirene caso venha a ter 12 volts (tem que ler o manual da discadora).. mas aqui costumo ligar na saida de 12v de 800ma aquele logo ao lado do sensor de 12v, não gosto de ligar junto com a sirene pois espero um implementar o disparo silencioso, muito ultil caso vc seja feito refem e seja obrigado a desarmar o alarme na frente do bandidos
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Alarme sem fio

Mensagem  Ricardo Soares Sex 11 maio - 12:57

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????


Ricardo Soares

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty enviar bt

Mensagem  Felipe_Marques Sex 11 maio - 16:00

Tiagao, boa tarde!!
No app do android, aquele enviar bt e conectar bt eh o q?? abracao...

Felipe_Marques

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

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Dom 13 maio - 6:45

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
Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Admin Dom 13 maio - 6:51

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

Admin
Admin
Admin

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

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Placa de Automação residencial e Alarme Empty Re: Placa de Automação residencial e Alarme

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

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

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos