Logo Mon Club Elec

Programmer le pcDuino : Image : L’appui sur un BP déclenche la capture d’une image webcam avec bruitage (« appareil photo numérique »).

Le pcDuino est un ordinateur de petite taille qui offre une variété de fonctionnalités et de possibilités. Il est capable de programmer des applications et des jeux, et peut également être utilisé pour capturer des images à l’aide d’une webcam. Avec le pcDuino, vous pouvez capturer des images avec un bruitage d’appareil photo numérique en appuyant simplement sur un bouton. Dans cet article, nous allons vous montrer comment programmer le pcDuino pour capturer des images avec un bruitage d’appareil photo numérique.

Programmer le pcDuino : Image : L’appui sur un BP déclenche la capture d’une image webcam avec bruitage (« appareil photo numérique »).

Programmer le pcDuino : Image : L’appui sur un BP déclenche la capture d’une image webcam avec bruitage (« appareil photo numérique »).

Ce que l’on va faire ici

  • Dans ce code, l’appui sur un bouton poussoir va déclencher d’une image webcam associé à la lecture d’un fichier de bruitage « déclic photo » à l’aide de ma librairie Pyduino Multimedia. L’ensemble réalise un code « appareil photo numérique » qui pourra servir de base didactique auprès d’un public jeune.
  • Vous remarquerez la simplicité du code obtenu au vu des fonctions utilisées (capture webcam + lecture fichier son + enregistrement dans un fichier + affichage image…) : la librairie Pyduino Multimedia apporte une couche d’abstraction qui résume les fonctions appelées à l’essentiel !

Pré-requis

Exemples de sons

$ wget –4 http://www.mon-club-elec.fr/mes_downloads/pyduino_sons.tar.gz
  • Extraire l’archive puis copier-là dans votre répertoire de sources audio.

Schéma fonctionnel

  • L’entrée numérique déclenche la capture image et la lecture du fichier son ainsi que l’enregistrement de l’image :
Programmer le pcDuino : Image : L’appui sur un BP déclenche la capture d’une image webcam avec bruitage (« appareil photo numérique »).

Matériel nécessaire

Système

  • Le pcDuino
  • Une webcam compatible ( Logitech C170, C270, etc…)
  • 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 : Image : L’appui sur un BP déclenche la capture d’une image webcam avec bruitage (« appareil photo numérique »).
  • des straps,
Programmer le pcDuino : Image : L’appui sur un BP déclenche la capture d’une image webcam avec bruitage (« appareil photo numérique »).
  • un bouton poussoir pour CI,
Programmer le pcDuino : Image : L’appui sur un BP déclenche la capture d’une image webcam avec bruitage (« appareil photo numérique »).

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 webcam sur le port USB
  • Connecter la sortie audio (HDMI ou USB)

Le montage à réaliser

Programmer le pcDuino : Image : L’appui sur un BP déclenche la capture d’une image webcam avec bruitage (« appareil photo numérique »).

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 sur un BP declenche capture image webcam

#from pyduino import * # importe les fonctions Arduino pour Python
from pyduinoMultimedia import * # importe les fonctions Arduino pour Python

# entete declarative
noLoop=True

BP=2  # declare la broche a utiliser
APPUI=LOW # valeur broche lors appui

filepathAudio=«  »
filepathImage=«  »
compt=0

#— 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 ! »)

        global filepathAudio, filepathImage

        # exemples de sons :  wget -4 https://www.mon-club-elec.fr/mes_downloads/pyduino_sons.tar.gz

        filepathAudio=homePath()+sourcesPath(AUDIO)+« photo/ »
        print filepathAudio

        filepathImage=homePath()+dataPath(IMAGE)
        print filepathImage

        # initialisation webcam
        initWebcam(0,640,480) # la resolution doit etre supportee par la webcam !

        loop() # premier appel loop()

# — fin setup —

# — loop —
def loop():

        global filepathAudio, filepathImage, compt

        if(digitalRead(BP)==APPUI): # si appui
                Serial.println(« Appui BP! »)
                playSound(filepathAudio+« camera-click-1.wav ») # joue le son

                closeImage() # ferme visionneur image precedente

                # capture image
                filename=« photo »+str(compt)+« .jpg »
                print filepathImage+filename
                captureImage(filepathImage+filename) # charge une image dans le buffer a partir webcam
                compt=compt+1

                #addTextOnImage(today(« / »)+ »@ »+nowtime(« : »), 10,height()-30, green) # ajoute texte sur image
                #addTextOnImage(nowdatetime(), 10,height()-20, yellow,0.75) # ajoute texte sur image

                saveImage(filepathImage+filename) # enregistre l’image
                delay(500)

                showImage(filepathImage+filename) # affiche l’image
                delay(250)  # anti-rebond

        timer(200, loop) # relance timer – la fonction loop s’auto-appelle
# — 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/Image/digitalReadPlaySoundCaptureImage.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…)
  • Vérifier au besoin au préalable le bon fonctionnement de la webcam avec guvcview
  • Appuyer sur le bouton exécuter dans Geany
  • Une fenêtre de Terminal doit apparaître : lors d’un appui sur le bouton poussoir, un son de « déclic » doit être entendu et une image doit être capturée puis affichée. Noter que l’image est également enregistrée.
Programmer le pcDuino : Image : L’appui sur un BP déclenche la capture d’une image webcam avec bruitage (« appareil photo numérique »).

Discussion technique

  • On utilise ici un Timer entre 2 appels de loop() pour ne pas solliciter inutilement la CPU.
  • La capture d’image repose sur la librairie OpenCV.
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é.