Ir para conteúdo
View in the app

A better way to browse. Learn more.

EletrônicaBR.com

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Navegação Limpa e Sem Anúncios! (Cadastre-se)

O melhor fórum técnico do mundo está de cara nova e de portas abertas! Estamos de cara nova e com ferramentas ainda mais poderosas para a sua bancada. Faça o seu cadastro de forma rápida e simples para acessar o maior e mais atualizado acervo de Esquemas Elétricos, BIOS e Firmwares da internet.

Aqui, o conhecimento vale muito: através do nosso sistema de créditos, membros participativos ganham acesso totalmente gratuito aos downloads. Venha trocar experiências com os melhores especialistas do mercado!

👉 Técnico sem o EletrônicaBR não é um técnico completo!

 

Projeto, automação com arduino do zero

Featured Replies

Postado

Bom pessoal, a muito tempo venho querendo criar um sistema de altomaçao do zero com arduino, e resolvi colocar a mao na massa e pro pra funcionar minhas ideias.

Estou usando esse sistema no meu quarto, tenho leds por toda parte, no teto na cama, atras do painal da tv. Entao fiz um circuito onde eu poderia comando tudo isso pelo meu celular. Entendo de eletronica e um pouco de programaçao mais bem pouco mesmo de programaçao, entao muita coisa pesquisei na internet, e fui fazendo do meu jeito da formar que eu precisava.

 

Usei nesse projeto um arduino uno, e um Ethernet Shield w5100.

 

Codigo fonte do arduino.

 

#include <SPI.h>
#include <String.h>
#include <Ethernet.h>

byte mac[] = {0x90, 0xA2, 0x0D, 0x84, 0X89};
IPAddress ip(192,168,1,90);  \\ip da minha rede, troquem pelo ip da sua rede.
EthernetServer server(80);

int rele1 = 2;
int rele2 = 3;
int rele3 = 5;
int rele4 = 6;
int rele5 = 7;
int rele6 = 8;
int rele7 = 9;

int rele8 = A0;

 

String readString = String(30);

String statusrele;

void setup()
{
  Ethernet.begin(mac, ip);
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(rele5, OUTPUT);
  pinMode(rele6, OUTPUT);
  pinMode(rele7, OUTPUT);
  pinMode(rele8, OUTPUT);
 
  digitalWrite(rele1, LOW);
  digitalWrite(rele2, LOW);
  digitalWrite(rele3, LOW);
  digitalWrite(rele4, LOW);
  digitalWrite(rele5, LOW);
  digitalWrite(rele6, LOW);
  digitalWrite(rele7, LOW);
  digitalWrite(rele8, LOW);

  }

  

 void loop()
 {
  EthernetClient client = server.available();
  

  if(client)
  {
    while(client.connected())
    {
      if(client.available())
      {
        char c = client.read();
        if(readString.length() < 30) {
          readString += (c);
          }
         if(c == '\n')
        {

          if(readString.indexOf("rele1") >= 0) {
            digitalWrite(rele1, !digitalRead(rele1));
            }
           if(readString.indexOf("rele2") >= 0) {
            digitalWrite(rele2, !digitalRead(rele2));
            }
            if(readString.indexOf("rele3") >= 0) {
            digitalWrite(rele3, !digitalRead(rele3));
            }
            if(readString.indexOf("rele4") >= 0) {
            digitalWrite(rele4, !digitalRead(rele4));
            }
            if(readString.indexOf("rele5") >= 0) {
            digitalWrite(rele5, !digitalRead(rele5));
            }
            if(readString.indexOf("rele6") >= 0) {
            digitalWrite(rele6, !digitalRead(rele6));
            }
            if(readString.indexOf("rele7") >= 0) {
            digitalWrite(rele7, !digitalRead(rele7));
            }
            if(readString.indexOf("rele8") >= 0) {
            digitalWrite(rele8, !digitalRead(rele8));
            }
            
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
       // client.println("Refresh: 5");  
          client.println();
          client.println("<!doctype html>");
          client.println("<html>");
          client.println("<head>");
          client.println("<title>CASA</title>");
          client.println("<meta name=\"viewport\" content=\"width=320\">");
          client.println("<meta name=\"viewport\" content=\"width=device-width\">");
          client.println("<meta charset=\"utf-8\">");
          client.println("<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\">");
          client.println("</head>");
          client.println("<body>");
          client.println("<center>");
          client.println("<font size=\"5\" face=\"verdana\" color=\"green\">Automaçao</font>");
          client.println("<font size=\"3\" face=\"verdana\" color=\"red\">  </font>");
          client.println("<font size=\"5\" face=\"verdana\" color=\"blue\">Infocenter</font><br />");
          client.println("<form action=\"rele7\" method=\"get\">");
          client.println("<button type=submit style=\"width:200px;\">rele 7 - </button>");
          client.println("</form> <br />");
          client.println("</center>");
          client.println("</body>");
          client.println("</html>'');

 

        readString = "";

       client.stop();

           }
      
      }
    }
  }
}

 

Para a comunicaçao com arduino, no navegador, e so buscar por http://192.168.1.90/rele1?  esse rele1? e o pino programado no arduino e so trocar o numero ate o numero 8 para acionar todos os pinos programado. Vou deixar um codigo basico que utilizei para poder fazer minha pagina html.

 

<!doctype html>
<html>
<body>
     
       <label for='2'><button id="circuito1" onClick="circuito(2,'rele6?');">ligar e desligar lampada</button></label> 
       <label for='1'><button id="circuito2" onClick="circuito(1,'rele7?');">ligar e desligar lampada</button></label> 

<div id="circuito1"></div>
<div id="circuito2"></div>


<script>

    function circuito(num,setor){
        document.getElementById("circuito"+num).innerHTML = "<iframe frameborder='0' width='0px' height='0px' src='http://192.168.1.90/?"+setor+"'></iframe>"; //<?php echo $ip; ?>
        console.log("<iframe width='0%' height='0%' src='http://192.168.0.115/?"+setor+"'></iframe>"); 
    }
</script> 
</body>
</html>

 

Eu fiz uma pagina completo com animaçao, e botoes, caso precisem, depois coloco aqui no post.

 

O circuito utilizei o fritzing para desenvolver o projeto do circuito impresso,

placa.jpg

 

Circuito acionador do rele

 

eschema.jpg

 

 

E o circuito do chip do arduino para placa

 

breadboard-arduino.jpg

 

 Minha placa pronta 

 

20180323_194511.jpg20180323_195210.jpg20180323_202707.jpg20180324_182137.jpg

20180324_182145.jpg20180324_185655.jpg20180324_220408.jpg20180325_140016.jpg

  • 3 meses depois...
  • 2 semanas depois...

Participe agora da conversa!

Você pode postar agora e se cadastrar mais tarde. Se você tiver uma conta, faça login para postar com sua conta.

Visitante
Responder

Account

Navigation

Pesquisar

Pesquisar

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.