Le forum a migré vers l'adresse suivante:

Forum

Masquer ce message

Simple-Duino Index du Forum



Easy VR + Arduino Uno


 
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions
Sujet précédent :: Sujet suivant  
Auteur Message
balife06
Débutant

Hors ligne

Inscrit le: 07 Mai 2014
Messages: 3
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mer 7 Mai - 15:03 (2014)    Sujet du message: Easy VR + Arduino Uno Répondre en citant

PublicitéSupprimer les publicités ?
Bonjour a tous j'ai un projet, je doit programmer arduino et le shield easyvr afin d'alimenter une gâche électrique pour déverrouiller une porte, bien sur la sortie d'arduino est branché sur un transistor pour alimenter la gâche en 12V et non en 5V, j'ai réussi à tout faire sauf programmer arduino, j'ai configurer le shield grâce au logiciel easyvr commander.
Je veux simplement que lorsque le shield détecte ma commande vocale "OUVRIR" (pré-configurer sur easyvr commander) arduino alimente la sortie 3.

Le logiciel me donne un programme (avec les commandes pré-configurer) mais je ne sais pas comment dire qu'il faut alimenté la sortie 3 si on capte la commande ouvrir, si quelqu'un pourrait m'aider ça m'avancerai beaucoup.

Je joint le programme :

#if defined(ARDUINO) && ARDUINO >= 100
 #include "Arduino.h"
 #include "Platform.h"
 #include "SoftwareSerial.h"
#ifndef CDC_ENABLED
 // Shield Jumper on SW
 SoftwareSerial port(12,13);
#else
 // Shield Jumper on HW (for Leonardo)
 #define port Serial1
#endif
#else // Arduino 0022 - use modified NewSoftSerial
 #include "WProgram.h"
 #include "NewSoftSerial.h"
 NewSoftSerial port(12,13);
#endif

#include "EasyVR.h"

EasyVR easyvr(port);

//Groups and Commands
enum Groups
{
 GROUP_1  = 1,
};

enum Group1 
{
 G1_OUVRIR = 0,
};


EasyVRBridge bridge;

int8_t group, idx;

void setup()
{
#ifndef CDC_ENABLED
 // bridge mode?
 if (bridge.check())
 {
   cli();
   bridge.loop(0, 1, 12, 13);
 }
 // run normally
 Serial.begin(9600);
 Serial.println("Bridge not started!");
#else
 // bridge mode?
 if (bridge.check())
 {
   port.begin(9600);
   bridge.loop(port);
 }
 Serial.println("Bridge connection aborted!");
#endif
 port.begin(9600);

 while (!easyvr.detect())
 {
   Serial.println("EasyVR not detected!");
   delay(1000);
 }

 easyvr.setPinOutput(EasyVR::IO1, LOW);
 Serial.println("EasyVR detected!");
 easyvr.setTimeout(5);
 easyvr.setLanguage(0);

 group = EasyVR::TRIGGER; //<-- start group (customize)
}

void action();

void loop()
{
 easyvr.setPinOutput(EasyVR::IO1, HIGH); // LED on (listening)

 Serial.print("Say a command in Group ");
 Serial.println(group);
 easyvr.recognizeCommand(group);

 do
 {
   // can do some processing while waiting for a spoken command
 }
 while (!easyvr.hasFinished());
 
 easyvr.setPinOutput(EasyVR::IO1, LOW); // LED off

 idx = easyvr.getWord();
 if (idx >= 0)
 {
   // built-in trigger (ROBOT)
   // group = GROUP_X; <-- jump to another group X
   return;
 }
 idx = easyvr.getCommand();
 if (idx >= 0)
 {
   // print debug message
   uint8_t train = 0;
   char name[32];
   Serial.print("Command: ");
   Serial.print(idx);
   if (easyvr.dumpCommand(group, idx, name, train))
   {
     Serial.print(" = ");
     Serial.println(name);
   }
   else
     Serial.println();
   easyvr.playSound(0, EasyVR::VOL_FULL);
   // perform some action
   action();
 }
 else // errors or timeout
 {
   if (easyvr.isTimeout())
     Serial.println("Timed out, try again...");
   int16_t err = easyvr.getError();
   if (err >= 0)
   {
     Serial.print("Error ");
     Serial.println(err, HEX);
   }
 }
}

void action()
{
   switch (group)
   {
   case GROUP_1:
     switch (idx)
     {
     case G1_OUVRIR:
       // write your action code here
       // group = GROUP_X; <-- or jump to another group X for composite commands
       break;
     }
     break;
   }
}
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 7 Mai - 18:08 (2014)    Sujet du message: Easy VR + Arduino Uno Répondre en citant

Bonjour,
D'après ce que j'ai compris, tu es capable de réceptionner la commande "OUVRIR", est-ce correct ?
Si oui, il faudra utiliser deux fonction distinctes à placer dans la condition de réception de commande "OUVRIR" dans ton cas.
____________________________
http://simple-duino.com
Revenir en haut
balife06
Débutant

Hors ligne

