Logo Mon Club Elec

Programmer le pcDuino : Audio : Détecter un bruit.

Le pcDuino est un système informatique open source qui offre aux utilisateurs une variété de possibilités de programmation. Une des fonctionnalités les plus intéressantes est la possibilité de programmer le pcDuino pour détecter des sons. Cet article expliquera comment programmer le pcDuino pour détecter un bruit spécifique et comment l’utiliser pour créer des applications audio intéressantes.

Programmer le pcDuino : Audio : Détecter un bruit.

Programmer le pcDuino : Audio : Détecter un bruit.

Ce que l’on va faire ici

  • Dans ce code, je montre comment pyduino permet de détecter simplement un bruit à l’aide d’un simple micro de webcam grâce à la fonction waitSound() qui permet notamment de fixer le seuil sonore de détection.
  • Couplée à d’autres fonctions Pyduino (capture d’image, envoi de mail, …), cette fonction pourra s’avérer particulièrement utile.

Pré-requis

Schéma fonctionnel

  • L’entrée audio simple permet de détecter un son :
Programmer le pcDuino : Audio : Détecter un bruit.

Matériel nécessaire

Système

  • Le pcDuino
  • Une entrée audio opérationnelle :
    • le micro intégré d’une webcam (le plus simple)
    • une carte audio USB avec entrée audio et un micro

E/S

  • aucun matériel

Instructions de montage

  • Simplement connecter le micro (ou la webcam) au mini-PC :

Le montage à réaliser

Programmer le pcDuino : Audio : Détecter un bruit.

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
# Aout 2013 2013 – Tous droits réservés – GPLv3
# voir : https://github.com/sensor56/pyDuino

# test WaitSound

from pyduinoMultimedia import * # importe les fonctions Arduino pour Python + Multimedia

# entete declarative

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

# — fin setup —

# — loop —
def loop():

        Serial.println(« Ecoute bruit… « )
        #waitSound() # attend un son… fonction bloquante – seuil detection par defaut = 10% pendant 0.1sec
        waitSound(25,0.1) # attend un son… fonction bloquante – seuil detection 25% pendant 0.1sec
        Serial.println(« Detection de bruit ! Il est «  + nowtime(« : »))

        # lancer simultanement <pulse audio volume control> et regler les niveaux si besoin

# — 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://github.com/sensor56/pyduino-exemples/blob/master/Audio/WaitSound.py

Utilisation

  • Connecter le micro (le plus simple = une webcam avec micro-intégré)
  • Vérifier les niveaux de son au préalable avec Audacity
  • Appuyer sur le bouton exécuter dans Geany
  • Une fenêtre de Terminal doit apparaître : un message indique alors que le programme écoute un bruit
  • Ouvrir, si vous voulez visualiser l’entrée audio sous forme graphique, le <pulse audio volume control> depuis le menu graphique « Sons et Vidéos » : placez vous dans l’onglet « recording ». Sélectionner la bonne entrée audio si besoin : vous devez alors voir le niveau son varier
  • Si un bruit suffisamment fort est détecté, un message l’indique dans le Terminal.
Programmer le pcDuino : Audio : Détecter un bruit.

Discussion technique

  • Un niveau sonore de l’ordre 20% donne de bon résultats sur un clap des mains.
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é.