Projeto Arduino
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Automação residencial com reconhecimento de voz

+3
Ricardo Soares
maycon.cesar.reis
Admin
7 participantes

Ir para baixo

Automação residencial com reconhecimento de voz Empty Automação residencial com reconhecimento de voz

Mensagem  Admin Qua 13 Nov - 5:04

Peças utilizadas

http://www.projetoarduino.com.br/shield-automacao-e-alarme-residencial-v4-p34

http://www.projetoarduino.com.br/mp3-shield-p67

http://www.projetoarduino.com.br/modulo-de-reconhecimento-de-voz-p57

Site onde fiz a captura de voz
http://www.oddcast.com/home/demos/tts/tts_example.php






Código:
#include <LiquidCrystal.h>
#include <MP3.h>

// O moises é uma bichinha deslumbrada e colocou tudo em inglês
MP3 mp3;

int ContatoSecoState1 = 0;        // variable for reading the status
int ContatoSecoState2 = 0;        // variable for reading the status
int ContatoSecoState3 = 0;        // variable for reading the status
int ContatoSecoState4 = 0;        // variable for reading the status
int ContatoSecoState5 = 0;        // variable for reading the status
int ContatoSecoState6 = 0;        // variable for reading the status
int ContatoSecoState7 = 0;        // variable for reading the status
int ContatoSecoState8 = 0;        // variable for reading the status

int optoacopladorState1 = 0;        // variable for reading the status
int optoacopladorState2 = 0;        // variable for reading the status


const int rele1 =  22;      // Rele 1 PA0
const int rele2 =  23;      // Rele 2 PA1
const int rele3 =  24;      // Rele 3 PA2
const int rele4 =  25;      // Rele 4 PA3
const int rele5 =  26;      // Rele 5 PA4
const int rele6 =  27;      // Rele 6 PA5
const int rele7 =  28;      // Rele 7 PA6
const int rele8 =  29;      // Rele 8 PA7
const int rele9 =  42;      // Rele 8 PA7
const int rele10 =  43;      // Rele 8 PA7

const int contatoseco8 = 41;    // the number of the pushbutton pin
const int contatoseco7 = 40;    // the number of the pushbutton pin
const int contatoseco6 = 49;    // the number of the drybutton pin
const int contatoseco5 = 48;    // the number of the drybutton pin
const int contatoseco4 = 47;    // the number of the drybutton pin
const int contatoseco3 = 46;    // the number of the drybutton pin
const int contatoseco2 = 45;    // the number of the drybutton pin
const int contatoseco1 = 44;    // the number of the drybutton pin


const int optoacopladorbutton1 = 18;    // optobutton detectar 12v
const int optoacopladorbutton2 = 19;    // optobutton detectar 12v
const int Sirene = 33;    //Saida de 12 volts Até 1,5A
const int Discadora = 32;  //Saida de 12 volts até 1A  

LiquidCrystal lcd(39, 38, 34, 35, 36, 37);
byte com = 0; //reply from voice recognition
int aceita = false;


void setup()
{
  //Serial.begin(9600);
  /** begin function */
  mp3.begin();
  
  mp3.stop();
  /** set volum to the MAX */
  mp3.volume(0x1F); //1f Max volume
  /** set MP3 Shield CYCLE mode */
  mp3.set_mode(MP3::SINGLE);
  /** play music in sd */
  //mp3.play_sd(0x0001);
  
  //delay(1000);
  
  //mp3.stop();

  
  /** play music in USB-disk */
  //mp3.play_usb_disk(0x0001);
  
  /** play music in SPI FLASH */
  //mp3.play_spi_flash(0x0001);  
  
lcd.begin(16, 2);
  
  // Print a message to the LCD.
  
  
  pinMode(rele1, OUTPUT);
  pinMode(rele2, OUTPUT);
  pinMode(rele3, OUTPUT);
  pinMode(rele4, OUTPUT);
  pinMode(rele5, OUTPUT);
  pinMode(rele6, OUTPUT);
  pinMode(rele7, OUTPUT);
  pinMode(rele8, OUTPUT);
  pinMode(rele9, OUTPUT);
  pinMode(rele10, OUTPUT);
  pinMode(Discadora, OUTPUT);
  pinMode(Sirene, OUTPUT);

  
  pinMode(contatoseco6, INPUT);  
  pinMode(contatoseco5, INPUT);  
  pinMode(contatoseco4, INPUT);  
  pinMode(contatoseco3, INPUT);
  pinMode(contatoseco2, INPUT);  
  pinMode(contatoseco1, INPUT);
  pinMode(contatoseco2, INPUT);  
  pinMode(contatoseco1, INPUT);

  pinMode(optoacopladorbutton1, INPUT);
  pinMode(optoacopladorbutton2, INPUT);  
  
    Serial.begin(9600);
    Serial2.begin(9600);
    
    lcd.print("Projeto Arduino");
    lcd.setCursor(0,1);
    
    delay(2000);
    Serial2.write(0xAA);
    Serial2.write(0x37);
    delay(1000);
    Serial2.write(0xAA);
    Serial2.write(0x22);
}
void loop(){
  while(Serial2.available()){
  com = Serial2.read();
  switch(com){
  
     case 0x21:    
     aceita = true;
     delay(1000);
     Serial2.write(0xAA);
     Serial2.write(0x21);
     lcd.setCursor(0,1);
     lcd.print("O que deseja ?");
     mp3.play_usb_disk(0x0001);
     break;
    
     case 0x23:
     aceita = false;
     delay(1000);
     Serial2.write(0xAA);
     Serial2.write(0x22);
     lcd.setCursor(0,1);
     lcd.print("    Disponha     :)");
     mp3.play_usb_disk(0x0002);
     break;
  
    if(aceita==true){  
        case 0x11:
            
            Serial2.write(0xAA);
            Serial2.write(0x22);
            Serial.println("   Cozinha     ");
            lcd.setCursor(0,1);
            lcd.print("    Disponha     :)");
            mp3.play_usb_disk(0x0002);
            break;
            
        case 0x12:
        Serial.println("Sala");
        lcd.setCursor(0,1);
        lcd.print("    Sala    ");
        
        if (digitalRead(rele2)==HIGH)
        digitalWrite(rele2, LOW);
        else
        digitalWrite(rele2, HIGH);
        break;
        
        case 0x13:
        Serial.println("Quarto");
        lcd.setCursor(0,1);
        lcd.print("   Quarto      ");
        
        if (digitalRead(rele3)==HIGH)
        digitalWrite(rele3, LOW);
        else
        digitalWrite(rele3, HIGH);
        break;
        
        case 0x14:
        Serial.println("Portão");
        lcd.setCursor(0,1);
        lcd.print("   Portao      ");
        
        digitalWrite(rele4, HIGH);
        delay(500);
        digitalWrite(rele4, LOW);
        break;
        
        case 0x15:
        Serial.println("Garagem");
        lcd.setCursor(0,1);
        lcd.print("    Garagem       ");
        
        if (digitalRead(rele5)==HIGH)
        digitalWrite(rele5, LOW);
        else
        digitalWrite(rele5, HIGH);
        break;
        }
      }
    }
  }
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Re: Automação residencial com reconhecimento de voz

