本項目介紹了Sense HAT在PYNQ上的使用。Sense HAT是是為樹莓派設計的集成外設板,包含了慣性傳感器、濕度溫度傳感器、氣壓傳感器和一個8×8LED矩陣。這些外設通過I2C總線利用不同設備地址來訪問。本項目分成三個部分介紹:LED矩陣顯示字符、溫度氣壓傳感器讀取和慣性傳感器數據讀取。
快速開始
在PYNQ的Terminal中運行以下命令安裝:
sudo pip3 install git + https://github.com/xupsh/pynq-sense-hat.git
安裝完成后jupyter_notebooks下將會出現pynq-sense-hat文件夾,里面有三個notebook可以運行。
案例演示
1. LED矩陣顯示實驗
運行01_character.ipynb。

這里將包含各種庫并,下載bit文件,切換到樹莓派模式并配置IIC接口。注意,因為樹莓派接口有8個管腳是和PMODA共用的,所以要使用樹莓派接口,需要在一開始把這八個管腳切換過來(它們默認連接在PMODA,利用select_rpi()方法切換到樹莓派接口,也可以利用select_pmoda()方法切換回PMODA)。Sense HAT使用的是IIC1,也就是GPIO2和GPIO3這兩個引腳。LED矩陣控制器的IIC地址是0x46。

這一部分是建立一個列表,這個列表里儲存了各字符的字模,也就是各字符對應的點陣。

這里將會把輸入的字符串,逐字顯示在屏幕上,如下圖所示:
2. 溫度氣壓傳感器實驗
運行02_sensor.ipynb,前面的包含庫等等和顯示實驗的類似。

由于傳感器數據是自動更新的,所以只要讀取傳感器對象的pressure和Temperature成員就可以得到氣壓和溫度。

由于傳感器數據是自動更新的,所以只要讀取傳感器對象的pressure和Temperature成員就可以得到氣壓和溫度。
3. 慣性傳感器實驗
運行03_imu.ipynb,初始化過程和前兩個實驗一致。

這里定義了level_meter函數,這個函數將把慣性傳感器測到的一對正交加速度(在Sense HAT沒有水平運動的時候,從這對正交加速度可以得到重力加速度方向)轉換成LED矩陣中光塊的位置并顯示。


這一段代碼就是不斷循環讀取IMU數據并且顯示在LED矩陣上,可以按下BTN0來退出。
這是水平放置在桌面的狀態,可以看到光塊在正中央。
這是傾斜后的狀態,可以看到光塊隨著板卡的傾斜“滑落”了下來。
總結
通過上述案例演示,我們可以看到PYNQ對樹莓派接口的操作非常簡單,可以在這之上利用樹莓派龐大的外設庫開發出很多有趣的項目。
編輯:hfy
-
傳感器
+關注
關注
2576文章
55041瀏覽量
791377 -
led
+關注
關注
243文章
24596瀏覽量
690903 -
樹莓派
+關注
關注
122文章
2078瀏覽量
110474
發布評論請先 登錄
【PYNQ-Z2申請】基于pynq的語音識別和新聞報道系統
樹莓派入門(五)—— 樹莓派4B之初體驗
樹莓派宣布基于 Debian12“書蟲”的樹莓派操作系統新版本
PYNQ對樹莓派接口的操作案例分析
評論