开发板设计了一个共阳极的 RGB 彩灯,彩灯实际上由三盏 LED 灯组成,LED 灯颜色分别为: 红色、绿色和蓝色,这个实验我们学习如何控制亮和灭。我们的彩灯是共阳极的,阴极通过电阻后连接到拨码开关上,经过拨码开 关才连接到 ESP32 上。我们这里的拨码开关的作用是控制 ESP32 的 IO 口和彩灯之间连接和断开。
ESP32 的 ESP-IDF 编程指南可以从官网上查询:
https://docs.espressif.com/projects/esp-idf/zh_CN/latest/index.html
在这个实验里,实际上就是要设置 IO 口为输出功能,然后拉高拉低就可以了,分三步:选择 IO 口、 设置为输出功能和控制高低。
(1) 选择 IO 口
选择 IO 口是通过函数 gpio_pad_select_gpio()来实现的,这个函数只有一个参数,即 IO 口的序号。 比如选择 IO32,可以这样写:
gpio_pad_select_gpio(32);
(2) 设置为输出功能
设置 IO 口方向是通过函数 gpio_set_direction()来实现的,这个函数有二个参数,第一个参数是 IO 口的序号,第二个参数是方向(输出:GPIO_MODE_OUTPUT,输入:GPIO_MODE_INPUT),比如设置 IO32 为输出功能,可以这样写:
gpio_set_direction(32,GPIO_MODE_OUTPUT);
(3) 控制高低
控制 IO 口的电平是通过函数 gpio_set_level 来实现,这个函数有二个参数,第一个参数是 IO 口的 序号,第二个参数是高或者低(也就是 0 和 1),比如设置 IO32 输出高电平,可以这样写:
gpio_set_level(32,1);
(4) 任务睡眠函数
为了实现 LED 闪烁功能,我们在这里引入了任务睡眠函数,定义如下:
void vTaskDelay(portTickType xTicksToDelay);

本文介绍如何使用ESP32开发板控制共阳极RGB彩灯,通过ESP-IDF编程指南,设置IO口为输出功能,控制红、绿、蓝三色LED灯的亮灭,实现彩灯控制。
最低0.47元/天 解锁文章
837

被折叠的 条评论
为什么被折叠?



