Résolu sur le forum : Borne Wallbox Pulsar Plus 7,4 kW sur abonnement 6 kVA : quel délestage avant accord copro (urgent)Ma panne diagnostiquée — réponse sous 48 h29 €

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

Électroniquemis à jour le 23 avril 2023

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 »).

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

  • 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

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 :
  • Pour plus de détails sur les fonctions utilisées, voir la documentation de la librairie Pyduino Multimedia.

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,
  • des straps,
  • un bouton poussoir pour CI,

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

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

ÉlectroniqueChamp électrique : les notions fondamentales expliquées simplement

        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

ÉlectroniqueBien chauffer son atelier d’électronique : confort, sécurité et continuité de travail

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

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.

Donnez votre avis

Soyez le 1er à noter cet article
ou bien laissez un avis détaillé


Partagez cet article maintenant !


Ça ne règle pas votre cas ?

Décrivez la panne sur le forum, avec une photo si vous pouvez : les membres qui ont eu la même répondent, et le sujet reste pour les suivants.

Avatar photoAvatar photoAvatar photoAvatar photoAvatar photoRejoindre les 54 membres — gratuit, 44 pannes résolues

Dans le même tiroir

Exemples de mise en place d’un réseau local.
Électronique

Exemples de mise en place d’un réseau local.

L'utilisation d'un réseau local est un moyen efficace pour relier plusieurs ordinateurs et périphériques entre eux. Il permet aux utilisateurs…

Portrait de Inès DameronInès Dameron · 21 Avr 2023
Mémo PyQt : Classe QSpinBox
Électronique

Mémo PyQt : Classe QSpinBox

La classe QSpinBox est un widget très pratique de la bibliothèque PyQt qui permet aux utilisateurs de saisir des valeurs…

Portrait de Inès DameronInès Dameron · 24 Avr 2023

Réagissez à cet article

La lettre du club

Une lettre par mois, accrochée au panneau

Les sujets du forum résolus dans le mois, un guide, un chiffre qu’on peut vérifier chez soi. Rien d’autre, jamais plus souvent — et on se désabonne d’un clic.

Ce qu’il y a dedans

Votre adresse

Une lettre par mois. Désabonnement en un clic.

Partagez votre réaction