Différences entre versions de « P2E-MELODIC-BELL »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
Ligne 59 : Ligne 59 :
 
     counter += 1
 
     counter += 1
 
      
 
      
# https://docs.micropython.org/en/latest/library/machine.Pin.html
 
# https://docs.micropython.org/en/latest/reference/isr_rules.html
 
 
btn = Pin( Pin.board.GP16, Pin.IN, Pin.PULL_UP )
 
btn = Pin( Pin.board.GP16, Pin.IN, Pin.PULL_UP )
 
btn.irq( handler=bouton_cb, trigger=Pin.IRQ_FALLING )
 
btn.irq( handler=bouton_cb, trigger=Pin.IRQ_FALLING )
Ligne 93 : Ligne 91 :
  
 
* '''Ligne 01''' : xxx
 
* '''Ligne 01''' : xxx
 +
 +
 +
https://docs.micropython.org/en/latest/library/machine.Pin.html
 +
https://docs.micropython.org/en/latest/reference/isr_rules.html
  
 
{{P2E-TRAILER}}
 
{{P2E-TRAILER}}

Version du 1 avril 2025 à 15:16

Sonnette

Chez MCHobby, nous avons une sonnette de porte pour le moins originale.

A chaque fois qu'une personne presse le bouton, une piste audio bien rythmée est jouée sur une paire de haut-parleur PC (réglé sur un volume assez élevé).

Ce qu'il y a d'intéressant, c'est que la mélodie est différente d'une fois à l'autre (parmi une sélection de "titre").

C'est une idée assez originale donc nous ne nous lassons pas depuis de nombreuses années.

Alors pourquoi ne pas réaliser quelque-chose de similaire avec notre pico-explorer.

En effet:

  • Le Pico Explorer dispose d'un Buzzer amplifié
  • La bibliothèque RTTTL permet de jouer des mélodies.
  • Le fichier songs.py contient déjà un ensemble de mélodie (voir le détail dans la bibliothèque micropython-rtttl )

Cet exemple se propose jouer un mélodie différente à chaque fois que le bouton est pressé.

Brancher

Pico Pico-2-Explorer
GP16 Btn 3 (ou bouton volant)
GP13 Buzzer (cavalier place)

Le bouton de sonnette sera simulée par l'un des 3 boutons qui sera branché sur le GPIO 16. Ce bouton peut très bien être remplacé par un "bouton volant" pour placer la sonnette à l'entrée de votre chambre.

P2E-MELODIC-BELL-wiring-00.jpg

P2E-MELODIC-BELL-wiring-01.jpg

Sur le Pico-2-Explorer, le piezo buzzer est branché directement sur GP13 par l'intermédiaire d'une électronique d'amplification.

Le cavalier Buzzer doit être en place.

Code

Le script doorbell.py est disponible dans le dépôt dédié au Pico-2-Explorer.

 1 import micropython, time
 2 from machine import Pin
 3 from rtplay import *
 4 micropython.alloc_emergency_exception_buf(100)
 5 
 6 counter = 0
 7 
 8 def bouton_cb( obj ):
 9     global counter
10     counter += 1
11     
12 btn = Pin( Pin.board.GP16, Pin.IN, Pin.PULL_UP )
13 btn.irq( handler=bouton_cb, trigger=Pin.IRQ_FALLING )
14 
15 buzzer = RingTonePlayer( Pin.board.GP13 )
16 buzzer.load_songs( 'songs.py' )
17 song_names = buzzer.dir_songs()
18 print( song_names )
19 
20 index = 0
21 while True:
22     if counter>0: # Button pressed?       
23         # Song name to play
24         song_name = song_names[index]
25         print( 'Ring the bell! %i %s' % (index,song_name) )
26         
27         # Play the song
28         buzzer.play_song( song_name )
29         
30         # Select next song
31         index += 1
32         if index >= len(song_names):
33             index = 0
34         
35         # Reset button detection
36         counter=0
37 
38     time.sleep_ms( 200 )

Une fois le script lancé, presser sur bouton joue l'une des mélodies disponibles.

  • Ligne 01 : xxx


https://docs.micropython.org/en/latest/library/machine.Pin.html https://docs.micropython.org/en/latest/reference/isr_rules.html


Traduction augmentée réalisée par Meurisse. D pour shop.MCHobby.be - Licence CC-BY-SA.


MCHobby investit du temps et de l'argent dans la réalisation de traduction et/ou documentation. C'est un travail long et fastidieux réalisé dans l'esprit Open-Source... donc gratuit et librement accessible.
SI vous aimez nos traductions et documentations ALORS aidez nous à en produire plus en achetant vos produits chez MCHobby.