Inscrit le: 07 Mai 2014
Messages: 3
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Mer 7 Mai - 20:18 (2014)    Sujet du message: Easy VR + Arduino Uno Répondre en citant

Admin a écrit:
Bonjour,
D'après ce que j'ai compris, tu es capable de réceptionner la commande "OUVRIR", est-ce correct ?
Si oui, il faudra utiliser deux fonction distinctes à placer dans la condition de réception de commande "OUVRIR" dans ton cas.


Je n'est pas bien compris, sur le logiciel du shield j'ai déclaré la commande "OUVRIR" grâce a ma voix et cela m'a donné le programme que je vous ai envoyé, je pense qu'il faut programmer que lorsque le shield reconnait la commande "OUVRIR" il alimente la sortie 3 de l'arduino mais je ne sais pas ou le mettre dans le programme et sous quelle forme
Revenir en haut
Admin
Fondateur

Hors ligne

Inscrit le: 12 Avr 2012
Messages: 860
Masculin
Niveau d'éléctronique: Pro

MessagePosté le: Mer 7 Mai - 22:20 (2014)    Sujet du message: Easy VR + Arduino Uno Répondre en citant

Ok, voici comment j'ai fait:
Citation:



#if defined(ARDUINO) && ARDUINO >= 100
 #include "Arduino.h"
 #include "Platform.h"
 #include "SoftwareSerial.h"
#ifndef CDC_ENABLED
 // Shield Jumper on SW
 SoftwareSerial port(12,13);
#else
 // Shield Jumper on HW (for Leonardo)
 #define port Serial1
#endif
#else // Arduino 0022 - use modified NewSoftSerial
 #include "WProgram.h"
 #include "NewSoftSerial.h"
 NewSoftSerial port(12,13);
#endif


#include "EasyVR.h"


EasyVR easyvr(port);


//Groups and Commands
enum Groups
{
 GROUP_1  = 1,
};


enum Group1 
{
 G1_OUVRIR = 0,
};




EasyVRBridge bridge;


int8_t group, idx;


void setup()
{
  pinMode(3, OUTPUT);
#ifndef CDC_ENABLED
 // bridge mode?
 if (bridge.check())
 {
   cli();
   bridge.loop(0, 1, 12, 13);
 }
 // run normally
 Serial.begin(9600);
 Serial.println("Bridge not started!");
#else
 // bridge mode?
 if (bridge.check())
 {
   port.begin(9600);
   bridge.loop(port);
 }
 Serial.println("Bridge connection aborted!");
#endif
 port.begin(9600);


 while (!easyvr.detect())
 {
   Serial.println("EasyVR not detected!");
   delay(1000);
 }


 easyvr.setPinOutput(EasyVR::IO1, LOW);
 Serial.println("EasyVR detected!");
 easyvr.setTimeout(5);
 easyvr.setLanguage(0);


 group = EasyVR::TRIGGER; //<-- start group (customize)
}


void action();


void loop()
{
 easyvr.setPinOutput(EasyVR::IO1, HIGH); // LED on (listening)


 Serial.print("Say a command in Group ");
 Serial.println(group);
 easyvr.recognizeCommand(group);


 do
 {
   // can do some processing while waiting for a spoken command
 }
 while (!easyvr.hasFinished());
 
 easyvr.setPinOutput(EasyVR::IO1, LOW); // LED off


 idx = easyvr.getWord();
 if (idx >= 0)
 {
   // built-in trigger (ROBOT)
   // group = GROUP_X; <-- jump to another group X
   return;
 }
 idx = easyvr.getCommand();
 if (idx >= 0)
 {
   // print debug message
   uint8_t train = 0;
   char name[32];
   Serial.print("Command: ");
   Serial.print(idx);
   if (easyvr.dumpCommand(group, idx, name, train))
   {
     Serial.print(" = ");
     Serial.println(name);
   }
   else
     Serial.println();
   easyvr.playSound(0, EasyVR::VOL_FULL);
   // perform some action
   action();
 }
 else // errors or timeout
 {
   if (easyvr.isTimeout())
     Serial.println("Timed out, try again...");
   int16_t err = easyvr.getError();
   if (err >= 0)
   {
     Serial.print("Error ");
     Serial.println(err, HEX);
   }
 }
}


void action()
{
   switch (group)
   {
   case GROUP_1:
     switch (idx)
     {
     case G1_OUVRIR:
       digitalWrite(3, HIGH);
       // write your action code here
       // group = GROUP_X; <-- or jump to another group X for composite commands
       break;
     }
     break;
   }
}





____________________________
http://simple-duino.com
Revenir en haut
balife06
Débutant

Hors ligne

Inscrit le: 07 Mai 2014
Messages: 3
Masculin
Niveau d'éléctronique: Intermédiaire

MessagePosté le: Jeu 8 Mai - 08:53 (2014)    Sujet du message: Easy VR + Arduino Uno Répondre en citant

Je vais tenter, je vous tiens au courant
Revenir en haut
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 00:34 (2017)    Sujet du message: Easy VR + Arduino Uno

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Simple-Duino Index du Forum -> Arduino & Électronique -> Questions Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB
Propulsé par Simple-Duino