add execute
This commit is contained in:
76
moi.py
Normal file
76
moi.py
Normal file
@@ -0,0 +1,76 @@
|
|||||||
|
import time
|
||||||
|
from grove.gpio import GPIO
|
||||||
|
import RPi.GPIO as rGPIO
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
led = GPIO(5, GPIO.OUT)
|
||||||
|
button = GPIO(6, GPIO.IN)
|
||||||
|
|
||||||
|
# create PWM instance
|
||||||
|
pwmPin = 12
|
||||||
|
rGPIO.setmode(rGPIO.BCM)
|
||||||
|
rGPIO.setup(pwmPin, rGPIO.OUT)
|
||||||
|
pwm = rGPIO.PWM(pwmPin, 10)
|
||||||
|
|
||||||
|
|
||||||
|
pwm.start(0)
|
||||||
|
# 1000 Hz sound
|
||||||
|
pwm.ChangeFrequency(1000)
|
||||||
|
pwm.ChangeDutyCycle(100)
|
||||||
|
|
||||||
|
def setFreq(freq_hz: float):
|
||||||
|
"""
|
||||||
|
Replace this with your actual frequency-setting function.
|
||||||
|
freq_hz = 0 should silence the output.
|
||||||
|
"""
|
||||||
|
print(freq_hz)
|
||||||
|
pwm.ChangeFrequency(freq_hz)
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
# --- Timing ---
|
||||||
|
BPM = 100
|
||||||
|
BEAT = 60 / BPM # seconds per quarter note
|
||||||
|
|
||||||
|
|
||||||
|
# --- Note frequencies (Hz) ---
|
||||||
|
# --- Note frequencies (Hz) ---
|
||||||
|
NOTES = {
|
||||||
|
"C4": 261.63,
|
||||||
|
"D4": 293.66,
|
||||||
|
"E4": 329.63,
|
||||||
|
"F4": 349.23,
|
||||||
|
"G4": 392.00,
|
||||||
|
"A4": 440.00,
|
||||||
|
"B4": 493.88,
|
||||||
|
"C5": 523.25,
|
||||||
|
"D5": 587.33,
|
||||||
|
"E5": 659.25,
|
||||||
|
"REST": 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# --- Melody (note, beats) ---
|
||||||
|
# Based on the standard vocal melody of "Erika"
|
||||||
|
MELODY = [
|
||||||
|
("E4", 1), ("G4", 1), ("A4", 2),
|
||||||
|
("A4", 1), ("G4", 1), ("E4", 2),
|
||||||
|
|
||||||
|
("E4", 1), ("G4", 1), ("A4", 2),
|
||||||
|
("A4", 1), ("G4", 1), ("E4", 2),
|
||||||
|
|
||||||
|
("A4", 1), ("C5", 1), ("D5", 2),
|
||||||
|
("D5", 1), ("C5", 1), ("A4", 2),
|
||||||
|
|
||||||
|
("G4", 1), ("A4", 1), ("G4", 1), ("E4", 1),
|
||||||
|
("E4", 2), ("REST", 2),
|
||||||
|
]
|
||||||
|
|
||||||
|
|
||||||
|
# --- Playback ---
|
||||||
|
def play():
|
||||||
|
for note, beats in MELODY:
|
||||||
|
setFreq(NOTES[note])
|
||||||
|
time.sleep(beats * BEAT)
|
||||||
|
play()
|
||||||
Reference in New Issue
Block a user