ESP8266开发板 使用IIC引脚,使用GY-30光照强度模块

前言

最近在弄NodeMCU Lua V3物联网开发板,稍微对手册图和板子上的引脚编号有点迷。


手册上的图

这上面没有明确的IIC引脚号耶。

于是去看来官方文档的解释:https://tttapa.github.io/ESP8266/Chap04%20-%20Microcontroller.html

其中在I2C部分有这么一段话:

The ESP doesn’t have a hardware TWI (Two Wire Interface), but it is implemented in software. This means that you can use pretty much any two digital pins. By default, the I²C library uses pin 4 as SDA and pin 5 as SCL. (The data sheet specifies GPIO2 as SDA and GPIO14 as SCL.) The maximum speed is approximately 450kHz.

翻译过来就是:

ESP没有硬件TWI(双线接口),但它是用软件实现的。这意味着你可以使用任意两个数字引脚。默认情况下,I²C库使用管脚4作为SDA,管脚5作为SCL。(数据表将GPIO2指定为SDA,GPIO14指定为SCL。)最大速度约为450kHz。

再往下看:

可以看到确实是GPIO4和GPIO5作为IIC接口的。结合上面的那些,他不是nodemcu上标注的D4和D5,而是GOIO04和GPIO05,就是上面丝印的D1和D2。

于是就直接拿GY-30模块来测测咯。


GY-30模块测试

接线部分:

GY-30

ESP8266

VCC

3.3V

GND

GND

SCL

D1

SDA

D2

测试代码:

#include <Wire.h>

#define ADDR 0b0100011    // 0x23

void setup() {
  Serial.begin(9600);   //设置波特率
  
  while (!Serial) {;}
  
  Wire.begin();
  Wire.beginTransmission(ADDR);
  Wire.write(0b00000001);
  Wire.endTransmission();
}
void loop() {
  int val = 0;    //初始化光照值

  Wire.beginTransmission(ADDR);
  Wire.write(0b00000111);
  Wire.endTransmission();
 
  Wire.beginTransmission(ADDR);
  Wire.write(0b00100000);
  Wire.endTransmission();
  delay(120);
  /*计算光照*/
  Wire.requestFrom(ADDR, 2);      //每次2byte
  for (val = 0; Wire.available() >= 1; ) {
    char c = Wire.read();
    val = (val << 8) + (c & 0xFF);
  }
  val = val / 1.2;
  /*输出光照数值*/
  Serial.print("当前光照值: ");
  Serial.println(val);
  delay(500);
}

测试结果:

有正常数据输出。说明引脚是对的咯。


简评

这些文档资料还是有不少纰漏的,特此记录一下。

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ESP8266是一个极具成本效益的Wi-Fi芯片,可以用于许多物联网和嵌入式项目。使用ESP8266开发板需要以下步骤: 1. 准备ESP8266开发板和USB转串口模块,这里以ESP8266 NodeMCU V1.0为例 2. 安装USB转串口模块驱动程序 3. 安装Arduino IDE 4. 安装ESP8266开发板支持库 5. 编写代码并上传到ESP8266开发板 6. 监视串口输出和调试运行结果 下面是详细步骤: 1. 准备ESP8266开发板和USB转串口模块. ESP8266 NodeMCU V1.0板子包含一个ESP8266芯片,USB串口转换器和一些通用输入/输出引脚。将USB转串口模块连接到计算机上,然后将ESP8266开发板通过USB转串口模块连接到计算机上。 2. 安装USB转串口模块驱动程序。如果你已经安装了驱动程序,则可以跳过此步骤。如果没有安装,请根据USB转串口模块的型号和电脑的操作系统下载和安装对应的驱动程序。 3. 安装Arduino IDE。Arduino IDE是一个用于编写和上传代码到Arduino开发板的集成开发环境。请在Arduino官网下载并安装Arduino IDE。 4. 安装ESP8266开发板支持库。打开Arduino IDE,选择“文件” -> “首选项”,在“附加开发板管理器网址”文本框中输入"http://arduino.esp8266.com/stable/package_esp8266com_index.json",然后点击“OK”。现在,你需要打开“工具” -> “开发板” -> “开发板管理器”,搜索“ESP8266”,然后安装最新版本的ESP8266开发板支持库。 5. 编写代码并上传到ESP8266开发板。现在你可以打开一个新的Arduino IDE窗口,编写你的代码,并将其上传到ESP8266开发板。例如,以下代码可以在ESP8266上点亮一个LED灯。 ```c void setup() { pinMode(LED_BUILTIN, OUTPUT); } void loop() { digitalWrite(LED_BUILTIN, HIGH); delay(1000); digitalWrite(LED_BUILTIN, LOW); delay(1000); } ``` 完成代码编写后,选择正确的开发板类型和串口端口,然后点击“上传”按钮。 6. 监视串口输出和调试运行结果。上传完成后,打开“工具” -> “串口监视器”,选择正确的波特率和串口端口。你应该能够看到ESP8266在串口上输出的信息,包括LED灯的状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

星羽空间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值