Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Automação Residencial JARVIS v1 com Arduino Nano – Tutorial Passo a Passo

Componentes e Materiais

Ferramentas Necessárias

Software

Sobre o Projeto

Por Que Construímos Isso?

Sendo fã do Homem de Ferro, fui inspirado pelo JARVIS, um assistente pessoal controlado por voz, e quis construir meu próprio sistema de automação residencial com Arduino. Embora existam muitos sistemas prontos, decidi criar o meu.

Como Funciona

O objetivo é controlar dispositivos elétricos/eletrônicos (luzes, ventilador, TV, etc.) usando Arduino e circuitos de relé instalados em cada cômodo. Os dados são enviados ao Arduino via módulo Bluetooth a partir de um celular. Implementações futuras podem expandir as funcionalidades.

A tarefa principal é adquirir comandos de voz no celular e publicá-los no Arduino via Bluetooth. Com esses dados, controla-se o liga/desliga dos dispositivos.

Construção do Hardware

A circuitaria é muito simples. O custo total fica abaixo de US$ 20.

Passo 1: Peças e Materiais

Automação Residencial JARVIS v1 com Arduino Nano – Tutorial Passo a Passo

Passo 2: Conexões

As conexões abaixo usam jumpers. Para demonstração, usei 4 relés (controlam 4 dispositivos).

Automação Residencial JARVIS v1 com Arduino Nano – Tutorial Passo a Passo

Arduino → Módulo BT:

Arduino → Placa de Relé:

Passo 3: O Código

Código de exemplo abaixo (também disponível no repositório do GitHub).

String voice;
int led1 = 2, led2 = 3, led3 = 4, led4 = 5, led5 = 6;

void allon() {
  digitalWrite(led1, HIGH); digitalWrite(led2, HIGH);
  digitalWrite(led3, HIGH); digitalWrite(led4, HIGH);
  digitalWrite(led5, HIGH);
}
void alloff() {
  digitalWrite(led1, LOW); digitalWrite(led2, LOW);
  digitalWrite(led3, LOW); digitalWrite(led4, LOW);
  digitalWrite(led5, LOW);
}

void setup() {
  Serial.begin(9600);
  pinMode(led1, OUTPUT); pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT); pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
}

void loop() {
  while (Serial.available()) {
    delay(10);
    char c = Serial.read();
    if (c == '#') break;
    voice += c;
  }
  if (voice.length() > 0) {
    Serial.println(voice);
    // Controle múltiplo
    if (voice == "*all on") allon();
    else if (voice == "*all off") alloff();
    // Liga individual
    else if (voice == "*TV on") digitalWrite(led1, HIGH);
    else if (voice == "*fan on") digitalWrite(led2, HIGH);
    else if (voice == "*computer on") digitalWrite(led3, HIGH);
    else if (voice == "*bedroom lights on") digitalWrite(led4, HIGH);
    else if (voice == "*bathroom lights on") digitalWrite(led5, HIGH);
    // Desliga individual
    else if (voice == "*TV off") digitalWrite(led1, LOW);
    else if (voice == "*fan off") digitalWrite(led2, LOW);
    else if (voice == "*computer off") digitalWrite(led3, LOW);
    else if (voice == "*bedroom lights off") digitalWrite(led4, LOW);
    else if (voice == "*bathroom lights off") digitalWrite(led5, LOW);
    voice = "";
  }
}

Passo 4: Aplicativo

Por enquanto, usamos um app pronto. Futuramente publicarei o aplicativo próprio.

BT Voice Control for Arduino por SimpleLabsIN: Download APK

Vídeo de Demonstração

Atualmente a funcionalidade limita-se a ligar/desligar dispositivos, mas processa linguagem natural em nível básico, permitindo integrar NLP a outros projetos.

Muito obrigado ao Hackster.io por permitir que eu e todos os usuários desta plataforma participem.

Obrigado por realizar atividades que incentivam jovens e adolescentes a criar e inventar.

Deixe um joinha se ajudou e siga meu canal para projetos interessantes. Compartilhe se gostou. Inscreva-se: YouTube

Obrigado por ler!

Código

Código de Exemplo (Arduino)

//Coded By: Angelo Casimiro (4/27/14)
//Voice Activated Arduino (Bluetooth + Android)
//Feel free to modify but remember to give credit
String voice;
int led1 = 2, led2 = 3, led3 = 4, led4 = 5, led5 = 6;

void allon() {
  digitalWrite(led1, HIGH); digitalWrite(led2, HIGH);
  digitalWrite(led3, HIGH); digitalWrite(led4, HIGH);
  digitalWrite(led5, HIGH);
}
void alloff() {
  digitalWrite(led1, LOW); digitalWrite(led2, LOW);
  digitalWrite(led3, LOW); digitalWrite(led4, LOW);
  digitalWrite(led5, LOW);
}

void setup() {
  Serial.begin(9600);
  pinMode(led1, OUTPUT); pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT); pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
}

void loop() {
  while (Serial.available()) {
    delay(10);
    char c = Serial.read();
    if (c == '#') break;
    voice += c;
  }
  if (voice.length() > 0) {
    Serial.println(voice);
    if (voice == "*all on") allon();
    else if (voice == "*all off") alloff();
    else if (voice == "*TV on") digitalWrite(led1, HIGH);
    else if (voice == "*fan on") digitalWrite(led2, HIGH);
    else if (voice == "*computer on") digitalWrite(led3, HIGH);
    else if (voice == "*bedroom lights on") digitalWrite(led4, HIGH);
    else if (voice == "*bathroom lights on") digitalWrite(led5, HIGH);
    else if (voice == "*TV off") digitalWrite(led1, LOW);
    else if (voice == "*fan off") digitalWrite(led2, LOW);
    else if (voice == "*computer off") digitalWrite(led3, LOW);
    else if (voice == "*bedroom lights off") digitalWrite(led4, LOW);
    else if (voice == "*bathroom lights off") digitalWrite(led5, LOW);
    voice = "";
  }
}

Repositório do Projeto

GitHub: Arduino-Tutorial-JARVIS-v1

Esquemático

Automação Residencial JARVIS v1 com Arduino Nano – Tutorial Passo a Passo

Processo de manufatura

  1. Construa Sistema de Automação Residencial com Raspberry Pi para Controle Remoto
  2. Construa Sua Própria Máquina de Escrever Deveres de Casa (Plotter de Caneta) em Casa
  3. Find Me: Localizador Inteligente de Objetos com Arduino e Bluetooth
  4. Crie um Botão de Teclado "Socável" Personalizado com Arduino: Guia Passo a Passo
  5. Volante Joystick Arduino Personalizado para Jogos
  6. Criar Tons Musicais com Arduino: Um Guia Passo a Passo
  7. Porta Automática com Arduino e Sensor Ultrassônico HC-SR04
  8. Sistema Avançado de Monitoramento Residencial com Arduino Mega e Sensores IoT
  9. Construa um Carro Controlado por Bluetooth com Arduino: Guia DIY Completo
  10. Dominando Modbus no Arduino: Guia Passo a Passo