Réaliser une sonette avec une sortie sur enceinte sono

Bonjour,
Je souhaite réaliser une sonnette avec mon raspberry 4 (modèle B).
L’idée est d’ajouter un bouton poussoir (style champignon) pour que lorsque l’ont appuis dessus cela émette un son en continu et lorsque le bouton est relâché le son s’arrête. Le tout sur la sortie jack.
Avez-vous des idées de montage ou de schéma à me communiquer ?
Merci grandement de votre aide.
Cordialement,

Bonjour,

Dans un premier temps réaliser ce montage avec ce programme.
Une fois OK, remplacer la commande d’allumage de la led par un son.

A+

Merci de la réponse,
La led fonctionne bien, mais je ne vois pas comment remplacer la commande d’allumage par un son de type buzzer ? faut-il qu’il soit enregistrer sur le carte ? et comment l’ajouter à ligne de commande.
Merci beaucoup de votre retour.
Cordialement,

Bonjour Pierros4,

Si vous avez un buzzer type piezo alors il suffira de mettre le pin qui l’alimente à l’état haut pour le faire buzzer.

Sinon effectivement il faudra enregistrer un son, le mettre dans la carte SD et l’intégrer dans votre script.

Exemple en python non testé :

import alsaaudio
import wave
import RPi.GPIO as GPIO

# Set up the GPIO pin
GPIO.setmode(GPIO.BCM)
button_pin = 18  # Change this to the GPIO pin number you're using
GPIO.setup(button_pin, GPIO.IN, pull_up_down=GPIO.PUD_UP)

# Set up the audio output
output = alsaaudio.PCM(alsaaudio.PCM_PLAYBACK, alsaaudio.PCM_NORMAL)

# Open the audio file
wav_file = wave.open('/home/your_file.wav', 'rb')  # Change this to the path of your audio file

# Set up the audio output to match the audio file's format
output.setchannels(wav_file.getnchannels())
output.setrate(wav_file.getframerate())
output.setformat(alsaaudio.PCM_FORMAT_S16_LE)
output.setperiodsize(160)

# Function to play the audio file
def play_file():
    data = wav_file.readframes(160)
    while data:
        output.write(data)
        data = wav_file.readframes(160)

# Wait for the button to be pressed
GPIO.wait_for_edge(button_pin, GPIO.FALLING)

# Play the audio file
play_file()

Merci beaucoup de votre réponse, je vais essayer ce code.
Une dernière question, si ce n’est pas abusé… le type de buzzer piezo permet une sortie son via la sortie jack ?
Cordialement,

Pas de soucis !

Un buzzer type piezo pourrait se raccorder facilement à un pin du GPIO et non au jack. Après ce que je ne sais pas c’est si le voltage du pin (3v et quelque) du pi serait suffisant pour qu’on l’entende assez…

Si il faut augmenter le voltage (5V/12/24V) alors il faudra du coup passer par un relai ou un genre de transistor/mosfet pour déclencher le buzzer… plus compliqué. Alors le plus simple serait de passer par une mini enceinte qui jouerait le son de votre choix avec le script donné plus haut.

Bonne bidouilles :wink: !

Merci beaucoup de cette info.
Je vais déja me pencher sur le script.
Cordialement,

Sinon ce week end j’ai fait un petit lecteur MP3 avec un attiny et un dfplayer mini.

Avec une solution simple, si votre porte n’est pas loin de l’appart vous pourriez juste bricoler le bouton de la sonette pour envoyer un signal à un ESP ou un micro controlleur en wifi ou même en 444mhz qui jouerait ensuite la sonnette chez vous.

Plus simple et économique qu’avec un PI.