Résolu sur le forum : Borne Wallbox Pulsar Plus 7,4 kW sur abonnement 6 kVA : quel délestage avant accord copro (urgent)Ma panne diagnostiquée — réponse sous 48 h29 €

Programmer le pcDuino : Pyduino : Synthèse vocale : Synthèse vocale d’une valeur saisie sur un numpad (clavier numérique )

Électroniquemis à jour le 23 avril 2023

Le pcDuino est une plateforme de développement open source qui permet aux développeurs de créer des applications et des systèmes embarqués. Avec Pyduino, un langage de programmation Python pour le pcDuino, il est possible de créer des applications qui utilisent la synthèse vocale pour lire des valeurs saisies sur un numpad (clavier numérique). Dans cet article, nous allons voir comment programmer le pcDuino pour qu’il puisse lire des valeurs saisies sur un numpad et les synthétiser à l’aide de la synthèse vocale.

Programmer le pcDuino : Pyduino : Synthèse vocale : Synthèse vocale d’une valeur saisie sur un numpad (clavier numérique )

Ce que l’on va faire ici

  • Dans ce code, je vous montre comment réaliser la synthèse vocale d’une valeur saisie sur un numpad. Tout bête, mais ce code pourra servir de base à toutes sortes de situations où il sera nécessaire de saisir une valeur au clavier numérique dans le cadre d’une interaction avec l’utilisateur.
  • Pour plus de détails sur la synthèse vocale avec la librairie Pyduino Multimedia, voir la fonction speak()

Noter que l’utilisation d’un keypad numérique USB (ou numpad) permet de remplacer simplement et avantageusement (ne coûte que quelques euros) un clavier numérique matriciel 4×4 (avec signes d’opération et touche de validation!), même si aucun écran n’est connecté, tant que le programme Pyduino a le focus, ce qui est obligatoirement le cas une fois le programme lancé, tant qu’on n’utilise pas de souris ! De plus, le code de gestion du clavier est très simple, puisqu’il est géré par le système !

Pré-requis

  • un mini-PC (pcDuino conseillé) avec système Lubuntu opérationnel. Voir si besoin la page d’accueil du pcDuino
  • Langage Python (2.7) et l’IDE Pyduino ou l’éditeur Geany installés. Voir si besoin : Logiciel pour développer avec Pyduino
  • ma librairie pyDuino installée : voir si besoin : Télécharger et installer Pyduino sur le pcDuino
  • les dépendances de la librairie pyDuino Multimédia installées : voir si besoin : Télécharger et installer Pyduino sur le pcDuino

Schéma fonctionnel

  • Le numpad numérique entraîne la synthèse vocale de la valeur saisie :

Matériel nécessaire

Système

  • Le pcDuino
  • Un clavier numérique (numpad) :
  • une sortie son opérationnelle :
    • soit la sortie audio HDMI connectée à un écran HDMI
    • soit la sortie audio jack intégrée si elle existe (raspberryPi)
    • soit une carte son USB disposant d’une sortie audio

E/S

  • Aucun montage utilisant les broches E/S ici.

Instructions de montage

  • Connecter le numpad
  • Connecter la sortie audio

Le montage à réaliser

Le fichier *.yno

Copier/coller ce code dans l’IDE Pyduino

 

Ce code est également disponible ici :

Le fichier *.py

Copier/coller ce code dans l’éditeur Geany :

#!/usr/bin/python
# -*- coding: utf-8 -*-

# exemple pyDuino – par X. HINAULT – www.mon-club-elec.fr
# Juin 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino

# test raw_input

#from pyduino import * # importe les fonctions Arduino pour Python
from pyduinoMultimedia import * # importe les fonctions Arduino pour Python

# entete declarative

ÉlectroniqueChamp électrique : les notions fondamentales expliquées simplement

#— setup —
def setup():
        return  # si vide

# — fin setup —

# — loop —
def loop():

        # try.. except.. permet d’éviter le blocage si erreur de saisie
        try:
                speak(« Veuillez saisir une valeur : « )
                reponse=raw_input(« Veuillez saisir une valeur : « )
        except: # erreur
                print (« Veuillez recommencer ! »)
                return  # sort de la fonction loop

        print (« Vous avez saisi : «  + reponse )
        speak(« Vous avez saisi : «  + reponse)

ÉlectroniqueBien chauffer son atelier d’électronique : confort, sécurité et continuité de travail

# — fin loop —

#— obligatoire pour lancement du code —
if __name__==« __main__ »: # pour rendre le code executable
        setup() # appelle la fonction main
        while not noLoop: loop() # appelle fonction loop sans fin

 

Ce code est également disponible ici : https://raw.github.com/sensor56/pyduino-exemples/master/Periph/Raw_inputNumpadSpeak.py

Utilisation

  • Réaliser le montage et connecter le clavier sur le port USB ainsi que la sortie audio
  • Appuyer sur le bouton exécuter dans Geany
  • Une fenêtre de Terminal doit apparaître :
    • un message vocal invite à saisir une valeur
    • saisir une valeur numérique et valider
    • un nouveau message vocal annonce la valeur saisie !

Discussion technique

  • Un code particulièrement compact et efficace !

Donnez votre avis

Soyez le 1er à noter cet article
ou bien laissez un avis détaillé


Partagez cet article maintenant !


Ça ne règle pas votre cas ?

Décrivez la panne sur le forum, avec une photo si vous pouvez : les membres qui ont eu la même répondent, et le sujet reste pour les suivants.

Avatar photoAvatar photoAvatar photoAvatar photoAvatar photoRejoindre les 54 membres — gratuit, 44 pannes résolues

Dans le même tiroir

Programme GLAP-Box :
Électronique

Programme GLAP-Box :

une solution innovante pour l'éducation Le Programme GLAP-Box est une solution innovante qui offre aux enseignants et aux étudiants un…

Portrait de Inès DameronInès Dameron · 21 Avr 2023

Réagissez à cet article

La lettre du club

Une lettre par mois, accrochée au panneau

Les sujets du forum résolus dans le mois, un guide, un chiffre qu’on peut vérifier chez soi. Rien d’autre, jamais plus souvent — et on se désabonne d’un clic.

Ce qu’il y a dedans

Votre adresse

Une lettre par mois. Désabonnement en un clic.

Partagez votre réaction