![]() sr04-oled前言:前一段时间头脑一热买了一堆传感器也捎带买了一个大家都用的OLED(0.96寸,4pin),淘宝截图几张看看参数。 ![]() ![]() 先来连接管脚说明:I2C1_SCL ---- PB8 I2C1_SDA ---- PB9 VCC ---------- 3.3V GND---------- 电源地 第一、oled简介 通常我们所用的OLED屏有白色、蓝色、黄蓝双色等几种;屏的大小为0.96寸,像素点为128*64,所以我们也称之为0.96OLED屏或者12864屏。我在淘宝买的黄蓝双色的。 内部驱动IC为SSD1306;通信方式一般为SPI或者I2C。如下图所示,配置哪种模式主要是根据BS0、BS1和BS2这三个管脚的电平逻辑来的。 ![]() 第二、IIC通信地址与通信过程 关于I2C地址的描述,根据DC引脚电平的不同,地址为,0111100和0111101两种,通常我们设置DC引脚接地,所以作为I2C从机的七位地址为0111100;又因为我们与驱动IC交互时,都是主机发送命令或者数据到IC,也就是只有写数据,没有读数据,所以从机地址为0x78。板子背面有个IIC ADRESS SELECT的电阻,我们设定它为从机则为0x78。 ![]() 先发送从机地址,再发送命令字节,接着发送数据字节。 ![]() 参考赤菟IIC例程I2C_7bit_Mode,编写移植大牛们的代码做成,如图所示例程位置,具体代码请到沁恒官网进行下载查阅。 ![]() 第三、显示原理 手里的OLED显示像素为128*64,也就是水平方向分布了128个像素点,垂直方向分布了64个像素点,而驱动芯片在点亮像素点的时候,是以8个像素点为单位的。官方的例程推荐的是垂直扫描的方式,也就是先画垂直方向的8个像素点,所以我们在画点的时候Y的取值为0-7,X的取值为0-127。(参考网址 https://www.freesion.com/article/4002416013/) 根据显示原理进行取模(用取模软件做),打开取模软件,点击选项进入字模选项,设置好,然后在输入框内输入你要显示的字符,生产就可以了。字体大小需要字节设置。 ![]() 根据取模演示动画就可以了解如何进行显示啦,字体大的需要先显示上半部分,再显示下半部分。自己研究一下即可。 第四、将超声波测距结果显示到OLED上 先看main函数,没啥。把字符库放到头文件,写一下或者拷贝一下网上的代码都可以。新建ssd1306头文件和源码文件,将IIC代码也另起头文件和源文件,边写边调,最后就OK了。
代码我会传上来。 |
702.93 KB, 下载次数: 10, 下载积分: 积分 -1 分
726.53 KB, 下载次数: 79, 下载积分: 积分 -1 分
扫一扫,分享给好友
电子发烧友网
电子发烧友开云(中国)官方