Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de possibilités de programmation. Il est possible de programmer le pcDuino pour effectuer des mesures analogiques et pour produire des messages en synthèse vocale. Dans ce tutoriel, nous allons vous montrer comment programmer le pcDuino pour qu’il puisse lire un résultat de mesure analogique à chaque fois qu’un bouton-poussoir est pressé. Nous allons également vous expliquer comment configurer le pcDuino pour qu’il puisse produire des messages en synthèse vocale.
Programmer le pcDuino : Mesure Analogique et Synthèse vocale : L’appui sur un BP déclenche un message en synthèse vocale annonçant le résultat d’une mesure analogique.
Ce que l’on va faire ici
- Dans ce code, l’appui sur un bouton poussoir va déclencher un message en synthèse vocale, qui annoncera le résultat de la mesure analogique sur une broche analogique du pcDuino. Ce code pose les bases pour l’annonce vocale de résultats de mesure intégrant notamment des variables !
- La résistance variable symbolise ici un capteur analogique et permet de tester simplement la mesure analogique : en pratique, il pourra s’agir de n’importe quel capteur analogique et le message pourra être adapté en conséquence.
- Une utilisation potentiellement très intéressante est l’annonce vocale d’alerte lorsqu’une valeur critique d’une grandeur mesurée est dépassée.. çà ouvre pas mal d’idées…
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
- L’entrée numérique déclenche la mesure analogique puis la synthèse vocale.
/mes_images/montages_pcduino/analog/pcduino_rvarx1_A2_bp_2_speak_schema.png
- Pour plus de détails sur la synthèse vocale avec la librairie Pyduino Multimedia, voir la fonction speak()
Matériel nécessaire
Système
- Le pcDuino
- 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
- une plaque d’essai pour montage sans soudures,

- des straps,

- un bouton poussoir pour CI,

- une résistance variable,

Instructions de montage
- Connecter un bouton poussoir entre la broche 2 (configurée en entrée avec rappel au plus) et le 0V
- Connecter la sortie variable de la résistance variable à la broche A2, la deux autres broches de la résistance variable étant connectées entre le 0V et le 3.3V.
Le montage à réaliser
Le fichier *.py
Copier/coller ce code dans l’éditeur Geany :
# -*- 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
# appui BP annonce resultat mesure analogique
#from pyduino import * # importe les fonctions Arduino pour Python
from pyduinoMultimedia import * # importe les fonctions Arduino pour Python
# entete declarative
BP=2 # declare la broche a utiliser
APPUI=LOW # valeur broche lors appui
#— setup —
def setup():
pinMode(BP,PULLUP) # met la broche en entree avec rappel au plus actif
Serial.println(« La broche 2 est en entree avec rappel au plus actif ! »)
# — fin setup —
# — loop —
def loop():
if(digitalRead(BP)==APPUI): # si appui
Serial.println(« Appui BP! »)
mesure=analogRead(A2) # mesure analogique sur la broche A2
Serial.println(« Mesure brute A2 = « + str(mesure))
mesuremV=analogReadmV(A2) # mesure en millivolts.
Serial.println(« Mesure mV A2 = « + str(mesuremV))
# message synthese vocale
message=(« La mesure analogique sur la broche A2 vaut « + str(mesure)
+ « . Sur une plage de mesure 12 bits. qui ses tend de 0 a 4095. »
+ » soit une tension de « + str(mesuremV) + » millivolts. »)
print (« \nMessage en synthese vocale : « )
print message
speak(message) # synthese vocale
delay(250) # anti-rebond
delay(100) # pause entre 2 lecture du BP
# — fin loop —
#— obligatoire pour lancement du code —
if __name__==« __main__ »: # pour rendre le code executable
setup() # appelle la fonction main
while(1): loop() # appelle fonction loop sans fin
Ce code est également disponible ici : https://raw.github.com/sensor56/pyduino-exemples/master/3a.AnalogInput/analogReadSpeakBp.py
Utilisation
- Vérifier au besoin le bon fonctionnement de la sortie audio au préalable (par exemple en générant un son avec Audacity…)
- Appuyer sur le bouton exécuter dans Geany
- Une fenêtre de Terminal vide doit apparaître : lors d’un appui sur le bouton poussoir, un message vocale donne le résultat de la mesure analogique !

Discussion technique
- Un code compact pour un résultat plus que correct ! Remarquer l’utilisation des . pour ralentir la diction ainsi que la possibilité de mettre une longue chaîne composée sur plusieurs lignes en utilisant les ( ) : simple !
Articles similaires:
- Programmer le pcDuino : Synthèse vocale : L’appui sur un BP déclenche un message en synthèse vocale.
- http://web.archive.org/web/20210804223007/http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ATELIERSPYDUINOMultimediaVoixSynthese
- Programmer le pcDuino : Synthèse vocale : L’appui sur un BP déclenche un message en synthèse vocale annonçant l’adresse IP du système.
- Programmer le pcDuino : Python simple : Entrée Analogique : Afficher le résultat d’une mesure dans la console système.
- Programmer le pcDuino : Python simple : Entrée numérique : Détecter l’appui sur un bouton poussoir
Articles Liés
- Processing Synthèse vocale avec espeak : annonce vocale de l'adresse IP de l'interface wifi.
La synthèse vocale est un outil très pratique qui permet aux utilisateurs de communiquer avec…
- Processing Synthese vocale avec espeak lancé en ligne de commande depuis Processing
La synthèse vocale est un outil puissant qui permet aux utilisateurs de générer des voix…
- Javascript : Graphique Dygraphs simple
Le Javascript est un langage de programmation très populaire et puissant qui permet aux développeurs…