PYNQ对树莓派接口的操作案例分析

本项目介绍了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的数据,sense hat使用的lsm9ds1是一个复合传感器,内置加速度计、磁力计和陀螺仪。
这一段代码就是不断循环读取imu数据并且显示在led矩阵上,可以按下btn0来退出。
这是水平放置在桌面的状态,可以看到光块在正中央。
这是倾斜后的状态,可以看到光块随着板卡的倾斜“滑落”了下来。
总结
通过上述案例演示,我们可以看到pynq对树莓派接口的操作非常简单,可以在这之上利用树莓派庞大的外设库开发出很多有趣的项目。


GLF杰夫微GLFIPOWER在笔记本电脑上的方案与应用
5G将在未来15年为亚洲经济贡献近9,000亿美元
三大运营商已经做好商用5G网络的准备,今年5G手机都不会便宜
华为mate10什么时候上市?正面怼,华为Mate10提前曝光死磕iphone8,全面屏+麒麟970性能爆棚
联发科惊喜 九月营收飙上200亿新台币
PYNQ对树莓派接口的操作案例分析
基于ADC量化对于中性氢观测影响的研究分析
国产电推进系统的发展历程
【解决方案】半导体电子厂房能效管理解决方案
华为智能家居抢滩加速 鸿蒙家电终于“横空出世”
连接视频物联网和机器人,5G如何助力工业机器人?
COMPUTEX2010台北国际电脑展
零基础学FPGA(十七)新人必进,1602动态电子可调时钟设计,练一下代码风格吧
影响超声波乳化设备乳状的因素有哪些?
【工程师开发板使用测评】爱普特 APT32F110 ev board LCD 显示0-9循环计数 实验E
什么是U5256-000002-004BG电容压力传感器
迅为itop-3568开发板qt学习手册上新
微软Xbox Series S正式发布
基于USB技术的CAN总线适配器的设计
如何使用区块链来解决特定需求?