Programmer le pcDuino : Pyduino : périphériques : Tester un code secret saisi à l'aide d'un numpad (clavier numérique ) et synthèse vocale.Par X. HINAULT - Juillet 2013 Ce que l'on va faire ici
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
Matériel nécessaireSystème
![]()
E/S
Instructions de montage
Le montage à réaliserLe fichier *.ynoCopier/coller ce code dans l'IDE Pyduino Ce code est également disponible ici : Le fichier *.pyCopier/coller ce code dans l'éditeur Geany : #!/usr/bin/python # -*- coding: utf-8 -*- # exemple pyDuino - par X. HINAULT - www.mon-club-elec.fr # Juillet 2013 - Tous droits réservés - GPLv3 # voir : https://github.com/sensor56/pyDuino # tester un code secret saisi dans un numpad aevc synthese vocale #from pyduino import * # importe les fonctions Arduino pour Python from pyduinoMultimedia import * # importe les fonctions Arduino pour Python # entete declarative code="*123+" #--- 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 votre code !") reponse=raw_input("Veuillez saisir le code : ") except: # erreur print ("Veuillez recommencer !") speak("Une erreur est survenue. Veuillez recommencer !") return # sort de la fonction loop print ("Vous avez saisi : " + reponse ) if reponse==code : print ("Code bon !") speak("Le code est exact !") pass else : print ("Code faux !") speak("Le code saisi est faux. Veuillez recommencer !") return # sort de loop # si le code est bon on se trouve ici... print ("Felicitations ! ") speak ("Failicitations") # stoppe loop global noLoop noLoop=True # -- 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/Voice/Raw_inputNumpadCodeSpeak.py Utilisation
![]()
Discussion technique
|