-3
84行目の問題は何ですか?このエラーが発生しました:「time.sleep(length)」の何が問題になっていますか?
SyntaxError: time.sleep(length)
私のコードには何が問題なのですか?
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
buzzer_pin = 17
sensor_pin = 18
GPIO.setup(sensor_pin, GPIO.IN)
GPIO.setup(buzzer_pin, GPIO.IN)
GPIO.setup(buzzer_pin, GPIO.OUT)
notes = {
'B0' : 31,
'C1' : 33, 'CS1' : 35,
'D1' : 37, 'DS1' : 39,
'EB1' : 39,
'E1' : 41,
'F1' : 44, 'FS1' : 46,
'G1' : 49, 'GS1' : 52,
'A1' : 55, 'AS1' : 58,
'BB1' : 58,
'B1' : 62,
'C2' : 65, 'CS2' : 69,
'D2' : 73, 'DS2' : 78,
'EB2' : 78,
'E2' : 82,
'F2' : 87, 'FS2' : 93,
'G2' : 98, 'GS2' : 104,
'A2' : 110, 'AS2' : 117,
'BB2' : 123,
'B2' : 123,
'C3' : 131, 'CS3' : 139,
'D3' : 147, 'DS3' : 156,
'EB3' : 156,
'E3' : 165,
'F3' : 175, 'FS3' : 185,
'G3' : 196, 'GS3' : 208,
'A3' : 220, 'AS3' : 233,
'BB3' : 233,
'B3' : 247,
'C4' : 262, 'CS4' : 277,
'D4' : 294, 'DS4' : 311,
'EB4' : 311,
'E4' : 330,
'F4' : 349, 'FS4' : 370,
'G4' : 392, 'GS4' : 415,
'A4' : 440, 'AS4' : 466,
'BB4' : 466,
'B4' : 494,
'C5' : 523, 'CS5' : 554,
'D5' : 587, 'DS5' : 622,
'EB5' : 622,
'E5' : 659,
'F5' : 698, 'FS5' : 740,
'G5' : 784, 'GS5' : 831,
'A5' : 880, 'AS5' : 932,
'BB5' : 932,
'B5' : 988,
'C6' : 1047, 'CS6' : 1109,
'D6' : 1175, 'DS6' : 1245,
'EB6' : 1245,
'E6' : 1319,
'F6' : 1397, 'FS6' : 1480,
'G6' : 1568, 'GS6' : 1661,
'A6' : 1760, 'AS6' : 1865,
'BB6' : 1865,
'B6' : 1976,
'C7' : 2093, 'CS7' : 2217,
'D7' : 2349, 'DS7' : 2489,
'EB7' : 2489,
'E7' : 2637,
'F7' : 2794, 'FS7' : 2960,
'G7' : 3136, 'GS7' : 3322,
'A7' : 3520, 'AS7' : 3729,
'BB7' : 3729,
'B7' : 3951,
'C8' : 4186, 'CS8' : 4435,
'D8' : 4699, 'DS8' : 4978
}
def buzz(frequency, length):
if(frequency==0):
time.sleep(length)
return
period = 1.0/frequency
delayValue = period/2
numCycles = int(length * frequency)
for i in range(numCycles):
GPIO.output(buzzer_pin, True)
time.sleep(delayValue)
GPIO.output(buzzer_pin, False)
time.sleep(delayValue)
def play():
buzz(notes['A3'], 0.5)
buzz(notes['A3'], 0.5)
buzz(notes['A3'], 0.5)
buzz(notes['F3'], 0.35)
buzz(notes['C4'], 0.15)
buzz(notes['A3'], 0.5)
buzz(notes['F3'], 0.35)
buzz(notes['C4'], 0.15)
buzz(notes['A3'], 1.0)
while True:
if GPIO.input(sensor_pin):
print("Ses Alarmi!")
play()
time.sleep(0.5)
後のブロックをインデントする必要がありますか?これは質問をする方法ではありません。あなたの質問をわかりやすく伝えるのは苦労しました。期待される振る舞いやあなたのために働いていないものなど、完全なトレースバックを投稿してください。単に「SyntaxError」と言っても、私たちは何もしません。 –
まず、インデントのエラーがあります。あなたのインデントを修正し、実行するものを投稿してください。 –