Toggle Navigation
Hatchery
Eggs
sonic
__init__.py
Users
Badges
Login
Register
MCH2022 badge?
go to mch2022.badge.team
__init__.py
raw
Content
import buttons import display import ledfx import leds import math import bhi160 import utime import power import light_sensor import vibra import os frequencies = (131,147,165,175,196,220,247,267,294,330,349,392,440,493) #cdefgabcdefgab # 1/duration, note [0=c, 1=d, 2=e, ..., -1=pause] melody = ((16, 5),(16, 6),(16, 7),(16, 8),(16, 13),(16, -1),(16, 13),(16, 12),(16, 13),(16, -1), (16, 13),(16, 12),(16, 13),(16, -1),(16, 13),(16, 12),(16, 13),(16, 12),(16, 9),(16, 7), (6, 11),(16, 12),(2, 10),(4, -1),(16, 12),(16, -1),(16, 12),(16, 11),(16, 12),(16, -1), (16, 12),(16, 11),(16, 12),(16, -1),(16, 12),(16, 11),(8, 12),(8, 13),(4, 10),(2, 9)) def play_tone(freq,dur): freq=freq//4 wave_length=50000//freq - 50 repeat = freq * 32 // dur for i in range(repeat): vibra.set(True) utime.sleep_us(1) vibra.set(False) utime.sleep_us(wave_length) def play_pause(dur): wave_length=50000 repeat = 32 // dur utime.sleep_us(wave_length * repeat) #-------------------------------------------------------------- main note_count = 0 while True: duration = melody[note_count][0] # duration note = melody[note_count][1] # note frequency = 0 if note>=0: frequency = frequencies[note] print('d:%i n:%i f:%i'%(duration,note,frequency)) play_tone(frequency, duration) else: play_pause(duration) utime.sleep_ms(50) note_count += 1 if note_count==40: utime.sleep(3) note_count=0 #marblezone:d=4,o=5,b=63:16a4,16b4,16c,16d,16b,16p,16b,16a,16b,16p,16b,16a,16b,16p,16b,16a,16b,16a,16e,16c,8g.,16a,2f,p,16a,16p,16a,16g,16a,16p,16a,16g,16a,16p,16a,16g,8a,8b,f,2e