#!/usr/bin/env python # encoding: utf-8 import RPi.GPIO import time # LED正極鏈接的GPIO口 LED = 17 # 聲音感應器OUT口鏈接的GPIO口 SENSOR = 4 # 當前LED燈的開關狀態 flg = False RPi.GPIO.setmode(RPi.GPIO.BCM) # 指定GPIO4(聲音感應器的OUT口鏈接的GPIO口)的模式爲輸入模式 # 默認拉高到高電平,低電平表示OUT口有輸出 RPi.GPIO.setup(SENSOR, RPi.GPIO.IN, pull_up_down=RPi.GPIO.PUD_UP) # 指定GPIO17(LED長針鏈接的GPIO針腳)的模式爲輸出模式 RPi.GPIO.setup(LED, RPi.GPIO.OUT) try: while True: # 檢測聲音感應器是否輸出低電平,如果低電平,表示聲音被檢測到,點亮或關閉LED燈 if (RPi.GPIO.input(SENSOR) == 0): flg = not flg RPi.GPIO.output(LED, flg) # 稍微延時一會,避免剛點亮就熄滅,或者剛熄滅就點亮。 time.sleep(0.5) except KeyboardInterrupt: pass RPi.GPIO.cleanup()