Partage
  • Partager sur Facebook
  • Partager sur Twitter

TPE 1ère S : Allumer une LED par la voix (EasyVR)

4 septembre 2012 à 22:35:48

Bonjour à tous !

Je suis actuellement en 1ère S, et je réfléchis déjà au sujet de mon TPE, je pense m'orienter vers la robotique et l’électronique. J'ai donc le projet de construire un robot, capable d’être commandé vocalement, de se diriger dans n'importe quelles directions et de détecter les obstacles. Donc voilà, je viens de commander le nécessaire pour commencer le tuto Arduino, une fois celui-ci terminé, j'attaquerais le robot.

Mais avant tout ça j'ai plusieurs questions qui me viennent à l'esprit :

- Un tel robot serait-il faisable ? Sachant que je n'ai pas encore les connaissances nécessaires et que le TPE se termine fin Mars.
- Peut-on mettre plusieurs Shields sur une carte Arduino (UNO) ?

Voilà, je vous remercie d'avance pour vos réponses :)

-
Edité par gamesman59 3 avril 2013 à 15:37:34

  • Partager sur Facebook
  • Partager sur Twitter
5 septembre 2012 à 11:56:34

A priori c'est faisable pour toute la partie déplacement et évitement... (mais ne te base pas que sur le tuto du SdZ car il te manquera les parties capteurs et moteurs)

Par contre la partie commande vocale en 1ère ca me parait bien ambitieux...

Sinon oui on peut superposer des shields (attention cependant à ce qu'ils n'utilisent pas les mêmes broches)
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

5 septembre 2012 à 12:54:30

Merci pour ta réponse.

Et bien, une chose est sûre, il y a du travail qui m'attends. J'avoue que la reconnaissance vocale est un projet qui me tiens à coeur, c'est assez ambitieux, mais je ne compte pas sur le fait que cette partie du robot soit finie et efficace pour la fin du TPE, il faut quand même être réaliste. Mais je compte étaler ce projet sur toute l'année, pour mon expérience personnelle. Je voulais savoir si l'on pouvait superposer plusieurs Shields car je compte aussi me pencher sur le Shield permettant au robot d'apprendre des phrases, de créer en quelque sorte une intelligence artificielle. Je m’intéresse à ceci pour un projet encore plus ambitieux, faire de ma chambre une pièce complètement automatisé et robotisé, mais ce n'est pas le sujet aujourd'hui.

Donc j'attends de recevoir les pièces nécessaire pour commencer le cours.

Merci.
  • Partager sur Facebook
  • Partager sur Twitter
5 septembre 2012 à 13:02:25

Tu connais un shield de reconnaissance vocal ?
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

5 septembre 2012 à 20:29:20

Un robot capable de se déplacer en ligne droite et de tourner sur lui même ca peut etre très complexe, même sans gérer des obstacles ou des commandes vocales. Ca dépend de l'exigence qu'on a vis a vis des termes "se déplacer" et "tout droit" (le robot doit il savoir de combien il a avancé ? il a le droit de tourner de combien de degrés après 1 m de déplacement ? ...). Pour la voix, le shield fait tout tout seul, ça me semble être une bonne solution. pour l'évitement, à mon avis, laisse ça de côté en attendant d'avoir un robot qui roule comme tu lui demandes.
  • Partager sur Facebook
  • Partager sur Twitter
64kB de mémoire, c'est tout ce dont j'ai besoin
5 septembre 2012 à 21:04:21

(rigolo ce shield !)
  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

5 septembre 2012 à 22:55:00

Il faut que je réfléchisse à toutes ces contraintes, je vous tiens au courant rapidement !

Merci pour vos réponses.
  • Partager sur Facebook
  • Partager sur Twitter
22 septembre 2012 à 14:59:37

C'est pas que je veux te dégoûter, mais je ne pense pas qu'avec 2 heures par semaines de TPE, tu puisses arriver à une réalisation finale "intéressante".

J'ai fait un projet avec de l'électro, de servomoteurs, des trucs d'en ce genre,... Et je peux te dire que des petits soucis qui vont t’embêter et de prendre la tête, te faire perdre du temps.

Néanmoins, si tu choisis de continuer avec ce projet, j'espère que tu y arrivera.
  • Partager sur Facebook
  • Partager sur Twitter
28 septembre 2012 à 22:45:44

Ne t'inquiètes pas, je sais très bien qu'avec 2h par semaine, je n'arriverais pas à grand-chose, je compte investir une grande partie de mon temps personnel sur le sujet, en comptant les mercredi après-midi et le week-end, j'y passerais beaucoup plus de 2h. Je vous tiens au courant dès que j'ai du concret à vous montrer, pour l'instant j'ai reçu mon matériel et je suis le tutoriel.

