GPIO不止有輸入功能,還有輸出功能,大家應該經??吹?a target="_blank">電子設別上的LED燈吧,這就是典型的IO輸出控制的設備,我們也來試一試。
硬件接線
我們將一個LED燈的正極連接到了2號引腳,這是5V電源,用來給LED供電的,不過LED電阻小,為了不至于燒壞,我們最好還是在電路中串聯一個電阻來限制電流大小。
接下來,當LED的負極接到GND,也就是電源的0V上時,LED兩邊會因為有電勢差而被點亮;當LED的負極也連接到高電平,也就是5V的時候,會因為兩邊沒有電勢差,也就不會被點亮。
這個負極的電平信號我們就用GPIO來輸出,所以我們把LED的負極連接到任意的GPIO引腳上,比如38號,將這個引腳設置為輸出模式,當輸出高電平時,燈就會熄滅,輸出低電平,燈就會被點亮。
把這兩個動作放到一個循環中,就可以實現閃爍的功能啦。
運行示例程序
快來運行例程試一試吧,按照剛才的設置,將實物連接完成,然后連接到X3Pi,運行程序,就可以看到這個LED就會開始閃爍了。
$ sudo python3 simple_input.py
代碼解析
simple_out.py:
#!/usr/bin/env python3
import Hobot.GPIO as GPIO
import time
# 定義使用的GPIO通道為38
output_pin = 38 # BOARD 編碼 38
def main():
# 設置管腳編碼模式為硬件編號 BOARD
GPIO.setmode(GPIO.BOARD)
# 設置為輸出模式,并且初始化為高電平
GPIO.setup(output_pin, GPIO.OUT, initial=GPIO.HIGH)
# 記錄當前管腳狀態
curr_value = GPIO.HIGH
print("Starting demo now! Press CTRL+C to exit")
try:
# 間隔1秒時間,循環控制LED燈亮滅
while True:
time.sleep(1)
GPIO.output(output_pin, curr_value)
curr_value ^= GPIO.HIGH
finally:
GPIO.cleanup()
if __name__=='__main__':
main()
-
電源
+關注
關注
184文章
17718瀏覽量
250185 -
機器人
+關注
關注
211文章
28418瀏覽量
207103 -
輸出控制器
+關注
關注
0文章
7瀏覽量
7059 -
數字輸出
+關注
關注
0文章
24瀏覽量
8925 -
數字輸入
+關注
關注
0文章
20瀏覽量
7837
發布評論請先 登錄
相關推薦
評論