Réalisation de dés sonore.

Messieurs, mesdames (parce-qu'il doit bien y en avoir),

Je m'inscris aujourd'hui et viens vers vous en tant que pur néophytes, mon expérience Arduino se limitant à mes cours de lycée... Désormais j'ai bientôt 25 piges et c'est loin derrière moi.

Mes lignes ne concerneront pas une aide pour un code quelconque : si je galère trop avec mon projet, je reviendrais vers vous pour de l'aide :confused:

Donc pour commencer, une petite histoire :
Je suis membre d'une association d'aides aux jeunes aveugles/malvoyants. Après avoir converser longuement avec certains d'entres eux j'en suis venu à ouvrir un atelier de jeu de rôle que j'écris moi même pour leur faciliter la tâche. On joue tous ensemble, l'activité se prêtant plutôt bien à l'handicap de la malvoyance...
Le problème, réside dans les dés. Un voyant ou moi-même sommes obligés de leurs indiqués quels dés utiliser et de lire ensuite le résultat. Vu l'intérêt qu'ils avaient pour cette activité je me suis donc dit

''Est-ce qu'un dé de JDR en braille ou électronique existe ?'' En braille, oui moyennant un coût exorbitant, en électronique : non.

Est donc venu naturellement la seconde question :

''Peut-on créer de multiples dés dans un petit appareil portatif ?'' la réponse, est, je pense, oui. Seulement mes maigres connaissances ne me permettent pas de savoir quoi utiliser et je me suis donc souvenu avec nostalgie des mes années de lycées : Arduino.

Voici donc l'idée du projet :

Obtenir un appareil où l'on pourrait sélectionner 6 types de dés : de 4, de 6, de 8, de 12, de 20 et de 100. Il y aurait donc 7 boutons : 6 pour la sélection du dé, et un pour lancer.
L'obtention du résultat se ferait par un système de ''bip'' : une première fois pour les dizaine, temps de pause, une seconde fois pour les unités (Ex : 4 bip, pause, 2 bips => 42). Ou bien encore par l'usage d'une voix digitale qui annoncerait le résultat.

Voici maintenant mes questions :

-Le projet est-il réalisable avec Arduino ? Si non, inutile de répondre aux questions suivantes :
-Arduino peut-il produire des voix digitales ? Si non, on restera sur le système de bip.
-Ma question la plus importante : qu'est-ce que je dois acheter/me fournir pour ce projet au delà de la tablette arduino ? Vous serez t-il possible de me guider vers le bon matériel ?
-Moyen de le faire fonctionner avec des piles ?

En vous remerciant par avance pour vos réponses :slight_smile:

Bonjour

Oui , c'est possible , du moins par reproduction de sons pré-enregistés, pas en synthèse.

(Synthèse sonore pour prononcer les nombres de 0 à 100 ? gros doute que ce soit simple avec Arduino contrairement à une carte Raspberry Pi ou autre mini carte Linux analogue)

Sous réserve d'avoir la patience d'enregister 100 petits fichiers mp3 (nombres de 1 à 100) il est possible de reproduire un son aléatoire préalablement enregistré sur une carte µSD.

Qui sait les sons se trouvent peut être déjà dans l'une des banques de sons libres de droit?

Voir les petits modules DFPLayer faciles à interfacer avec Arduino (librairie disponible)
Un exemple parmi de nombreux autres :

ce serait plus sympa que des bips, surtout si la voix est agréable à entendre....

Merci pour ta réponse !
Il se trouve que j'ai eu la patience d'enregistrer 101 fichiers audio avec ma propre voix... C'est qu'on s'embête le week-end !

Le module DFplayer a été ajouté au panier ! Faut-il que j'achète un speaker particulier ou ceux de base suffiront ?

Donc j'ai commandé le tout... Je vais reprendre les cours en attendant la réception !

Dernière petite question, existe-t-il des ''boîtiers'' pour rendre le tout plus ''sexy'' et protéger le tout ? (qu'ils me gicle pas un branchement par inadvertance vu que... bah... Ils voient pas grand chose.)

un HP basique devrait suffire

boitier ? on trouve des boitiers pour caret Arduino, mais içi il faut tenir compte de l'encombrement du HP et percer les trous pour laisser sortir le son? Il faut aussi gérer , loger, l'alimentation.

Par impression 3D !
Et autant ajouter un double afficheur 7 segments pour un contrôle visuel supplémentaire, si les voyants sont distraits ou la salle bruyante...

Les JDR, ça me rappelle de nombreuses soirées passées en sous-sol le week-end...

Bonjour
boitier, autre solution : récupérer un haut parleur pour ordinateur de bureau, faire de la place à l'intérieur du boitier pour y loger la carte Arduino et le module mp3, ajouter un ou deux boutons... le tour est joué

Le LCD n’est pas forcément une bonne idée s’il y a des voyants et mal voyants qui jouent; lire ce retour d’expérience:

En voyant Adriana, notre membre non-voyante, notre "testeuse", lire le dès en braille, je me suis rendu compte que les joueurs voyants présents ou le MJ voyant, peuvent lire bien plus vite le résultat, que le joueur NV concerné. Dans l'émotion, ils peuvent donc rigoler, s'esclaffer (etc), alors que le non-voyant cherche encore des doigts le dès pour le lire... Les rôlistes qui ont fait jouer à l'association "Enfant Aveugle" avaient eu le même problème, en faisant jouer avec un système maison et simple, à base de cartes classiques marquées : les joueurs voyants voyaient les résultats avant le joueur NV concerné, se qui gâchait un peu "la surprise". J'avais "bêtement" pensé alors qu'avec des dés adaptés, le problème ne se poserait pas : mais les mêmes causes entrainent les mêmes conséquences.
Je n'ai pas spécialement de solution pour gérer cela, simplement j'indique le problème.

=> un retour audio mets tous les joueurs à égalité (sauf si vous avez des mal-entendants aussi qui jouent bien sûr)

J-M-L:
Le LCD n’est pas forcément une bonne idée s’il y a des voyants et mal voyants qui jouent; lire ce retour d’expérience:

=> un retour audio mets tous les joueurs à égalité (sauf si vous avez des mal-entendants aussi qui jouent bien sûr)

bonjour
oui , effectivement l'info audio met tous les participants sur le meme pied d'egalité quand à l’apparition sonore du tirage.
Si j'ai bien compris les contraintes
simuler du tirage de tétraèdre de 4,6 (le vrai dé) , 8,12,20,100 faces avec une ergonomie la mieux adaptée au handicap non voyant
une "boite" renfermant un generateur (pseudo ou pas) aleatoire modulo n (faces)
pour le tirage , un generateur vocal pour le rendu)
Si je devais faire avec ces contraintes connues , je crois que j'experimenterais pour le fun :wink: :

en commençant
par un volume simple , déja facile à prendre en main : un vrai dé (cube)
je mettrais dans la boite

  • un petit mcu genre nano , micro pour la facilité de prog
  • un DFplayer comme rapidement évoqué
  • un (des) petit contacteur NO ( mercure ou autre contact "cil") ayant pour fonction
    -- detecter "un bougé" du dé par contact sec pour effectuer le ON MCU et ensuite maintenir par soft (petit mosfet)
    l'alim de l'ensemble (sur base batterie rechargeable)

à partir de là , il sera AMHA assez simple de gerer juste derriere le ON "général"
une phase d'info "setup" mise en condition du dé
avec quelques info/ordres

genre :
au reveil du dé :

"Dé de jeu" activé"
" le dé est actuellement en configuration 6 faces"

" bouger le dé pour changer le nombre de faces"
action bouger reçu ---> "le dé est maintenant en configuration x faces

---> tempo
"le dé est maintenant pret à etre joué en config x face

---> jeu
plus de detection de mouvement pendant x temps

info vocale " le dé n'a pas été utilisé depuis x temps"
"le dé est maintenant inactif"

A peaufiner hard et soft , mais AMHA c'est bien le genre de "truc" qui est pile la cible d'une petite machine à état 8)

