add execute

This commit is contained in:
user@raspberrypi.local
2026-01-15 08:03:26 +00:00
parent 5d70063e8e
commit 3595124ab0
2 changed files with 76 additions and 0 deletions

76
moi.py Normal file
View 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()

0
start.sh Normal file → Executable file
View File