sábado, 8 de outubro de 2016

Acionamentos por comando de voz (Android + Arduino + Bluetooth) - parte 2

Comandos de voz com sinal discreto

Agora que já se sabe como acionar saídas do Arduino via comando de voz ( clique aqui ), vamos elaborar um comando com dimensionamento de uma potência para o acionamento de componentes que trabalham com tensões maiores do que as que saem normalmente nos pinos do microcontrolador.


fonte: http://www.intercinehome.kinghost.net/oquefazemos/AutomacaoResidencial 

Para o projeto você vai precisar de:
Arduino (estarei usando um nano para a demonstração)
Módulo relé
Protoboard
Lâmpada
Fios jumpers


fonte: próprio autor

Seguindo os mesmos procedimentos da primeira programação realizada para acionamentos dos leds, pouca coisa foi alterada nesse código fonte, como foi salientado da ultima vez, qualquer comando que for necessário mudança deve ser inserido após o "*<<comando>>", abaixo o código fonte do acionamento que vou realizar.

Código fonte

/** Código final Comando de voz **/
/**Elaborado por Tony Emerson Marim em 08/10/2016**/
/** mecatronizei@gmail.com **/
/** Controle de componentes por comando de voz **/
/*Arduino+bluetooth+Android*/
/*Interface Relé*/

String voice;
int 
lamp1 = 2, //Conectar Lâmpada 1 ao Pino 2 
lamp2 = 3; //Conectar Lâmpada 2 ao Pino 3 


void ligartudo(){
     digitalWrite(lamp1, HIGH); 
     digitalWrite(lamp2, HIGH); 
}

void desligartudo(){
     digitalWrite(lamp1, LOW); 
     digitalWrite(lamp2, LOW); 
}
 
void setup() { //Saídas
  Serial.begin(9600);
  pinMode(lamp1, OUTPUT); 
  pinMode(lamp2, 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 == "*Ligar tudo") 
       {
        ligartudo();
        }  //Desliga todos os pinos (Chamada de função)
  else if(voice == "*Desligar tudo")
  {
    desligartudo();
    } //Liga todos os pinos (Chamada de função)
 
  else if(voice == "*lâmpada liga") {digitalWrite(lamp1, HIGH);} 
  else if(voice == "*quarto liga") {digitalWrite(lamp2, HIGH);}

  else if(voice == "*lâmpada desliga") {digitalWrite(lamp1, LOW);} 
  else if(voice == "*quarto desliga") {digitalWrite(lamp2, LOW);}


voice="";}} //Reseta a variável

Segue um esquema de ligação como sugestão, lembrando que para um numero maior de acionamentos é necessário o correto dimensionamento para alimentação dos relés e lembrar dos limites na distância do funcionamento do bluetooth.


fonte: próprio autor

Depois de montado seu circuito pode estar com essa aparência.


fonte: próprio autor

E finalmente o vídeo demostra o funcionamento do circuito. Agora é só criar uma central de comando e deixar a imaginação fluir.



Caso seja necessário o projeto completo encontra-se nesse LINK.

Bons estudos!!!



2 comentários:

  1. Muito legal cara. Muito bom mesmo, mas notei que na internet não tem um bom tutorial sobre impressoras 3d gostaria de aprender mais sobre o assunto.

    ResponderExcluir
    Respostas
    1. Obrigado Leônidas pelo feedback. O assunto sobre impressora 3d é um dos que abordaremos futuramente. Dê uma olhada nesse site http://reprap.org/wiki/RepRap/pt, pode ser que lhe interesse. Abraços!

      Excluir