NodeMCU ESP8266 点亮LED灯手把手教程(图文并茂+超级详细)

这篇具有很好参考价值的文章主要介绍了NodeMCU ESP8266 点亮LED灯手把手教程(图文并茂+超级详细)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

NodeMCU ESP8266 点亮LED灯手把手教程(图文并茂+超级详细)


前言

大家如果学过编程,那么Hello World往往是大家写下的第一个程序,在C语言中,看着控制台输出hello world,也就意味着我们敲开了编程的大门。同样的,点亮一个LED灯可以说是嵌入式里的hello world

NodeMCU ESP8266是一款基于ESP8266芯片的开发板。之前我们有做过介绍,这个开发板使用的模组是ESP-12E,模组上板载了一个蓝色的LED,我们可以使用这个LED作为实验的对象,可以点亮LED,或者闪烁。
nodemcu 点亮led,ESP8266学习教程⭐⭐,ESP8266,物联网,单片机,原力计划

硬件原理

什么是LED?

LED,全称为“Light Emitting Diode”(发光二极管),是一种半导体器件,具有电能转换为可见光或红外光的能力。

通常用下面这个电气符号来表示LED,具体如下图所示;
nodemcu 点亮led,ESP8266学习教程⭐⭐,ESP8266,物联网,单片机,原力计划
常见的封装有DIP直插和SMD贴片;

DIP

DIP(Dual In-line Package)封装: 这是一种传统的LED封装类型,通常用于LED指示灯、信号灯、数字显示屏等应用中。DIP封装的LED有两个引脚,通常是直插式的。

nodemcu 点亮led,ESP8266学习教程⭐⭐,ESP8266,物联网,单片机,原力计划
nodemcu 点亮led,ESP8266学习教程⭐⭐,ESP8266,物联网,单片机,原力计划

LED具有极性,只允许电流在一个方向上流动,通常从正极(称为阳极)流向负极(称为阴极)。

SMD

SMD(Surface Mount Device)封装: SMD LED通常采用表面贴装技术,可以直接焊接在印刷电路板(PCB)上,因此在电子产品中广泛使用。

SMD封装有各种尺寸和形状,如SMD 2835、SMD 5050等,具体如下所示;
nodemcu 点亮led,ESP8266学习教程⭐⭐,ESP8266,物联网,单片机,原力计划

nodemcu 点亮led,ESP8266学习教程⭐⭐,ESP8266,物联网,单片机,原力计划

LED工作原理

LED包含一个PN结,因为本质上它还是一个二极管,所以LED具有单向导通的特点,只允许电流在一个方向上流动。
这种单向导通特性是LED的一个重要优点,因为它使得LED在电路中能够用作二极管来控制电流流向,同时也有助于防止电流反向流入LED,保护LED不受损坏。

当正极施加一个较高的电压,而负极施加一个较低的电压时,LED就会导通。

当反向电压施加到LED上时,LED将不会导通。

nodemcu 点亮led,ESP8266学习教程⭐⭐,ESP8266,物联网,单片机,原力计划

注意:

  1. LED的正负极不要连接出错,否则会导致LED无法发光,必须保证正向导通电压大于二极管的导通电压;
  2. 需要增加限流电阻,要保证LED的正向导通电流,否则会导致LED烧毁;

ESP-12E 原理图

通过查询ESP-12E的原理图,我们可以发现,模块上的蓝色LED的负极接到了GPIO2,LED的正极接到电压3.3V上了;

这里我们只要保证LED有足够的正向导通电压,才能点亮LED,具体如下所示;
nodemcu 点亮led,ESP8266学习教程⭐⭐,ESP8266,物联网,单片机,原力计划

示例代码

点亮LED

void setup() {
  // put your setup code here, to run once:
  pinMode(2, OUTPUT);
  digitalWrite(2,LOW);
}

void loop() {
  // put your main code here, to run repeatedly:

}

注意:
pinMode(2, OUTPUT); //这一句是将GPIO2引脚作为输出脚,即可以输出高电平(3.3V),也可以输出低电平(0V);
digitalWrite(2,LOW);这一句是让GPIO2输出低电平;这样LED就可以亮起来;

间隔两秒闪烁

void setup() {
  // put your setup code here, to run once:
  pinMode(2, OUTPUT);
  digitalWrite(2,LOW);
}

void loop() {
  // put your main code here, to run repeatedly:
  delay(2000);
  digitalWrite(2,LOW);
  delay(2000);
  digitalWrite(2,HIGH);
}

自带历程

下面是ESP库里自带的点灯例程,因为做了比较好的封装,这里的LED_BUILTIN是一个宏定义,其实是数字2,具体程序如下;

/*
  ESP8266 Blink by Simon Peter
  Blink the blue LED on the ESP-01 module
  This example code is in the public domain

  The blue LED on the ESP-01 module is connected to GPIO1
  (which is also the TXD pin; so we cannot use Serial.print() at the same time)

  Note that this sketch uses LED_BUILTIN to find the pin with the internal LED
*/

void setup() {
  pinMode(LED_BUILTIN, OUTPUT);  // Initialize the LED_BUILTIN pin as an output
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, LOW);  // Turn the LED on (Note that LOW is the voltage level
  // but actually the LED is on; this is because
  // it is active low on the ESP-01)
  delay(1000);                      // Wait for a second
  digitalWrite(LED_BUILTIN, HIGH);  // Turn the LED off by making the voltage HIGH
  delay(2000);                      // Wait for two seconds (to demonstrate the active low LED)
}

结论

本文简单介绍了用NodeMCU ESP8266进行点灯的教程,在点灯的程序里,可能我们会产生一些疑问;

  • 为什么就是用pinModedigitalWrite这两个函数?
  • 如果要实现其他的功能又该用什么函数?
  • 去哪里找这些函数的接口和使用说明?

这是因为底层做了封装,下面我们会进一步介绍。

由于作者能力有限,文章中难免存在错误和纰漏,请大胆指正,如果对于文章中存在疑惑或者问题,欢迎在评论区进行留言。

如果文章帮到了你,请帮忙点赞,三连支持👍👍👍。文章来源地址https://www.toymoban.com/news/detail-742997.html

到了这里,关于NodeMCU ESP8266 点亮LED灯手把手教程(图文并茂+超级详细)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包