匿名
未登录
登录
丢石头百科
搜索
查看“JetBot系列教程之OLED显示”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
JetBot系列教程之OLED显示
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
<b>I2C 接口</b> Jetson nano 板载有两路I2C接口,JetBot上的OLED就是通过I2C接口来操作的。这里我们可以使用i2ctool工具来查看i2C设备。 这里指令最后的参数为1, 表示查看的是i2c总线1的设备,如果参数为0,则查看的是总线0的设备。 <syntaxhighlight lang="python"> i2cdetect -y -r 1</syntaxhighlight> [[File:162717qsvdzc0jjjb9ds0j.png]] 其中0x3C 就是OLED的i2C设备地址。由于JetBot一开始的项目使用的是SSD1306的0.91inch OLED屏幕,所以提供的OLED函数库是Adafruit_SSD1306. 屏幕的控制程序你可以在jetbot/jetbot/app/stats.py文件中了解。 <b>OLED显示</b> 这里为了不与原OLED的程序冲突,我们连接另一个0.91inch OLED 到Jetson Nano的i2c0接口上做显示测试。 引脚连接关系如下: Vcc (OLED) -> 3V3 (Jetson) GND (OLED) -> GND (Jetson) SDA (OLED) -> I2C0_SDA (Jetson) SDL (OLED) -> I2C0_SDL (Jetson) 如果你不清楚I2C0接口的引脚具体是哪个,请参考 Jetson nano系列教程之GPIO 连接好之后查看i2c总线0所挂载的设备,可以看到有一个0x3C的设备被识别到 [[File:162717xqiqqhhdhbioe3wo.png]] 由于控制芯片和屏幕规格都一样,所以我们同样直接使用Adafruit_SSD1306函数库来操作OLED. 我们试着去写一个程序显示字符串到OLED上面。 [[File:162717zlztc17lzvagbtfc.png]] 代码情况如下: [[File:162718jid8sqe5ks93kp0k.png]] 开头import需要用到的各个函数,分别是time用来控制睡眠时间等, PIL图形库以及Adafruit__SSD1306 这里注意我们接到的是i2c0总线,所以参数i2c_bus设置为0 <syntaxhighlight lang="python"> OLED = Adafruit_SSD1306.SSD1306_128_32(rst = None, i2c_bus = 0, gpio = 1) </syntaxhighlight> 初始化屏幕并清屏 <syntaxhighlight lang="python"> OLED.begin() OLED.clear() OLED.display()</syntaxhighlight> 设置字体为默认字体 <syntaxhighlight lang="python"> font = ImageFont.load_default()</syntaxhighlight> 设置屏幕长宽,并创建画布 <syntaxhighlight lang="python"> width = OLED.width height = OLED.height image = Image.new( "1", (width, height))</syntaxhighlight> 设置刷新区域,并写入字符串,这里调用的是PIL图形库的画图函数 <syntaxhighlight lang="python"> Draw = ImageDraw.Draw(image) Draw.rectangle((0, 0, width, height), outline = 0, fill = 0) Draw.text((0, 0), "OLED testing", font=font, fill=255)</syntaxhighlight> 最后将内存刷新到屏幕上即可: <syntaxhighlight lang="python"> OLED.image(image) OLED.display()</syntaxhighlight> <b>声明:</b> Adafruit_SS1306是Adafruit Electronics 提供的驱动小尺寸OLED屏幕的驱动。有兴趣的可以自行了解一下。 <b>Tab标签:</b> Jetson Nano JetBot OLED显示
返回至
JetBot系列教程之OLED显示
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志