8. I2C接口 OLED屏幕¶
野火IIC OLED模块,屏幕分辨率为128*64像素,黄蓝双色显示,驱动芯片为SSD1306,使用IIC接口,用于显示字符、图片等信息。
野火扩展板板载一个IIC OLED屏幕接口:
OLED屏幕接自扩展板上的I2C1:
以鲁班猫1为例,扩展板上的I2C1对应鲁班猫1的I2C3:
执行如下命令修改/boot/uEnv/uEnv.txt,开启I2C3_M0插件:
1 | sudo vi /boot/uEnv/uEnv.txt
|
修改后重启板卡。
8.1. 显示基础图案文字¶
本次代码例程将演示在OLED屏幕上显示基础图案和文字。
python代码测试
python测试代码为:lubancat_rk_code_storage/expansion_board/i2c/oled/oled_basic/python/main.py
关于程序中的OLED I2C接口定义,需要自行根据具体板卡来修改:
1 2 3 4 5 6 7 8 9 | '''
filename : main.py
'''
...
i2c = busio.I2C(board.I2C3_SCL, board.I2C3_SDA)
...
|
main.py所在的整个文件夹传到板卡,执行如下命令运行程序:
1 2 | # 运行程序
sudo python main.py
|
c代码测试
c测试代码为:lubancat_rk_code_storage/expansion_board/i2c/oled/oled_basic/c/main.c
关于程序中的OLED I2C接口定义,需要自行根据具体板卡来修改:
1 2 3 4 5 6 7 | /* filename : main.c */
...
ret = oled_init(3);
...
|
将main.c所在的整个文件夹传到板卡,执行如下命令运行程序:
1 2 3 4 5 | # 编译程序
sudo make
# 运行程序
sudo ./main
|
8.2. 显示DHT11数据¶
本次代码例程将演示在OLED屏幕上显示DHT11温湿度。
python代码测试
python测试代码为:lubancat_rk_code_storage/expansion_board/i2c/oled/oled_dht11/python/oled_dht11.py
关于程序中的OLED I2C接口定义,需要自行根据具体板卡来修改:
1 2 3 4 5 6 7 8 9 | '''
filename : oled_dht11.py
'''
...
i2c = busio.I2C(board.I2C3_SCL, board.I2C3_SDA)
...
|
将oled_dht11.py所在的整个文件夹传到板卡,执行如下命令运行程序:
1 2 | # 运行程序
sudo python oled_dht11.py
|
c代码测试
c测试代码为:lubancat_rk_code_storage/expansion_board/i2c/oled/oled_dht11/c/oled_dht11.c
关于程序中的OLED I2C接口定义,需要自行根据具体板卡来修改:
1 2 3 4 5 6 7 | /* filename : oled_dht11.c */
...
ret = oled_init(3);
...
|
将oled_dht11.c所在的整个文件夹传到板卡,执行如下命令运行程序:
1 2 3 4 5 | # 编译程序
sudo make
# 运行程序
sudo ./oled_dht11
|