Il faut penser à la génération aléatoire : les générateurs standards, même avec une initialisation sur une pin analogique, risquent de ne pas donner un hasard parfait.
Je crois que ce problème à été, sinon résolu, en tout cas bien amélioré dans le cas de l'ESP32 en utilisant comme base le bruit reçu sur le WiFi ou le Bluetooth

lesept:
Il faut penser à la génération aléatoire : les générateurs standards, même avec une initialisation sur une pin analogique, risquent de ne pas donner un hasard parfait.
Je crois que ce problème à été, sinon résolu, en tout cas bien amélioré dans le cas de l'ESP32 en utilisant comme base le bruit reçu sur le WiFi ou le Bluetooth

bonjour lesept
oui la génération des nombres aléatoire contraint à modulo N (N mathématiquement petit) est imparfaite
Mais il faut rester pragmatique
le but là n'est pas vraiment de rechercher si les tirages suivent (ou suivront) une suite connue et déterminée :grin:

Perso je m’orienterais plus vers Une petite app sur smartphone

le son, la mémoire de stockage, la batterie, la recharge, l’écran, les détecteurs de mouvement etc, c’est déjà tout intégré et nombreux sont les utilisateurs de smartphone, même chez les non voyants

J-M-L:
Perso je m’orienterais plus vers Une petite app sur smartphone

