Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Automação Residencial com Arduino e Comandos Shell

A integração de comandos Shell com o Arduino permite a criação de projetos de automação residencial mais robustos e flexíveis. Utilizando comandos Shell, é possível controlar dispositivos conectados ao Arduino através de um terminal de comando, facilitando a automação e o controle remoto. Este artigo explora como utilizar comandos Shell em conjunto com o Arduino para criar um sistema de automação residencial, detalhando o processo e fornecendo exemplos práticos.

Projeto: O projeto consiste em criar um sistema de automação residencial que permita controlar dispositivos eletrônicos como luzes e ventiladores através de comandos Shell. O objetivo é proporcionar uma interface simples e eficiente para o controle de dispositivos, utilizando um Arduino conectado a um computador ou servidor. As funcionalidades incluem ligar e desligar dispositivos, monitorar o estado dos dispositivos e fornecer feedback ao usuário.

Lista de componentes:

  • 1 Arduino Uno
  • 1 Módulo Relé de 4 canais
  • 1 Computador ou Servidor com Linux
  • 1 Cabo USB para conexão do Arduino
  • Fios Jumper
  • 1 Lâmpada (ou outro dispositivo eletrônico para teste)
  • 1 Fonte de alimentação para a lâmpada

Exemplos:

  1. Configuração do Arduino:

    Primeiro, carregue o seguinte código no Arduino para configurar os pinos de controle dos relés:

    // Código Arduino para controle de relés
    int relay1 = 2;
    int relay2 = 3;
    int relay3 = 4;
    int relay4 = 5;
    
    void setup() {
       // Configura os pinos dos relés como saída
       pinMode(relay1, OUTPUT);
       pinMode(relay2, OUTPUT);
       pinMode(relay3, OUTPUT);
       pinMode(relay4, OUTPUT);
    
       // Inicializa os relés como desligados
       digitalWrite(relay1, HIGH);
       digitalWrite(relay2, HIGH);
       digitalWrite(relay3, HIGH);
       digitalWrite(relay4, HIGH);
    }
    
    void loop() {
       // O loop permanece vazio, pois o controle será feito via comandos Shell
    }
  2. Comunicação Serial com o Arduino:

    No computador ou servidor, instale o software screen para comunicação serial:

    sudo apt-get install screen

    Conecte ao Arduino via porta serial (substitua /dev/ttyUSB0 pela porta correta):

    screen /dev/ttyUSB0 9600
  3. Scripts Shell para Controle:

    Crie scripts Shell para controlar os relés. Por exemplo, para ligar e desligar o relé 1:

    # Script para ligar o relé 1
    echo "Ligar relé 1"
    echo "relay1_on" > /dev/ttyUSB0
    
    # Script para desligar o relé 1
    echo "Desligar relé 1"
    echo "relay1_off" > /dev/ttyUSB0
  4. Modificação do Código Arduino para Responder a Comandos:

    Modifique o código Arduino para responder aos comandos recebidos via porta serial:

    void loop() {
       if (Serial.available() > 0) {
           String command = Serial.readStringUntil('\n');
    
           if (command == "relay1_on") {
               digitalWrite(relay1, LOW); // Liga o relé 1
           } else if (command == "relay1_off") {
               digitalWrite(relay1, HIGH); // Desliga o relé 1
           }
           // Adicione condições para os outros relés conforme necessário
       }
    }
  5. Automação e Agendamento:

    Utilize o cron para agendar comandos Shell e automatizar o controle dos dispositivos:

    # Abre o crontab para edição
    crontab -e
    
    # Adiciona uma tarefa para ligar o relé 1 às 18:00 todos os dias
    0 18 * * * echo "relay1_on" > /dev/ttyUSB0
    
    # Adiciona uma tarefa para desligar o relé 1 às 23:00 todos os dias
    0 23 * * * echo "relay1_off" > /dev/ttyUSB0

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.