本項目介紹了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。
這一部分是建立一個列表,這個列表里儲存了各字符的字模,也就是各字符對應的點陣。
這里將會把輸入的字符串,逐字顯示在屏幕上,如下圖所示:
由于傳感器數據是自動更新的,所以只要讀取傳感器對象的pressure和Temperature成員就可以得到氣壓和溫度。
由于傳感器數據是自動更新的,所以只要讀取傳感器對象的pressure和Temperature成員就可以得到氣壓和溫度。
3. 慣性傳感器實驗
運行03_imu.ipynb,初始化過程和前兩個實驗一致。
這里定義了level_meter函數,這個函數將把慣性傳感器測到的一對正交加速度(在Sense HAT沒有水平運動的時候,從這對正交加速度可以得到重力加速度方向)轉換成LED矩陣中光塊的位置并顯示。
這一段代碼就是不斷循環讀取IMU數據并且顯示在LED矩陣上,可以按下BTN0來退出。
這是水平放置在桌面的狀態,可以看到光塊在正中央。
這是傾斜后的狀態,可以看到光塊隨著板卡的傾斜“滑落”了下來。
總結
通過上述案例演示,我們可以看到PYNQ對樹莓派接口的操作非常簡單,可以在這之上利用樹莓派龐大的外設庫開發出很多有趣的項目。
編輯:hfy
-
傳感器
+關注
關注
2553文章
51395瀏覽量
756607 -
led
+關注
關注
242文章
23356瀏覽量
663208 -
樹莓派
+關注
關注
117文章
1710瀏覽量
105880
發布評論請先 登錄
相關推薦
【PYNQ-Z2申請】基于pynq的語音識別和新聞報道系統
樹莓派入門(五)—— 樹莓派4B之初體驗
![<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>入門(五)—— <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>4B之初體驗](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
樹莓派宣布基于 Debian12“書蟲”的樹莓派操作系統新版本
![<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>宣布基于 Debian12“書蟲”的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>操作</b>系統新版本](https://file1.elecfans.com/web2/M00/A7/DA/wKgaomUnkWeAPFGdAABKscIc7ls300.jpg)
評論