Přeskočit obsah

Buzzer

Rychlé použití

from dtbox.buzzer.shortcuts import buzzer
from dtbox.melody import *

# zahraj jednu z připravených melodií
buzzer.play_melody(indiana)
buzzer.play_melody(starw)
buzzer.play_melody(mario)

Jednoduché cvičení s pípátkem je morseovka (TODO link).

Třída

Konstruktor

Buzzer(pin=PIN_BUZZER)
  • pin - číslo pinu, na který je buzzer připojen (výchozí je PIN_BUZZER z dtbox.pinout)

Ukázka

from dtbox.buzzer import Buzzer
from dtbox.pinout import PIN_BUZZER

buzzer = Buzzer(PIN_BUZZER)

Metody

play_tone

def play_tone(freq, length=2, volume=50)

Metoda přehraje tón

  • freq - frekvence přehraného zvuku
  • length - délka tónu length=2 → ½, length=4 → ¼
  • volume - hlasitost

Pro frekvence jednotlivých tónů můžeme s výhodou použít obsah podpůrné knihovny notes.

Ukázka

buzzer.play_tone(freq=500, length=4, volume=10)

from dtbox import notes
buzzer.play_tone(notes.C2)

beep

def beep(freq=1000, length=100)

Metoda přehraje tón

  • freq - frekvence přehraného tónu
  • lenght - délka tónu length=2 --> 1/2, length=4 --> 1/4

Ukázka

buzzer.beep(freq=500, length=100)

play_melody

def play_melody(melody, speed=60, autoPause=0, volume=50)

Metoda přehraje melodii

  • melody - melodie (seznam tónů a jejich délek)
  • speed - rychlost (BPM)
  • autoPause - automatická pauza mezi notami
  • volume - hlasitost

Pro melodie můžeme s výhodou použít obsah podpůrné knihovny melody.

Každá melodie je seznam dvojic tón, délka. Kdy délka je int imitující hudební zvyklosti 4 = ¼ taktu, 8 = ⅛ taktu.

Ukázka

from dtbox.melody import indiana

buzzer.play_melody(melody=indiana, speed=60, autoPause=0, volume=10)

from dtbox.notes import *
# zacatek Ovcaci, ctveraci - C dur
buzzer.play_melody([(C2, 8), (0, 8), (E2, 8), (0, 8), (G2, 8), (0, 8), (0, 4)])

play_tones

def play_tones(melody, autoPause=False, volume=50)

Metoda přehraje sekvenci tónů. Tóny mají stejnou délku a metoda mezi ně přidá pomlky.

  • melody - melodie (list of notes)
  • autoPause - automatická pauza mezi notami
  • volume - hlasitost

Ukázka

from dtbox import notes

# zacatek Ovcaci, ctveraci - C dur
buzzer.play_tones([notes.C2, notes.E2, notes.G2])