Logo Mon Club Elec

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.

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.

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

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,
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.
  • des straps,
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.
  • un bouton poussoir pour CI,
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.
  • une résistance variable,
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.

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

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.

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

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

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 !
Noter cet article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Archive Mon Club Elec

Articles populaires

Newsletter

Inscrivez-vous maintenant et bénéficiez d'un soutien continu pour réaliser vos travaux électriques en toute sécurité.