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
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.
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.
Depois de montado seu circuito pode estar com essa aparência.
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!!!
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.
ResponderExcluirObrigado 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