ESP8266入门---点亮LED灯

本文介绍了新手如何通过阅读原理图、设置GPIO口和编写代码来控制开发板上的LED灯。包括LED的连接方式、高低电平控制以及添加串口打印功能以监控LED状态。

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

新手必经之路,点亮开发板上的LED灯。

1.看原理图

根据原理图确定开发板上的LED灯连接在哪个GPIO口上,例如我这个就是在GPIO2口上连接。

注:ESP系列原理图可以去安信可

找对应的型号下载观看

根据原理图可知LED连接3.3V电源,因此GPIO口输出为低时LED点亮,输出为高电平时LED等熄灭。

2.编写代码

#define PIN 2  //定义GPIO口,根据原理图修改
void setup() {
  // put your setup code here, to run once:
  pinMode(PIN, OUTPUT); //设置该GPIO口为输出
}

void loop() {
  // put your main code here, to run repeatedly:
  digitalWrite(PIN, HIGH);//输出高电平
  delay(1000);//延时
  digitalWrite(PIN, LOW);//输出低电平
  delay(1000);//延时
}

### ESP32-S3 点亮 LED 示例代码及教程 #### 准备工作 为了使ESP32-S3能够成功点亮LED,需准备如下材料: - ESP32-S3开发板一块。 - 单色LED若干(红、绿、蓝均可),对于WS2812这类可寻址RGB LED,则需要特别注意其连接方式和供电需求[^3]。 #### 连接方法 单色LED通常只需要两个引脚:正极(较长的一端)和负极(较短一端)。将LED的负极接到GND上,而正极则通过限流电阻连接至任意GPIO。对于WS2812这种集成了控制芯片的RGB LED来说,除了电源线(VCC)和地线(GND),还需要额外一条数据输入线(DIN)。具体到ESP32-S3 CAM案例中,DIN被指定为GPIO48接[^1]。 #### 编程环境搭建 建议基于Espressif公司官方提供的ESP-IDF框架进行开发,在此之前要确保已经安装好必要的工具链并配置好了IDE或命令行编译环境。可以参照示例工程模板路径`$HOME/esp/esp-idf/tools/templates/sample_project`快速建立新项目结构[^4]。 #### 示例程序编写 下面给出一段简单的Arduino IDE下的测试代码用来展示如何让ESP32-S3驱动单一颜色LED发光: ```cpp const int ledPin = 2; // 定义使用的GPIO编号,此处假设使用的是GPIO2作为输出管脚 void setup() { pinMode(ledPin, OUTPUT); // 设置GPIO模式为OUTPUT } void loop(){ digitalWrite(ledPin,HIGH); // 给定高电平使得LED导通发亮 delay(1000); // 延迟一秒 digitalWrite(ledPin,LOW); // 关闭LED delay(1000); } ``` 而对于更复杂的WS2812带而言,则需要用到专门的库函数来进行操作。以下是利用FastLED库来设置整个带上所有像素点都呈现相同色彩的例子[^2]: ```cpp #include <FastLED.h> #define DATA_PIN 17 // 定义数据发送针脚号 #define COLOR_ORDER GRB // 颜色顺序定义 #define CHIPSET WS2812 // 芯片类型设定 #define NUM_LEDS 64 // 总共拥有的LED数量 // 初始化全局变量 CRGB leds[NUM_LEDS]; void setup() { FastLED.addLeds<CHIPSET,DATA_PIN,COLOR_ORDER>(leds,NUM_LEDS).setCorrection(TypicalLEDStrip); } void loop() { fill_solid(leds, NUM_LEDS, CRGB::Red ); // 将所有的LED设成红色 FastLED.show(); // 显示当前的颜色状态 delay(500); // 持续半秒钟 fill_solid(leds, NUM_LEDS, CRGB::Green ); FastLED.show(); delay(500); fill_solid(leds, NUM_LEDS, CRGB::Blue ); FastLED.show(); delay(500); } ``` 上述两段代码分别实现了基础版的开关型LED控制以及高级版本的全彩可控光秀功能。前者适合初学者入门练习,后者则是针对有一定经验者探索更多可能性的良好起点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值