Merci !
  • Partager sur Facebook
  • Partager sur Twitter
2 octobre 2012 à 19:36:46

Tu travail en groupe normalement non?
Quel sont les matières qui doivent être en rapport avec ton TPE?
Tu as déjà ta problématique?
  • Partager sur Facebook
  • Partager sur Twitter
13 octobre 2012 à 9:57:33

Oui je travaille en groupe, je peux choisir n'importe quelles matières, je pense choisir, déjà la physique pour l’électronique, la SES pour montrer l’intérêt de la robotique dans la société, mais je ne sais toujours pas quelle est ma problématique, des idées en rapport avec la conception d'un robot ?
  • Partager sur Facebook
  • Partager sur Twitter
13 octobre 2012 à 19:15:55

Tu es en S SVT ou SI?
Sur l'électronique il n'y a presque rien a dire en physique, c'est ça le problème.
Trouve d'abord un robot avec un utilité à faire et choisi ensuite les matières qu'il te convient le mieux puisque tu as le droit de choisir.
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
13 octobre 2012 à 19:19:19

Je te souhaite bonne chance, et je suivrai ton topic avec attention, car je suis moi même en cour de projet ( http://sciences.siteduzero.com/forum-8 [...] html#r7758965 ).

Axeldu70

PS : Ton shield est excellent, j'adore !
  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2012 à 18:40:52

Je ne suis ni en S SVT, ni en S SI, mon établissement ne propose pas ces options...
Donc j'ai trouvé ma problématique : La robotique est-elle indispensable au quotidien ?

Je vais donc montrer l’intérêt de la robotique au quotidien, montrer également les avantages et les inconvénients d'une société sans systèmes automatisés, et enfin je vais fabriquer un objet qui montrera que la robotique a surtout pour but de simplifier la vie.

Dans cette optique, je vais donc laisser de coté mon idée de faire un robot, j'ai plutôt l'idée de faire un "agenda vocal", qui aura pour fonction de vous dicter votre emploi du temps en fonction du jour de la semaine que vous aurez prononcé. J'aurais donc besoin du shield de reconnaissance vocal, mais aussi d'un autre shield capable de restituer des enregistrements sonores. Des idées pour celui-ci ?

Merci :)
  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2012 à 19:40:22

Tu a 2 S en France, la S SVT et la S SI
la S normal est la S SVT (proposé par presque tout les établissements) donc tu est bien en SVT ;)
  • Partager sur Facebook
  • Partager sur Twitter
17 octobre 2012 à 21:34:18

Citation : gamesman59

J'aurais donc besoin du shield de reconnaissance vocal, mais aussi d'un autre shield capable de restituer des enregistrements sonores. Des idées pour celui-ci ?


Tu pourrait utiliser le wave shield, mais je ne croit pas que l'arduino va être assez puissant pour enregistrer dessus...

EDIT : ah ba si, quelqu'un y est arriver !
  • Partager sur Facebook
  • Partager sur Twitter
2b||!2b   sqrt(4b²)
10 décembre 2012 à 23:29:41

Bonsoir, après ce long moment d’absence, dû au fait que j'ai d'abord voulu me concentrer sur les autres aspects de mon TPE pour n'avoir que la réalisation de l'objet à faire, je me pose encore quelques questions, surtout avant de commander les shields. Donc le but serait comme je l'ai déjà dit de faire un "agenda vocal", donc reconnaissance vocale pour donner une instruction, traitement de la commande puis sélectionner un fichier audio correspondant au jour de la semaine reconnu. Voilà les 2 shields qui me paraissent bon :

- http://www.lextronic.fr/P19422-platine [...] -arduino.html (pour la restitution de fichiers audio)
- http://www.lextronic.fr/P23570-platine [...] e-vocale.html (pour la reconnaissance vocale)

Mes questions sont donc : Ces shields peuvent-ils être connecté simultanément sur l'Arduino (Uno) ?
Utilisent-ils les mêmes broches ?
Sont-ils adaptés à ce que je souhaite réaliser ?

J'attends vos réponses en espérant y voir plus clair, merci :)
  • Partager sur Facebook
  • Partager sur Twitter
Anonyme
11 décembre 2012 à 17:20:34

Citation

Mes questions sont donc : Ces shields peuvent-ils être connecté simultanément sur l'Arduino (Uno) ?
Utilisent-ils les mêmes broches ?


Ben là c'est à toi de regarder la doc technique de chaque shield pour répondre à cette question. ;)
  • Partager sur Facebook
  • Partager sur Twitter
11 décembre 2012 à 17:59:06

Salut,

Pour mon bac j'avais travaillé sur un robot aspirateur et je me souviens l'avoir fait rouler et lorsque qu'il rencontrait (percutait) un obstacle il s'arretait et pivoter pour continuer à avancer.

