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