昨天搞了控制LED,玩了第一個,剩下的就感覺很簡單了,這里記錄一下
先來幾張照片
玩了蜂蜜模塊才發現規律,一般這種模塊,都會有三個針腳,VCC(3.3V或5V供電輸出針腳)、GNC(對應GPIO針腳的GNC)、OUT/(I/O)(對應GPIO編號的針腳),如果是需要向樹莓派發送信息的,這個模塊上標識的是OUT,例如這里用的聲音傳感器和人體紅外傳感器,這兩個都是需要向樹莓派發送偵測的信息,如果不需要向樹莓派發送消息的,則標識的是I/O,比如我這個蜂鳴模塊,這只是我用這三個傳感器發現的,可能不正確
上一張從網上找的GPIO針腳的圖示:
塗上面包板最左邊有一模塊,是樹莓派獨立供電模塊,搞清楚怎么接的時候才發現供電口有問題,USB是供電口,媽蛋,一般充電器都是從USB口輸出到Micro口,我是用移動電源供電的,從移動電源的USB出來后就是Micro口,根本接不上,需要個公對公的USB線,沒辦法只能單獨去買個數據線,這個模塊連接的方式跟其他模塊差不多,接上供電的USB口,上面的針腳有3.3V、5V、GND,這就很明白了,上面說了,一般模塊都需要VCC和GND,GPIO上面這兩個數量有限,可以接到這個獨立供電模塊,OUT針腳正常接到樹莓派的GPIO針腳上,又防止直接燒壞樹莓派,又增加接口,好用!
1 #coding=utf8 2 import RPi.GPIO as GPIO 3 import time 4 5 GPIO.setmode(GPIO.BCM) 6 GPIO.setwarnings(False) 7 GPIO.setup(18, GPIO.OUT) #LED 8 GPIO.setup(17,GPIO.OUT) #蜂鳴模塊 9 #GPIO.setup(5, GPIO.IN,pull_up_down=GPIO.PUD_UP) #聲音傳感器 10 GPIO.setup(23,GPIO.IN) #紅外傳感器 11 12 try 13 while True: 14 #if GPIO.input(5) == 0: #聲音 15 if GPIO.input(23) == True: 16 print('comming....') 17 GPIO.output(18, True) 18 GPIO.output(17,GPIO.HIGH) 19 time.sleep(1) 20 GPIO.output(18, False) 21 GPIO.output(17,GPIO.LOW) 22 time.sleep(1) 23 except KeyboardInterrupt: #如果Ctrl+C中斷腳本,則清除GPIO輸出 24 GPIO.cleanup()
這里LED使用的是編號18的針腳、蜂鳴17、聲音5、紅外23,是要做的功能是偵測到了有人就亮LED燈和蜂鳴,用不到聲控,所以我就給注釋了,如果要聲控,把紅外的代碼注釋、打開聲音那兩行代碼就可以了