Je ne m'en souviens pas parfaitement mais j'ai les "grandes lignes" en tete.
Si cela peux t'aider.
  • Partager sur Facebook
  • Partager sur Twitter
24 décembre 2012 à 0:21:43

Bonjour,

J'ai commandé le shield de reconnaissance vocal, en attente de sa réception, j'ai décidé qu'il serait plus sage et beaucoup plus réaliste de ne pas partir sur aussi complexe que la réalisation d'un agenda vocal, surtout que je n'en suis qu'à mes débuts avec Arduino et que le temps presse. J'ai donc décidé (pour la dernière fois) d'utiliser le shield de reconnaissance vocal afin d'allumer et éteindre une LED en parlant, tout simplement. Cette réalisation ne devrait pas être difficile à expliquer dans le cadre de mon TPE, et je n'aurais aucun mal à démonter le tout pour pouvoir attaquer des projets un peu plus "sérieux" et complexes.

Je vous tiens au courant de l'avancement et de la fin de ce projet.

Merci :)
  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2013 à 18:58:49

Bonjour,

Voilà, j'ai terminé mon projet, tout est expliqué dans cette vidéo :

http://www.youtube.com/watch?v=z1Ws5HBcbXg

Merci à tous pour votre aide et à bientôt pour un nouveau projet ;)

  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2013 à 19:25:29

Eh bien c'est du joli travail bravo :)

Si tu veux pour faire plaisir à ceux qui ont suivi ce sujet tu pourras mettre ici ou quelque part (dropbox ?) les différents codes et schéma ou n'importe quel truc utile :)

  • Partager sur Facebook
  • Partager sur Twitter

Retrouvez moi sur mon blog et ma chaine Youtube !

25 janvier 2013 à 19:27:42

Avec grand plaisir, je vous fait ça dès que j'ai le temps :)
  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2013 à 21:37:22

Très franchement, bravo

J'ai aussi fait des TPE, mais pour ma part j'ai fait 2 robots, qui étaient capables d'éviter des obstacles, l'un était équiper d'un capteur infrarouge, l'autre d'un capteur à ultrasons

Je dois avouer que ce système est très impressionnant, je pense qu'il te serra facile maintenant de l'adapter en robot, ce qui devrait être très amusant

En tout cas bonne chance pour la suite de ton projet si il y en a une ! ^^

Et pourrait-tu nous communiquer ta note quand tu l'aura à la fin de l'année stp !!

  • Partager sur Facebook
  • Partager sur Twitter
25 janvier 2013 à 22:06:17

Merci beaucoup, ça encourage pour la suite de mes futurs projets, en espérant qu'ils soient une réussite également :)

Je vous communiquerez ma note, pas de problèmes :)

  • Partager sur Facebook
  • Partager sur Twitter
26 janvier 2013 à 17:22:18

Juste pour la partie reconnaissance vocale. Le sujet est surement passé maintenant, mais ça peut toujours servir.

---- pour la partie reconnaissance vocale on a des capteurs qui possèdent déjà des registres modifiables en plusieurs langues et ça simplifie grandement la tâche (il y a aussi une voiture commandée vocalement avec ces mêmes capteurs). Par contre je ne sais pas combien ils coûtent ces capteurs (disons que nous avons pas mal de budget et je ne le gère pas).

Après pour éviter les obstacles il y a tous les capteurs ultrasons, infrarouges, mais aussi les caméras embarqués qui sont pas mal.

J'ai regardé la vidéo et c'est pas mal. J'aime bien la réponse " oui monsieur ". Bonne continuation

-
Edité par AmarOk1412 9 novembre 2013 à 14:25:01

  • Partager sur Facebook
  • Partager sur Twitter
3 avril 2013 à 16:02:32

Bonjour à tous ! Comme promis, quelques explications sur le fonctionnement de ce dispositif :

#if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
  #include "SoftwareSerial.h"
  SoftwareSerial port(12,13);
#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_0  = 0,
  GROUP_1  = 1,
  GROUP_2  = 2,
  GROUP_3  = 3,
};

enum Group0 
{
  G0_ADAM = 0,
};

enum Group1 
{
  G1_VEILLE = 0,
  G1_LUMIERE = 1,
};

enum Group2 
{
  G2_ACTIVATION = 0,
};

enum Group3 
{
  G3_OUI = 0,
  G3_NON = 1,
};


EasyVRBridge bridge;

int8_t group, idx, LED;


