基础实验——I2C实验

我们在基础实验主要了解一些开源硬件的主要相关功能,这些基础实验了解即可,我们后面的实验会详细说明。

I2C是什么

I2C是two-wire serial protocol(双线串行通信协议,有 的地方也叫做Inter-integrated
circuit)的简称,它是嵌入式系统中最常用的接口之一。I2C只需要使用SDA和SCL两个信号线,就可以和其他带 有I2C接口的芯片连接,一个I2C总线上可以挂载多个芯片,因此可以减 少连线的数量。I2C接口的主要特点是信号线采用开漏连接方式以及支 持总线连接(UART 一般情况只能一对一连接),并且支持多个主机以及冲突管理机制。因为I2C和SPI都有独立的时钟信号,所以也叫做同步串行总线,数据传输速率也比UART快。

驱动OLED

OLED是很常用的电子元件,它体积小、接口简单、功耗低、显示 效果好,因此在DIY、创客制作、电子竞赛中得到广泛应用。现在常用的OLED模块有SPI和I2C两种接口,它们的功能相同,只是接口方式有些不一样。SPI有6线和7线两种,而I2C接口只使用了4根线,使用上更加方便。下面以I2C接口的OLED和ZTMR开发板为例进行介绍,SPI接口的使用方法相同,只是在程序中定义接口时改为SPI方式。我们后面也会使用SPI接口的屏幕。

所选设备及参数

在这里插入图片描述
在这里插入图片描述

使用方法

在了解完 I2C 和 OLED 显示屏后,我们先看看怎么接屏幕。MR开发板定义好了LCD屏的位置,OLED也可以接到哪里哦。下面看图

在这里插入图片描述
请对照引脚插入板子,GND对着图中的GND,插错可是会烧板子哦~。

Created with Raphaël 2.2.0 导入I2C,Pin和SSD1306_I2C模块 初始化I2C模块 定义好文字,设置显示坐标 显示 yes

示例代码

from machine import I2C,Pin           
from ssd1306 import SSD1306_I2C                                #导入SSD1306_I2C模块

i2c=machine.I2C(sda=machine.Pin("A7"),scl=machine.Pin("A5"))   #定义引脚
oled=SSD1306_I2C(128,64,i2c,addr=0x3c)                         #初始化
oled.text("xianyu",40,30)                                        #显示的内容及坐标
oled.show()                                                    #显示

显示效果
在上面程序中,首先我们需要定义一个I2C对象,它将作为OLED函 数的一个参数。然后导入SSD1306_I2C模块(如果是SPI接口,就是导 入SSD1306_SPI模块)。新版固件中有SSD1306模块所以我们不用另外放一个文件了.本节了解即可一些其他应用,我们后面慢慢来

在这里插入图片描述
注意:自己买模块时候注意引脚位置。GND和VCC千万不能连错!!

相关推荐
©️2020 CSDN 皮肤主题: 鲸 设计师:meimeiellie 返回首页