le son la batterie, la recharge, l’écran, les détecteurs de mouvement etc, c’est déjà tout intégré et nombreux sont les utilisateurs de smartphone, même chez les non voyants

Oui J-M-L
Sur l'optique de simplement obtenir la notion d'un tirage (pseudo) aleatoire en 1 et 100
il y a plein d'autres possibilités
Dans ma reflexion
Je m'orientais aussi (et surtout) dans l'optique de conserver un coté prise en main physique du "solide" dé et "son lancé" ludique :wink:

Ce n'est pas , parce que tu es aveugle , que tu ne serais pas aussi, mauvais joueur au point balancer ton dé dans la "tronche d'un adversaire" :smiley: (remarque que çà marche aussi avec un smartphone :grin: )

Merci pour vos retours c'est pas mal encourageant !
Pour ce qui est du boitier du coup je pense que je vais voir si une personne disposant d'une imprimante 3D ne veut pas se montrer charitable envers une bonne cause... Sinon bah je bricolerais un truc !
Je suis d'accord avec J-M-L pour le coup je ne suis pas trop pour l'idée de l'affichage digital ca risque de casser l'effet de surprise autant relancer un second dé si personne n'a entendu !... Ou faire en sorte d'avoir gardé en mémoire le dernier numéro et d'avoir un bouton repeat ?

J'aime bien ton idée Artouste mais j'ai bien peur, pour l'heure, de ne pas être en mesure de mettre au point ce genre de système je reprend les cours de 0 là :confused: ! Je n'ai pas compris la moitié de ce que tu as dit aha ^^'...

En ce qui concerne l'aléatoire, ne serait-il pas possible d'avoir un hasard parfait du coup en utilisant des voix pré-enregistrer ? Il suffit juste de demander a prendre un fichier audio de manière aléatoire en fonction du dé plutôt que de lui dire :
''Si 26 éxécuter fichier audio 26'' on pourrait faire ''Si d12 jouer un fichier un fichier audio aléatoire parmis fichier audio 1,2,3,4,...,12''

Bon après je parle sans connaitre donc bon !

La génération du son ne pose pas de problème, ça va marcher comme vous le décrivez

Le point était plutôt que La distribution statistique de la fonction random() d’un UNO n’est pas géniale, Donc ça introduit un petit biais

Un smartphone on peut le tenir dans la main et le « secouer » pour simuler le lancé (ou Le lancer vraiment mais là c’est sans doute pour de l’usage unique :slight_smile: ) il existe déjà plein d’applis « réalistes » 3D pour simuler un lancer de dés faudrait rajouter une description audio du tirage, peut être en contactant un des développeurs (les smartphones ont maintenant tous une API de synthèse vocale donc l’appli serait paramètrable et multilingue sans enregistrer les sons)

J-M-L:
Le point était plutôt que La distribution statistique de la fonction random() d’un UNO n’est pas géniale, Donc ça introduit un petit biais

Désolé d'avoir l'air aussi ignorant mais... Peux-tu être plus clair ? En quoi n'est-elle pas géniale ?

J-M-L:
Un smartphone on peut le tenir dans la main et le « secouer » pour simuler le lancé (ou Le lancer vraiment mais là c’est sans doute pour de l’usage unique :slight_smile: ) il existe déjà plein d’applis « réalistes » 3D pour simuler un lancer de dés

Voici un lien vers une appli sous Android qui lit le résultat à haute voix (il y en a certainement d'autres). Ça ne veut pas dire que je recommande de ne pas faire le développement Arduino qui me parait sympa aussi...

Merci Lesept ça va beaucoup me servir pour mes JDR !

Cependant comme tu le soulignes... Je viens de mettre 60 balles dans une carte arduino et les composants. Ce serait bête de la laisser prendre la poussière dans un coin ! Le projet tient donc toujours !

60!!! Elle est plaquée or ?

J'ai prit un gros pack avec plein de composants pour m'amuser :confused: !

Et as-tu commencé à écrire un bout de code ?

On trouve beaucoup de projets de dés sur Arduino, mais avec affichage par les ou matrices de led. Mais l'un d'eux utilise ce genre de bouton (un peu cher il est vrai) :

Il y a aussi ce concept : un gros dé à agiter qui va afficher le tirage du dé. Tu peux imaginer d'en avoir plusieurs, un pour 4 faces, un pour 6, ... un pour 100. Chaque dé pourrait être équipé d'un haut parleur et d'un module mp3 qui annoncerait le résultat. Ou bien une liaison bluetooth vers un arduino qui serait connecté au MP3+HP (un seul nécessaire dans ce cas).

Il faut que tu figes la solution vers laquelle tu veux aller pour bien la définir (fonctionnellement et physiquement) afin de choisir les composants et commencer la programmation...