from machine import Pin, PWM
from utime import sleep, sleep_ms
from neopixel import NeoPixel
import math
import time
np=NeoPixel(Pin(22),16)
#for i in range(64):
# np[i]=255,0,0
#np.write()
melody = [294,294,587,440,415,392,349,294,349,392,261,261,261,261,587,440,415,392,349,294,349,392,247,247,587,
440,415,392,349,294,349,392,233,233,233,233,584,440,415,392,349,294,349,392,294,294,587,440,415,392,349,294,349,392,261,261,261,261,587,440,415,392,349,294,349,392,247,247,587,
440,415,392,349,294,349,392,233,233,233,233,584,440,415,392,349,294,349,392
]
noteDurations = [
125,125,250,375,250,250,250,125,125,125,62,62,62,62,250,375,250,250,250,125,125,125,125,
125,250,375,250,250,250,125,125,125,62,62,62,62,250,375,250,250,250,125,125,125,125,125,250,375,250,250,250,125,125,125,62,62,62,62,250,375,250,250,250,125,125,125,125,
125,250,375,250,250,250,125,125,125,62,62,62,62,250,375,250,250,250,125,125,125
]
music=PWM(Pin(23))
music.duty(512)
for i in range(len(melody)):
noteDuration = noteDurations[i]
music.freq(melody[i]*2)
time.sleep_ms(int(noteDuration))
for i in range(0, 16):
np[i] = (255,0,0)
np.write()
sleep(0.01)
np[i-1] = (0,255,0)
np.write()
sleep(0.01)
np[i-2] = (0,0,255)
np.write()
sleep(0.01)
np[i-3] = (0,0,0)
music.deinit()