Système d'apprentissage de braille [Projet Terminal STI2D]

Bonjour à tous,

Avec mon collègue nous avions décidé pour notre projet de bac de crée un système d’apprentissage de braille, celle-ci est composé de 6 électroaimants solénoïdes représentant la combinaison braille 3x2, ayant en particularité une voix synthèse et une reconnaissance vocal.

La reconnaissance va servir à l’utilisateur de dire une réponse d’une lettre généré avec sa combinaisons braille ( A à Z)

La synthèse vocal elle va servir à dire un message d’accueil et dire si la réponse est bonne ou fausse en fonction de la lettre qui a été généré auparavant.

Notre question est : Quelle reconnaissance vocal peut on utilisé sans soit qu’elle soit dépendante d’un ordinateur et qu’on peut travaillé avec une synthèse vocal intégré ou non à celle ci.

Je vous donnes aussi le code et savoir si je peux dans celui, y rajouter la reconnaissance et la synthèse vocal.

int a = 13, b = 12, c = 11; // abcdefg = 10,9,8,7,6,5,4
int d = 10, e = 9, f = 8 // abcdefg = 10,9,8,7,6,5,4
char incomingChar = NULL

void setup() {
  // put your setup code here, to run once:
Serial.begin(19200);
// define the pinmodes
Serial.print("serial ready...")
pinMode(a,OUTPUT);
pinMode(b,OUTPUT);
pinMode(c,OUTPUT);
pinMode(d,OUTPUT);
pinMode(e,OUTPUT);
pinMode(f,OUTPUT);
}

void loop() {
  // put your main code here, to run repeatedly:
delay(1000);
    if (Serial.available() >0 {
        // read the incoming byte:
        incomingChar = Serial.read();
        //see waht you have got:
        Serial.print("Charater to be converted : ");
        Serial.println(incomingChar);
        if(incomingChar>='A' && incomingChar<='Z') 
        {
          incomingChar=incomingChar+32;
        }
       }

      switch (incomingChar) {
          case'a':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,LOW);
          digitalWrite(d,LOW);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case'b':
          digitalWrite(a,HIGH);
          digitalWrite(b,HIGH);
          digitalWrite(c,LOW);
          digitalWrite(d,LOW);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case'c':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,LOW);
          digitalWrite(d,HIGH);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case'd':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,LOW);
          digitalWrite(d,HIGH);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case'e':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,LOW);
          digitalWrite(d,LOW);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case'f':
          digitalWrite(a,HIGH);
          digitalWrite(b,HIGH);
          digitalWrite(c,LOW);
          digitalWrite(d,HIGH);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case'g':
          digitalWrite(a,HIGH);
          digitalWrite(b,HIGH);
          digitalWrite(c,LOW);
          digitalWrite(d,HIGH);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case'h':
          digitalWrite(a,HIGH);
          digitalWrite(b,HIGH);
          digitalWrite(c,LOW);
          digitalWrite(d,LOW);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case'i':
          digitalWrite(a,LOW);
          digitalWrite(b,HIGH);
          digitalWrite(c,LOW);
          digitalWrite(d,HIGH);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case'j':
          digitalWrite(a,LOW);
          digitalWrite(b,HIGH);
          digitalWrite(c,LOW);
          digitalWrite(d,HIGH);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case'k':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,HIGH);
          digitalWrite(d,LOW);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case'l':
          digitalWrite(a,HIGH);
          digitalWrite(b,HIGH);
          digitalWrite(c,HIGH);
          digitalWrite(d,LOW);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case'm':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,HIGH);
          digitalWrite(d,HIGH);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case'n':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,HIGH);
          digitalWrite(d,HIGH);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case'o':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,HIGH);
          digitalWrite(d,LOW);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case'p':
          digitalWrite(a,HIGH);
          digitalWrite(b,HIGH);
          digitalWrite(c,HIGH);
          digitalWrite(d,HIGH);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case'q':
          digitalWrite(a,HIGH);
          digitalWrite(b,HIGH);
          digitalWrite(c,HIGH);
          digitalWrite(d,HIGH);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case'r':
          digitalWrite(a,HIGH);
          digitalWrite(b,HIGH);
          digitalWrite(c,HIGH);
          digitalWrite(d,LOW);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case's':
          digitalWrite(a,LOW);
          digitalWrite(b,HIGH);
          digitalWrite(c,HIGH);
          digitalWrite(d,HIGH);
          digitalWrite(e,LOW);
          digitalWrite(f,LOW);
          break;
          case't':
          digitalWrite(a,LOW);
          digitalWrite(b,HIGH);
          digitalWrite(c,HIGH);
          digitalWrite(d,HIGH);
          digitalWrite(e,HIGH);
          digitalWrite(f,LOW);
          break;
          case'u':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,HIGH);
          digitalWrite(d,LOW);
          digitalWrite(e,LOW);
          digitalWrite(f,HIGH);
          break;
          case'v':
          digitalWrite(a,HIGH);
          digitalWrite(b,HIGH);
          digitalWrite(c,HIGH);
          digitalWrite(d,LOW);
          digitalWrite(e,LOW);
          digitalWrite(f,HIGH);
          break;
          case'w':
          digitalWrite(a,LOW);
          digitalWrite(b,HIGH);
          digitalWrite(c,LOW);
          digitalWrite(d,HIGH);
          digitalWrite(e,HIGH);
          digitalWrite(f,HIGH);
          break;
          case'x':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,HIGH);
          digitalWrite(d,HIGH);
          digitalWrite(e,LOW);
          digitalWrite(f,HIGH);
          break;
          case'y':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,HIGH);
          digitalWrite(d,HIGH);
          digitalWrite(e,HIGH);
          digitalWrite(f,HIGH);
          break;
          case'z':
          digitalWrite(a,HIGH);
          digitalWrite(b,LOW);
          digitalWrite(c,HIGH);
          digitalWrite(d,LOW);
          digitalWrite(e,HIGH);
          digitalWrite(f,HIGH);
          break;
          default :

       
          
    }
}

Merci d’avoir lu.

Bonjour

La synthèse vocal elle va servir à dire un message d'accueil et dire si la réponse est bonne ou fausse en fonction de la lettre qui a été généré auparavant.

la synthèse vocale est quelque chose de 'lourd' et surdimensionné :
-trop lourd pour une carte Arduino(mais OK pour Raspberry Pi)
-surdimensionné pour ce qui doit être entendu içi.Un petit lecteur DFPlayer suffirait, la carte Arduino lancerait l'écoute de l'un des messages sonores préenregistés en MP3 sur une carte µSD

Quelle reconnaissance vocal peut on utilisé sans soit qu'elle soit dépendante d'un ordinateur et qu'on peut travaillé avec une synthèse vocal intégré ou non à celle ci.

??

al1fch:
Bonjourla synthèse vocale est quelque chose de 'lourd' et surdimensionné :
-trop lourd pour une carte Arduino(mais OK pour Raspberry Pi)
-surdimensionné pour ce qui doit être entendu içi.Un petit lecteur DFPlayer suffirait, la carte Arduino lancerait l'écoute de l'un des messages sonores préenregistés en MP3 sur une carte µSD
??

Merci ta réponse nous allons faire des recherches sur le DFPlayer. Puis ce que j'insinuais était que la reconnaissance vocal ne serait pas brancher à un ordinateur, et que je puisse travailler dessus avec une synthèse vocale afin de vérifier la réponse et dire le résultat.

Pourquoi ne pas faire ça sur un Raspberry Pi ? La reconnaissance et la synthèse vocale doivent déjà exister.