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

Tutorial do Arduino:JARVIS v1 | Como fazer uma automação residencial

Componentes e suprimentos

Arduino Nano R3
× 1
Módulo de retransmissão (genérico)
× 4
Módulo Bluetooth Low Energy (BLE) (Genérico)
× 1
Breadboard (genérico)
× 1
Fios de jumpers (genérico)
× 10

Ferramentas e máquinas necessárias

Ferro de soldar (genérico)

Aplicativos e serviços online

Arduino IDE

Sobre este projeto





Por que construímos isso?


Sendo um fã do Homem de Ferro, fiquei muito inspirado por JARVIS, um assistente pessoal controlado por voz e eu queria muito construir um sistema de automação residencial. Embora existam muitos sistemas disponíveis, decidi construir meu próprio sistema de automação residencial usando o Arduino.





Como funciona:


Este projeto visa controlar dispositivos elétricos e eletrônicos como Luz, Ventilador, TV, etc. Isso é feito usando o Arduino e o circuito de retransmissão que é instalado em cada cômodo da casa. Os dados serão publicados no Arduino via módulo Bluetooth e outras implementações podem ser feitas.

A principal tarefa seria adquirir os dados e publicá-los no Arduino usando um dispositivo móvel. E posteriormente com os dados, pode ser feito um controle para ligar / desligar os aparelhos.





Construção de Hardware


O circuito é muito simples. O custo geral deste produto seria inferior a $ 20.





Etapa 1:peças e materiais


Os componentes necessários para este projeto são:
  • Arduino
  • Relay Breakout board
  • Módulo Bluetooth - HC-05
  • Cabos de jumpers





Etapa 2:conexões


As conexões a seguir são feitas usando cabos Jumper. Para esta demonstração, usei quatro relés, o que significa que quatro dispositivos podem ser controlados usando o APP.

* Arduino -> MÓDULO BT *
  • TX -> RX
  • RX -> TX
  • VCC -> 3,3v
  • GND -> GND

* Arduino -> Relay Board *
  • IN1 -> D2
  • IN2 -> D3
  • IN3 -> D4
  • IN4 -> D5
  • VCC -> VCC
  • GND -> GND





Etapa 3:o código


Você pode encontrar o código de exemplo abaixo.
  String voice; 
int
led1 =2, // Conecte o LED 1 ao pino 2
led2 =3, // Conecte o LED 2 ao pino 3
led3 =4, // Conecte o LED 3 ao pino 4
led4 =5, // Conecte o LED 4 ao pino 5
led5 =6; // Conecte o LED 5 ao pino # 6
// -------------------------- Chame uma função ------ ------------------------- //
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);
}
// ----------------------------- ------------------------------------------ //
configuração nula () {
Serial.begin (9600);
pinMode (led1, OUTPUT);
pinMode (led2, OUTPUT);
pinMode (led3, OUTPUT);
pinMode (led4, OUTPUT);
pinMode (led5, OUTPUT);
}
// -------------------- -------------------------------------------------- - //
void loop () {
while (Serial.available ()) {// Verificar se há um byte disponível para ler
delay (10); // Atraso adicionado para tornar a coisa estável
char c =Serial.read (); // Realizar uma leitura serial
if (c =='#') {break;} // Sai do loop quando o # é detectado após a palavra
voz + =c; // Abreviação de voice =voice + c
}
if (voice.length ()> 0) {
Serial.println (voz);
// ---- -------------------------------------------------- ----------------- //
// ---------- Controle vários pinos / LEDs ---------- //
if (voice =="* all on") {allon ();} // Desativa todos os pinos (função de chamada)
else if (voice =="* all off") { alloff ();} // Ativar todos os pinos (função de chamada)

// ---------- Ativar um por um -------- - //
else if (voice =="* TV on") {digitalWrite (led1, HIGH);}
else if (voice =="* fan on") {digitalWrite (led2, ALTO);}
else if (voz =="* computador ligado") {digitalWrite (led3, HIGH);}
else if (voz =="* luzes do quarto acesas") {digitalWrite (led4 , HIGH);}
else if (voice =="* banheiro lights on") {digitalWrite (led5, HIGH);}
// ---------- Desligue um -Por um ---------- //
else if (voz =="* TV desligada") {digitalWrite (led1, LOW);}
else if (voz =="* ventilador desligado") {digitalWrite (led2, LOW);}
else if (voz =="* compute r off ") {digitalWrite (led3, LOW);}
else if (voz ==" * luzes do quarto apagadas ") {digitalWrite (led4, LOW);}
else if (voz ==" * luzes do banheiro apagadas ") {digitalWrite (led5, LOW);}
// ----------------------------- ------------------------------------------ //
voz ="";}} // Redefine a variável após iniciar





