引腳復用配置工具
雖然從硬件上看,擴展出來的引腳只有40個,不過大部分引腳還可以配置成多種功能,這樣延伸出來變化可就多了,那如何配置引腳的不同功能呢?
我們可以使用旭日X3派中提供的srpi-config工具進行配置。
直接在終端中輸入這個指令,就可以看到這樣的窗口,okay配置對應管腳為專用功能,disabled配置對應管腳為GPIO模式,按照自己的需要進行配置即可,配置完成后重啟才會生效。
了解了GPIO的概念,接下來我們就要開始編程啦。
數字輸入編程
首先我們來看下最基本的數字輸入測試,讀取一個按鍵的狀態。
硬件接線
我們將按鍵的一邊連接到旭日X3派的38號引腳上,這是一個GPIO的接口,另一邊連接到39號引腳,也就是GND。
原理很簡單,按鍵沒按下時,導線是斷開的,GPIO是默認的狀態,按鍵按下后,導線就會導通,GPIO的狀態變成了GND。
這樣,我們就可以通過電平的變化,知道按鍵的狀態啦。
運行例程
我們不妨來運行一下,看下實際效果是不是這樣。
$ sudo python3 simple_input.py
我們將一個按鍵開關接到對應的管腳上, 然后連接到旭日X3PI當中,運行剛才的程序。之后我們按下或是松開按鍵時,他都會打印出對應的電平變化。
按下顯示的就是LOW,也就是低電平,松開就是HIGH,也就是高電平。
代碼解析
數字輸入的功能實現啦,我們來看下代碼是如何實現的。
simple_input.py:
#!/usr/bin/env python3
import Hobot.GPIO as GPIO
import time
# 定義使用的GPIO通道為38
input_pin = 38 # BOARD 編碼 38
def main():
prev_value = None
# 設置管腳編碼模式為硬件編號 BOARD
GPIO.setmode(GPIO.BOARD)
# 設置為輸入模式
GPIO.setup(input_pin, GPIO.IN)
print("Starting demo now! Press CTRL+C to exit")
try:
while True:
# 讀取管腳電平
value = GPIO.input(input_pin)
if value != prev_value:
if value == GPIO.HIGH:
value_str = "HIGH"
else:
value_str = "LOW"
print("Value read from pin {} : {}".format(input_pin, value_str))
prev_value = value
time.sleep(1)
finally:
GPIO.cleanup()
if __name__=='__main__':
main()
我們在Python中需要引入X3Pi的GPIO庫,從而使用對應的GPIO功能。主函數里首先需要定義了一個變量來存儲這個管腳的電平信號。
進行初始化,設置管腳的編碼模式為BOARD模式,之后定義輸入用的管腳,這里使用的是BOARD編碼,因為他是第38個管腳,所以為38號。之后的話就會進入到循環當中,這樣的一個函數就可以讀出當前的電平值。
沒有按下按鍵的時候,38管腳和GND是斷開的,他就是高電平,按下按鍵時,就和GND導通了,這個管腳就會編程低電平。
如果電平值和上一次存儲的不一致,后面的判斷就會判斷出是升高還是降低,最后會把結果打印出來。松開按鍵時同理。
-
硬件
+關注
關注
11文章
3391瀏覽量
66469 -
引腳
+關注
關注
16文章
1220瀏覽量
50920 -
數字輸出
+關注
關注
0文章
25瀏覽量
8946 -
數字輸入
+關注
關注
0文章
20瀏覽量
7859
發布評論請先 登錄
相關推薦
地平線RDK系列再升級,NodeHub驚喜發布
![<b class='flag-5'>地平線</b>RDK系列再升級,NodeHub驚喜發布](https://file1.elecfans.com/web2/M00/8D/D0/wKgaomTAeheAXjcZAAWpp0nsPn4917.png)
地平線:集齊“三劍客”,讓人人都能會造機器人
![<b class='flag-5'>地平線</b>:集齊“三劍客”,讓人人都能會造<b class='flag-5'>機器人</b>](https://file1.elecfans.com/web2/M00/8E/76/wKgZomTHZP6AetGUAAIUjCRgziU242.png)
Horizon Hobot Platform,地平線機器人平臺帶來了哪些革新?
【地平線旭日X3派試用體驗】開箱篇硬件介紹
地平線機器人獲新一輪投資_2017年全球AI芯片公司大盤點
地平線機器人獲硅谷投資家yuri投資_地平線獲英特爾領投近億美金A+輪融資
地平線機器人上市了嗎?地平線機器人目前估值多少
地平線推出國內首個AI輪足機器人開發平臺—刑天
![<b class='flag-5'>地平線</b>推出國內首個AI輪足<b class='flag-5'>機器人</b>開發平臺—刑天](https://file.elecfans.com/web1/M00/F1/DE/o4YBAGC24DOAHECBAAAARmu_22A208.png)
評論