樹莓派裡引出了40個pin,其中有8個引腳可以作為gpio口使用。實驗的主要功能就是驗證樹莓派中使用python控制gpio輸入輸出的功能。使用者指南裡用的是麵包板插線的方法來進行實驗的,我手上沒有這些器件,但是有好幾塊微控制器開發板,可以用這些微控制器作為擴充套件板實現上面的實驗。擴充套件板選的是個人比較喜歡的st家的stm32l476vgt6g discovery開發板。
感謝eben大牛做的貢獻,讓我們這些小白能以低廉的**用到效能如此卓越的計算機。eben大牛寫的《raspberry pi使用者指南》入門必備書籍,在這裡分享給大家,還有一些樹莓派書籍買板子送的:
《raspberry使用者指南》中文第3版: 提取碼:2gg2
英文第4版: 提取碼:fa5v
實現流程: stm32板上的按鍵joy_down被按下後翻轉led4的狀態,同時把和led4連線的pb2引腳用杜邦線和樹莓派上的gpio12連線。樹莓派上檢測到gpio12的狀態改變就會列印一段資訊到螢幕上。功能很簡單,但是在第一次實驗時還是遇到一些問題。
樹莓派的引腳圖:
從上圖看到按照引腳標號順序看第12引腳對應gpio18,第32引腳對應gpio12。
先看使用者指南裡給的demo:
import rpi.gpio as gpio
gpio.setmode(gpio.board)
gpio.setup(12, gpio.in)
while true:
input_value = gpio.input(12)
if input_value == false:
print("the button has been pressed.")
while input_value == false:
input_value = gpio.input(12)
其中第2行定義的就是gpio和引腳的對應關係,這裡參考所以board模式使用的是物理引腳的定義,而bcm模式的引腳對應cpu上的gpio。
下面再來看stm32板上的連線,板上的按鍵連線pa5引腳,而led燈和pb2連線,這裡把pb2和樹莓派的第12 引腳相連。還要注意把stm32 板上的gnd和樹莓派的gnd連線,使2者共地,否則會看不到結果。
樹莓派和stm32的連線:
stm32實現的核心**:
void key_scan(void)
}
功能很簡單,就是按鍵按下後翻轉led狀態。
#!/usr/bin/env python
import rpi.gpio as gpio
#忽略警告資訊,沒有這句每次重新執行會提示警告
gpio.setwarnings(false)
gpio.setmode(gpio.board)
gpio.setup(12, gpio.in)
flag = gpio.input(12)
#gpio12狀態改變後列印提示
while true:
input_value = gpio.input(12)
if input_value == (not flag):
print("the button has been pressed.")
flag = not flag
上面執行後,每當stm32上的按鍵按下,樹莓派就會列印「the button has been pressed.」,同時stm32板上的led4翻轉。
實驗用其他微控制器開發板也能實現,只要更改微控制器的引腳就行。
樹莓派3b 安裝
2019獨角獸企業重金招聘python工程師標準 一 貼散熱片 背面一片,正面兩篇。二 系統安裝 1 使用sd formatter格式化sd卡 2 使用win32diskimager寫入映象 3 將樹莓派連上電視 鍵盤 電源啟動 4 設定一些引數,連上網路。三 設定 1 在首選項中rasberry ...
樹莓派3B 安裝
之前買的樹莓派3b的板子,發現密碼忘記了,死活連線不上。通過hdmi外接顯示屏,預期的桌面系統也沒有出現。可能是hdmi的一些配置引數問題吧,懶得糾結了直接重新刷系統,系統也有了一些改動。下面開始重新刷系統之路,補充一下一些填坑之路,供自己回顧。選購及安裝參考 備註一下 散熱器 樹莓派發熱還是有點嚴...
七 樹莓派3B 訪問樹莓派
上週都是把樹莓派帶到公司玩,這個確實不怎麼好。就一直在想怎麼可以訪問放在宿舍的樹莓派。網上有很多方法。我還是選擇了做,這個簡單。csdn的大佬們,求審核通過,第三次了,上線半年給下架了,修改後又拒絕,難受。安裝之前請看文件 花生殼 3.0 for 樹莓派 安裝使用攻略 1.安裝 dpkg i phd...