Etapa 4:Aplicativo


Por enquanto usaremos o aplicativo pronto. Nos dias seguintes publicarei o aplicativo uma vez após o processamento dos certificados.

BT Voice Control para Arduino criado por SimpleLabsIN:https://apkpure.com/bt-voice-control-for-arduino/robotspace.simplelabs.amr_voice/download?from=details





Vídeo de trabalho deste projeto:


Atualmente, a funcionalidade se limita a ligar ou desligar os dispositivos, mas pode processar a linguagem natural em nível básico que permite ao usuário integrar o processamento da linguagem natural aos outros projetos.




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

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

Dê um joinha se realmente te ajudou e siga meu canal para projetos interessantes. :)

Compartilhe este vídeo se quiser.

Feliz por ter se inscrito:https://www.youtube.com/c/rahulkhanna24june?sub_confirmation=1

Obrigado por ler!

Código

  • Amostra de código
Amostra de código Arduino
 // Codificado por:Angelo Casimiro (27/4/14) // Arduino ativado por voz (Bluetooth + Android) // Sinta-se à vontade para modificá-lo, mas lembre-se de dar creditString voice; intled1 =2, // Conectar LED 1 Para o pino # 2led2 =3, // Conecte o LED 2 ao pino # 3led3 =4, // Conecte o LED 3 ao pino # 4led4 =5, // Conecte o LED 4 ao pino # 5led5 =6; // Conecte o LED 5 ao pino 6 // -------------------------- Chame uma função ---------- --------------------- // 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 ()) {// Verificar se houver um byte disponível para ler o retardo (10); // Atraso adicionado para tornar a coisa estável char c =Serial.read (); // Realiza uma leitura serial if (c =='#') {break;} // Sai do loop quando o # é detectado após a palavra voice + =c; // Abreviação de voice =voice + c} if (voice.length ()> 0) {Serial.println (voice); // -------------------- -------------------------------------------------- - // // ---------- Controle vários pinos / LEDs ---------- // if (voice =="* all on") {allon ();} / / Desativar todos os pinos (função de chamada) else if (voz =="* all off") {alloff ();} // Ativar todos os pinos (função de chamada) // ---------- Ativar On One-By-One ---------- // else if (voice =="* TV on") {digitalWrite (led1, HIGH);} else if (voice =="* fan on" ) {digitalWrite (led2, HIGH);} else if (voz =="* computer on") {digitalWrite (led3, HIGH);} else if (voz =="* luzes do quarto acesas") {digitalWrite (led4, HIGH) );} else if (voice =="* banheiro lights on") {digitalWrite (led5, HIGH);} // ---------- Desligue um por um ------ ---- // else if (voice =="* TV off") {digitalWrite (led1, LOW);} else if (voice =="* fan off") {digitalWrite (led2, LOW);} else if (voz =="* computador desligado") {digitalWrite (led3, LOW);} else if (voz =="* luzes do quarto apagadas") {digitalWrite (led4, LOW);} else i f (voz =="* luzes do banheiro apagadas") {digitalWrite (led5, LOW);} // --------------------------- -------------------------------------------- // voz ="";}} // Redefine a variável após iniciar 
Repo do Projeto
https://github.com/Rahul24-06/Arduino-Tutorial-JARVIS-v1-How-to-make-a-Home-Automation

Esquemas


Processo de manufatura

  1. RASPBERRY PI HOME AUTOMATION
  2. Faça uma máquina de escrever trabalhos de casa DIY em casa
  3. Encontre-me
  4. Como fazer um botão de teclado punível personalizável
  5. Joystick Arduino
  6. Como fazer música com um Arduino
  7. Como fazer a abertura automática de porta baseada no Arduino
  8. Monitor doméstico
  9. Como fazer um carro Arduino controlado por Bluetooth
  10. Como usar o Modbus com Arduino