Source code for starwars

from micropython import const
from utime import sleep_ms

from buzzer import buzzer


C4  = const(261)
D4  = const(294)
E4  = const(329)
F4  = const(349)
G4  = const(391)
G4S = const(415)
A4  = const(440)
A4S = const(455)
B4  = const(466)
C5  = const(523)
C5S = const(554)
D5  = const(587)
D5S = const(622)
E5  = const(659)
F5  = const(698)
F5S = const(740)
G5  = const(784)
G5S = const(830)
A5  = const(880)


[docs]class StarWars(): """Plays StarWars!!!""" def __init__(self, buzzer): self._buzzer = buzzer def _buzz(self, f, t): """Wraps buzzer's buzz with a slight pause """ self._buzzer.buzz(f, t) sleep_ms(50)
[docs] def play(self): """Play the song """ #Play first section self._firstSection() #Play second section self._secondSection() #Variant 1 self._buzz(F4, 250) self._buzz(G4S, 500) self._buzz(F4, 350) self._buzz(A4, 125) self._buzz(C5, 500) self._buzz(A4, 375) self._buzz(C5, 125) self._buzz(E5, 650) sleep_ms(500) #Repeat second section self._secondSection() #Variant 2 self._buzz(F4, 250) self._buzz(G4S, 500) self._buzz(F4, 375) self._buzz(C5, 125) self._buzz(A4, 500) self._buzz(F4, 375) self._buzz(C5, 125) self._buzz(A4, 650) sleep_ms(650)
def _firstSection(self): self._buzz(A4, 500) self._buzz(A4, 500) self._buzz(A4, 500) self._buzz(F4, 350) self._buzz(C5, 150) self._buzz(A4, 500) self._buzz(F4, 350) self._buzz(C5, 150) self._buzz(A4, 650) sleep_ms(500) self._buzz(E5, 500) self._buzz(E5, 500) self._buzz(E5, 500) self._buzz(F5, 350) self._buzz(C5, 150) self._buzz(G4S, 500) self._buzz(F4, 350) self._buzz(C5, 150) self._buzz(A4, 650) sleep_ms(500) def _secondSection(self): self._buzz(A5, 500) self._buzz(A4, 300) self._buzz(A4, 150) self._buzz(A5, 500) self._buzz(G5S, 325) self._buzz(G5, 175) self._buzz(F5S, 125) self._buzz(F5, 125) self._buzz(F5S, 250) sleep_ms(325) self._buzz(A4S, 250) self._buzz(D5S, 500) self._buzz(D5, 325) self._buzz(C5S, 175) self._buzz(C5, 125) self._buzz(B4, 125) self._buzz(C5, 250) sleep_ms(350)
starwars = StarWars(buzzer)