I2C主机通信
ESP32是一系列高度集成的、专为移动设备、可穿戴电子产品设计的物联网模块,其集成了天线开关、RF balun、功率放大器、低接收噪声放大器,滤波器、电源管理模块等,可以独立运行应用,也可以通过SPI/SDIO或I2C/UART接口为其他设备提供WiFi和蓝牙功能。
I2C 是一种串行同步半双工通信协议,总线上可以同时挂载多个主机和从机。I2C 总线由串行数据线 (SDA) 和串行时钟线 (SCL) 线构成。这些线都需要上拉电阻。
I2C 具有简单且制造成本低廉等优点,主要用于低速外围设备的短距离通信(一英尺以内)。
ESP32 有两个 I2C 控制器(也称为端口),负责处理在 I2C 两根总线上的通信。每个控制器都可以设置为主机或从机。例如,可以同时让一个控制器用作主机,另一个用作从机。
本次实例将实现ESP32作为主机与Arduino作为从机通过I2C协议通信。
1、硬件准备
- NodeMCU ESP32-S V3.0开发板一块
- 数据线数一条
- 电位计模块一个
- 杜邦线若干
- Arduino UNO R3开发板一个
硬件接线如下: