Klaxon raspberry pi 3

bonjour a tous, je vous explique mon projet:
le but est de connecter un bouton poussoir ainsi qu’ un haut-parleur avec un ampli sur le Raspberry et que quand le bouton poussoir est pressé un son au format mp3 se joue instantanément via le haut-parleur ma question est: comment réaliser cela ? (je n’ai jamais tapé une ligne de code de ma vie) merci d’avance!
Marceau

Pour les boutons, ce guide peut t’aider; RPi-Buttons — Wiki levelKro

Pour la lecture, c’est avec VLC (cVLC pour en ligne de commande). Je te conseil de travailler avec Raspbian OS Lite, si aucun affichage graphique est requis.

Salut @Marceau_Debailleul

En fait, c’est très simple.

  • Tu connectes un bouton poussoir sur des ports GPIO.
  • Tu as un script (bash ou python) qui se lance au démarrage.
  • Ce script surveille l’état des GPIO et si tu appuies sur le bouton, il lance une action.
  • Cette action sera la lecture d’un fichier (sifflet, klaxon, musique, …).
    Redis nous où tu as besoin d’aide.
    ++

Re,

A tester (non testé faute de temps et pas de matos sorti) :

Installation du nécessaire :

sudo apt update
sudo apt install python3-gpiozero mpg123

On va faire un script (je fais avec « pi », tu remplaces par ton « user »)
nano /home/pi/klaxoon.py

Tu mets ça (attention au indentation, c’est hyper important) :

from gpiozero import Button
from signal import pause
import subprocess

button = Button(17, pull_up=False)  # GPIO 17 avec pull-down

def play_sound():
    subprocess.run(["mpg123", "/home/pi/klaxon.mp3"])

button.when_pressed = play_sound

pause()  # Boucle infinie pour écouter le bouton

Tu édites ta crontab
crontab -e
Pour ajouter (tout en bas)
@reboot python3 /home/pi/klaxoon.py &

Tu enregistres ton son sous le nom klaxoon.mp3 dans ton dossier (remplace « pi » par ton « user »)
/home/pi/klaxon.mp3

Résultat :

  • Au démarrage du Raspberry Pi, le script tourne en tache de fond et attend.
  • Si tu appuies sur le bouton, le son MP3 est lu immédiatement via les haut-parleurs.

++