View  Edit  Attributes  History  Attach  Print  Search

ACCUEIL | ARDUINO > S'INSTALLER > DEBUTER > APPROFONDIR | PROCESSING | MECATRONIQUE | MATERIEL | OUTILS | TESTS | Plus...|
Python > Shell > ATELIERS Python + Qt > PyQt apps > PyQt+Arduino | Mes Robots | RepRap | Mes lib'Arduino | Mes shields Arduino | Mes distros | Les Mini-PC |
ATELIERS ARDUINO| VIDEOS | COMPRENDRE | REFERENCES | CODER | TECHNIQUE | GNU/LINUX | LIENS | Rien à voir |

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

Par X. HINAULT - Juin 2013

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 4x4 (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

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

#--- 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)

# -- 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 !