0°

(七)Nodemcu的MicroPython之旅:I2C(IIC)的使用方法

简介

在本章中,我们将学习如何在Nodemcu开发板上使用I2C。

步骤一 材料准备

硬件准备:

  • Nodemcu开发板×1
  • 面包板×1
  • PCF8591 AD / DA转换器模块×1
  • usb数据线×1

软件准备:

步骤二 原理说明

I2C(内部集成电路)总线由飞利浦在80年代早期设计,允许在同一电路板上的组件之间轻松通信。 TWI代表双线接口,对于大多数市场,这条总线与I²C相同。名称TWI由Atmel和其他公司引入,以避免与I²C相关的商标问题发生冲突。 I2C总线由两条线组成,SDA(串行数据线)和SCL(串行时钟线)。 MicroPython支持I2C的所有引脚如下:

(七)Nodemcu的MicroPython之旅:I2C(IIC)的使用方法
(七)Nodemcu的MicroPython之旅:I2C(IIC)的使用方法

为了测试,我使用了带传感器和执行器设备的PCF8591 AD / DA转换器模块。

以下是两种转换器,可以自由选择一种。

(七)Nodemcu的MicroPython之旅:I2C(IIC)的使用方法
(七)Nodemcu的MicroPython之旅:I2C(IIC)的使用方法

在本教程中,我使用PCF8591 AD / DA转换器模块和NodeMCU模块。要访问I2C,我们可以使用I2C库。

步骤三 电路搭建

我们直接将PCF8591 AD / DA转换器模块连接到NodeMCU板。以下是连接方法:

  • PCF8591 AD / DA转换器模块SDA(A4) – > NodeMCU SDA(D1)
  • PCF8591 AD / DA转换器模块(A5) – > NodeMCU CLK(D2)
  • PCF8591 AD / DA转换器模块VCC – > NodeMCU VCC
  • PCF8591 AD / DA转换器模块GND – > NodeMCU GND

硬件搭建如下图所示:

(七)Nodemcu的MicroPython之旅:I2C(IIC)的使用方法

步骤四 编写程序

现在可以开始为NodeMCU编写MicroPython程序。创建一个名为i2cdemo.py的文件并编写这些程序:

from machine import Pin, I2C
import time

def run():
  print('read sensor from i2c protocol')
  PCF8591 = 0x48 # I2C bus address
  PCF8591_ADC_CH0 = '\x00' # thermistor
  PCF8591_ADC_CH1 = '\x01' # photo-voltaic cell
  PCF8591_ADC_CH3 = '\x03' # potentiometer

  # construct an I2C bus
  gpio_scl = Pin(5)
  gpio_sda = Pin(4)
  i2c = I2C(scl=gpio_scl, sda=gpio_sda, freq=100000)

余下程序,粘贴到上面的程序下面即可:

当前内容已被隐藏,您需要登录才能查看

步骤五 验证结果

现在可以将MicroPython程序上传并运行到NodeMCU板。并且可以在WebREPL中运行此命令执行:

>>> import i2csensor
>>> i2csensor.run()

如果成功,应该可以在WebREPL上看到程序输出。以下是示例输出:

(七)Nodemcu的MicroPython之旅:I2C(IIC)的使用方法
「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
0 条回复 A 作者 M 管理员
    所有的伟大,都源于一个勇敢的开始!
欢迎您,新朋友,感谢参与互动!欢迎您 {{author}},您在本站有{{commentsCount}}条评论