void setup()
{
  // bridge mode?
  if (bridge.check())
  {
    cli();
    bridge.loop(0, 1, 12, 13);
  }
  // run normally
  Serial.begin(9600);
  port.begin(9600);

  if (!easyvr.detect())
  {
    Serial.println("EasyVR not detected!");
    for (;;);
  }
  enum Level {NORMAL};
  easyvr.setPinOutput(EasyVR::IO1, LOW);
  Serial.println("EasyVR detected!");
  easyvr.setTimeout(10);
  easyvr.setLanguage(5);
  easyvr.setKnob(0);
  easyvr.setLevel(2);
  

  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();
    
    // 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_0:
      switch (idx)
      {
      case G0_ADAM:
        easyvr.playSound(7, EasyVR::VOL_FULL);
        group = GROUP_1;
        break;
      }
      break;
    case GROUP_1:
      switch (idx)
      {
      case G1_VEILLE:
        if (LED == 1)
        {
         easyvr.playSound(3, EasyVR::VOL_FULL);
         group = GROUP_3;
        }
        else 
        {
         easyvr.playSound(1, EasyVR::VOL_FULL);
         group = GROUP_2;
        }
        break;
      case G1_LUMIERE:
      if (LED == 1)
      {
        LED = 0;
        easyvr.setPinOutput(EasyVR::IO2, LOW);
        easyvr.playSound(9, EasyVR::VOL_FULL);
        group = GROUP_1;
      }
      else
      {
        LED = 1;
        easyvr.setPinOutput(EasyVR::IO2, HIGH);
        easyvr.playSound(8, EasyVR::VOL_FULL);
        group = GROUP_1;
      }
        break;
      }
      break;
    case GROUP_2:
      switch (idx)
      {
      case G2_ACTIVATION:
        easyvr.playSound(2, EasyVR::VOL_FULL);
        group = GROUP_0;
        break;
      }
      break;
    case GROUP_3:
      switch (idx)
      {
      case G3_OUI:
        LED = 0;
        easyvr.playSound(1, EasyVR::VOL_FULL);
        easyvr.setPinOutput(EasyVR::IO2, LOW);
        group = GROUP_2;
        break;
      case G3_NON:
        easyvr.playSound(1, EasyVR::VOL_FULL);
        group = GROUP_2;
        break;
      }
      break;
    }
}

Voici le code, explication plus en détails :

easyvr.playSound(1, EasyVR::VOL_FULL);

Cette ligne a pour fonction de sélectionner un enregistrement préalablement fait sur Audacity (ou autre) lorsqu'une instruction aura été reconnue.

Cet enregistrement est à envoyer sur la carte à l'aide de QuickSynthesis, un logiciel complémentaire du logiciel EasyVRCommander (téléchargeable sur ce site avec le manuel utilisateur et la datasheet pour de plus amples informations : http://www.veear.eu/products/easyvr-arduino-shield/ ) qui permet d'enregistrer les commandes vocales à reconnaître à l'aide du micro fourni avec le shield.

Si on décortique ce qu'il y a entre parenthèses, le 1 signifie que c'est le premier enregistrement qui est sélectionné (Dans mon cas, il dira "Au revoir Monsieur) dans la liste de tout ceux que vous aurez enregistré sur la carte. VOL_FULL sert évidemment à contrôler le volume sortant des haut-parleurs.

case G1_LUMIERE:
      if (LED == 1)

Plus de détails sur ces deux lignes : La première ligne correspond à l'instruction reconnue par le micro (petite info, une fois les commandes enregistrées sur EasyVRCommander, il vous est possible de générer automatiquement le code, il ne vous suffira alors plus qu'à le modifier à votre guise pour répondre à vos besoins), celle du dessous correspond à une condition qui détecte si la LED est déjà allumée ou pas, l'utilité étant de n'utiliser que le mot LUMIERE pour allumer et éteindre la LED.

Voilà, pour en savoir plus je vous recommande évidemment d'aller télécharger le manuel utilisateur sur le lien cité plus haut.

Merci à tous et à bientôt !

-
Edité par gamesman59 3 avril 2013 à 16:08:45

  • Partager sur Facebook
  • Partager sur Twitter
13 décembre 2013 à 10:03:06

salut ! je suis en 1ere s et j'ai choisi un sujet qui ressemble au tiens . je voudrais allumer une led avec la voix comme sur ta video . et je voulais te demander si tu pouvais m'aider en me contactant en me laissant ton adresse mail .
merci , si tu pouvais m'aider ça serait genial !
  • Partager sur Facebook
  • Partager sur Twitter
13 décembre 2013 à 10:08:54

salut ! je suis en 1ere s et j'ai choisi un sujet qui ressemble au tiens . je voudrais allumer une led avec la voix comme sur ta video . et je voulais te demander si tu pouvais m'aider en me contactant en me laissant ton adresse mail .
merci , si tu pouvais m'aider ça serait genial !
  • Partager sur Facebook
  • Partager sur Twitter