在這里我一直遇到一個錯誤點,在下面的代碼中來介紹
這里我買的蜂鳴器的介紹,其中VCC要接在電源端口,GND接GND,IO就是GPIO
這里是運行的python代碼
import RPi.GPIO as GPIO
import time
address_gpio = 7 #這里代表的是GPIO引針的地址
GPIO.setmode(GPIO.BOARD) #之前是在這里出錯,這里是一個重點,下面貼一張圖
#根據我的理解setmod()的意思應該是GPIO引針的編碼模式,GPIO.setmode(GPIO.BOARD)這里的GPIO.BOARD代表的是上圖中BOARD編碼,如果蜂鳴器不響的話且代碼沒有問題的話應該就是引針地址的錯誤,本程序中引用的7地址也就是BOARD編碼中的數字7所在的地方
GPIO.setup(address_gpio, GPIO.OUT) #這里是設置為輸出
def start(seconds):
GPIO.output(address_gpio, GPIO.HIGH) #這里我理解為是高電平的意思,輸入到7,高電平,HIGH代表高的意思
time.sleep(seconds)
GPIO.output(address_gpio, GPIO.LOW) #這里我理解為是低電平的意思,輸入到7,高電平,LOW代表低的意思
if __name__=="__main__":
try:
fro i in range(0,100): #循環執行程序
start(100)
except KeyboardInterrupt: #如果有錯誤的話執行cleanup(),這里我理解的是清除的意思
print "error"
GPIO.cleanup()
#如果第二次運行返回錯誤的話,這個錯誤並不影響運行,原因在於程序結束傳感器沒有初始化,變為低電平,只要在代碼最后添加變為低電平就可以了
#應為本人並沒有系統的學習,只是看了下其他人的代碼,直接實驗測試得出的這些結論,在這里和大家分享一下