Mensagem  maycon.cesar.reis Qua 13 Nov - 8:22

Olá,

gostaria de saber como foi feito o mapeamento de comando x voz, uma vez que no código só vi os valores testados na instrução CASE.

gostaria de comprar o módulo de reconhecimento de voz.

um abraço,
maycon.cesar.reis
maycon.cesar.reis
maycon.cesar.reis

Mensagens : 8
Data de inscrição : 06/04/2012

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Re: Automação residencial com reconhecimento de voz

Mensagem  Admin Qua 13 Nov - 8:37

O modulo de reconhecimento quando enviando o comando AA 11 e hex ele pede pra vc gravar o comando de voz 3x consecutivas, depois envia-se o comando AA 22 , a partir dai toda vez que for dita aquela palavra ele retorna o valor em hex decimal referente a posição que foi gravada, toda vez que falo centralina ele retorna o valor 0x21
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty programa reconhecimento de voz, + sistema internet

Mensagem  Ricardo Soares Qua 13 Nov - 12:38

Tiagão... recebi o email que vc enviou falando sobre o reconhecimento de voz, gostei... gostei não adorei... vc é o cara.....

mas me diga, da para usar na mesma programação que usamos para acessar via internet??

abraços...

não testei... to no trabalho.... por isso to perguntando...

alien tongue @ No What a Face Suspect clown pale silent cat alien 

Ricardo Soares

Mensagens : 16
Data de inscrição : 05/04/2012

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Re: Automação residencial com reconhecimento de voz

Mensagem  Admin Qua 13 Nov - 12:58

Dá sim é só implementar no código antigo
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Automação residencial com reconhecimento de voz

Mensagem  kanto Qua 27 Nov - 9:41

Ola Tiago , como faco para adquirir este kit , ja tenho a placa mega e o Shield ethernet.

Kanto

kanto

Mensagens : 1
Data de inscrição : 27/11/2013

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Re: Automação residencial com reconhecimento de voz

Mensagem  Admin Qua 27 Nov - 10:54

só entrar no site www.projetoarduino.com.br e comprar o shield de automação residencial
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Re: Automação residencial com reconhecimento de voz

Mensagem  cabralcr Sex 16 maio - 19:18

Alguém conseguiu implementar o código antigo?

cabralcr

Mensagens : 1
Data de inscrição : 12/12/2012

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Mais informações

Mensagem  wfranco Dom 1 Jun - 20:05

minha duvida para usar o sistema mas sem o módulo MP3 apenas o modulo de reconhecimento de voz, existe o modulo e o conversor serial mas como captar a voz e gravar como ligar o modulo de reconhecimento ao modulo conversor usb serial qual aplicativo ou drive para ser instalado como mandar a voz enfim tem muita coisa antes para ser explicada, podia fazer um tutorial mais completo ou passar os links para pesquisa ?

wfranco

Mensagens : 1
Data de inscrição : 01/06/2014

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Retornar o comando hora por voz

Mensagem  eiderjs Dom 23 Ago - 22:40

Teria como implementar o comando pra retornar a hora por voz, utilizando um RTC, digamos dou o comando: "Arduino, hora" e o shield mp3 retorna a hora atual, se tem como fazer isso, pretendo implementar a ativação do despertador. Tem como ?

eiderjs

Mensagens : 2
Data de inscrição : 23/08/2015

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Re: Automação residencial com reconhecimento de voz

Mensagem  Admin Seg 24 Ago - 7:36

Sim
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Re: Automação residencial com reconhecimento de voz

Mensagem  eiderjs Seg 24 Ago - 11:48

Mas como implementaria, já que as mensagens de voz são pré-gravadas com mensagens específicas, no caso de falar a hora seriam muitas mensagens ?

eiderjs

Mensagens : 2
Data de inscrição : 23/08/2015

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Re: Automação residencial com reconhecimento de voz

Mensagem  Admin Seg 24 Ago - 13:47

Sim seria uma voz para cada numero de 0 - 60
Admin
Admin
Admin

Mensagens : 560
Data de inscrição : 07/04/2009
Idade : 43
Localização : Franca

https://projetoarduino.forumeiros.com

Ir para o topo Ir para baixo

Automação residencial com reconhecimento de voz Empty Re: Automação residencial com reconhecimento de voz

Mensagem  Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos