ESP8266作为arduino D1 wifi模块应用时引脚序号说明(与UNO对比异同)2.5.0版本开发板库

本文详细介绍了如何在ESP8266(WeMos D1)上正确操作GPIO引脚,包括引脚编号规则、引脚与Arduino IDE的对应关系,以及实际编程示例。对于初学者来说,掌握这些知识是实现物联网项目的基础。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在前期的文章中,提到了用D1模块连接阿里云,然后通过APP控制该模块上的LED等开关。

参考文章:

使用arduino D1 wifi模块(WeMos D1)连接阿里云物联网平台并成功实现APP点亮板载LED(二)---WeMos D1介绍

使用的板子是下图所示

实验的目的是点亮电路板上的小灯。然而很多场合我们还需要对电路板上的GPIO口进行操作。

我们知道在arduino UNO等AVR单片机做核心组成的板子上,直接调用引脚序号就行了。

例如下面语句,设置引脚2为输入性质的引脚。

那么操作的时候,就会对序号2的引脚进行操作。

可是ESP8266这个板子是不能这样用的。

参考YF ROBOT给出的引脚接口,标注D??的,其实是对它自己而言的GPIO号。如果用arduino开发环境开发是不能这样用的。

我们操作2号引脚,并不能对D2进行操作。

所以我们需要掌握ARDUINO的编号规则与ESP8266真实的引脚一一对应关系。

下面了解一下如何对应。

当前arduino编程环境安装的是esp8266开发板库(2.5.0版本)。

这个开发板库是干什么用的?

其实就是将arduino编程环境中,大家都已经习惯的语言,通过开发板库,转化成为对应开发板能执行的最终程序。

例如将引脚设置为输入性质的语句。最后翻译成能够在ESP8266上面执行的程序,也许是很多行代码(这里就不分析,并非本文重点,只是帮助理解)。

好的,我们再看在2.5.0版本的开发板库中,引脚是怎么对应的。

定义引脚对比的文件在下图所示的文件夹中,文件夹在用户目录下,路径为:C:\Users\Administrator\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0\variants\d1

用notepad++软件打开(下载连接:https://download.csdn.net/download/youngwah292/12127037

就可以很方便地看到引脚对应关系。例如D0对应的是ESP8266本来的GPIO3引脚,D2对应的是GPIO16引脚。

为了更加清楚地对比,现在实物图上进行标注,其中有5个引脚是短路的,也就是说D1 WIFI板子上,并没有标注的有那么多

如果将对应关系标注在小板子上,是下图的方式

 

以上了解了引脚对应关系。下面开始具体操作。注意,调用2号引脚,在ESP8266板子上,不能用数字“2”,应该用”D2“来表示。

与引脚定义文件pins_arduino.h对应。否则又乱了。

自己做一个按键程序试试看吧,就是这样的。

代码来自于arduino基础示例程序。

/*
  DigitalReadSerial

  Reads a digital input on pin 2, prints the result to the Serial Monitor

  This example code is in the public domain.

  http://www.arduino.cc/en/Tutorial/DigitalReadSerial
*/

// digital pin 2 has a pushbutton attached to it. Give it a name:
int pushButton = D2;

// the setup routine runs once when you press reset:
void setup() {
  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);
  // make the pushbutton's pin an input:
  pinMode(pushButton, INPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  // read the input pin:
  int buttonState = digitalRead(pushButton);
  // print out the state of the button:
  Serial.println(buttonState);
  delay(1);        // delay in between reads for stability
}

 

 

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

TMS320VC5257H

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

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

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

打赏作者

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

抵扣说明:

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

余额充值