物联网开发笔记(49)- 使用Micropython开发ESP32开发板之控制RGB全彩LED模块
创始人
2024-02-03 19:23:34

一、目的

        这一节我们学习如何使用我们的ESP32开发板来控制RGB全彩LED模块。

二、环境

        ESP32 + RGB全彩LED模块 + Thonny IDE + 几根杜邦线

1,共阴极接线方法

 2,共阳极接线方法

 

三、代码

        1,亮指定的颜色,比如百度蓝。

我们使用取色工具或者截图工具,获得“百度一下”按钮的RGB值:78,110,242。我使用的工具名字是:Snipast ,大家可以百度一下下载,这个截图工具非常好用。

共阴极代码:如果使用Wokwi仿真,需要设置RGB LED的公共极的极性为阴极,默认状态为阳极。

 共阴极代码:

from machine import Pin, PWM
import time# 创建引脚对象
led_r = Pin(4, Pin.OUT)
led_b = Pin(2, Pin.OUT)
led_g = Pin(15, Pin.OUT)# 创建PWM对象
pwm_led_r = PWM(led_r)
pwm_led_r.freq(100)
# 注意公共极为负GND,对应LED引脚输出1即高电平才亮
pwm_led_r.duty(int(78 / 255 * 1023))  # 设置红色R的值pwm_led_g = PWM(led_g)
pwm_led_g.freq(100)
pwm_led_g.duty(int(110 / 255 * 1023))  # 设置绿色G的值pwm_led_b = PWM(led_b)
pwm_led_b.freq(100)
pwm_led_b.duty(int(242 / 255 * 1023))  # 设置蓝色B的值print("请看你想要的颜色。。。")  # 
time.sleep(1)

共阳极代码:如果使用Wokwi仿真,需要设置RGB LED的公共极的默认状态为阳极。

from machine import Pin, PWM
import time# 创建引脚对象
led_r = Pin(4, Pin.OUT)
led_b = Pin(2, Pin.OUT)
led_g = Pin(15, Pin.OUT)# 创建PWM对象
pwm_led_r = PWM(led_r)
pwm_led_r.freq(100)
# 注意公共极为正VCC,对应LED引脚输出0即低电平才亮
# 注意,占空比如果设置为1023可以理解为全部是高电平,0表示全部是低电平,又因为对应LED引脚输出0即低电平才量,所以要用1023减去
pwm_led_r.duty(1023 - int(78 / 255 * 1023))  # 设置红色R的值pwm_led_g = PWM(led_g)
pwm_led_g.freq(100)
pwm_led_g.duty(int(1023 - 110 / 255 * 1023))  # 设置绿色G的值pwm_led_b = PWM(led_b)
pwm_led_b.freq(100)
pwm_led_b.duty(int(1023 - 242 / 255 * 1023))  # 设置蓝色B的值print("请看你想要的颜色。。。")  
time.sleep(1)

我们使用共阳极,来实现呼吸灯的效果:

from machine import Pin, PWM
import time# 创建引脚对象
led_r = Pin(4, Pin.OUT)
led_b = Pin(2, Pin.OUT)
led_g = Pin(15, Pin.OUT)# 创建PWM对象
pwm_led_r = PWM(led_r)
pwm_led_r.freq(100)
# 注意,占空比如果设置为1023可以理解为全部是高电平,0表示全部是低电平,又因为对应LED引脚输出0即低电平才量,所以要用1023减去
pwm_led_r.duty(1023 - int(255 / 255 * 1023))  pwm_led_g = PWM(led_g)
pwm_led_g.freq(100)
pwm_led_g.duty(1023 - int(206 / 255 * 1023))pwm_led_b = PWM(led_b)
pwm_led_b.freq(100)
pwm_led_b.duty(1023 - int(70 / 255 * 1023))print("sleep 1...")     
time.sleep(1)# ------------ 以下是呼吸灯效果代码---------------
pwm_led_r.duty(1023)
pwm_led_g.duty(1023)
pwm_led_b.duty(1023)# 创建列表,存储pwm对象
leds = [pwm_led_r, pwm_led_g, pwm_led_b]while True:for led_pwm_obj in leds:for i in range(1023, -1, -1):led_pwm_obj.duty(i)time.sleep_ms(1)for i in range(1024):led_pwm_obj.duty(i)time.sleep_ms(1)led_pwm_obj.duty(1023)

四、演示效果

        1,百度蓝演示效果

共阴极:

共阳极:

 

         2,呼吸灯的效果

 也可点击如下链接查看呼吸灯效果:Wokwi Arduino and ESP32 Simulatoricon-default.png?t=M85Bhttps://wokwi.com/projects/348834521740739156

五、购买

共阴极彩色RGB模块,某宝链接如下,我给大家找了两个链接:
https://detail.tmall.com/item.htm?spm=a230r.1.14.215.4cb63fb9SXgxMz&id=41727902744&ns=1&abbucket=8

https://detail.tmall.com/item.htm?spm=a230r.1.14.91.4cb63fb9SXgxMz&id=548418198148&ns=1&abbucket=8

共阳极的RGB模块,某宝的链接如下,也是两个链接,大家按需购买即可:

https://item.taobao.com/item.htm?spm=a230r.1.14.21.77d55a8dxNHnGO&id=527867095097&ns=1&abbucket=8#detail

https://item.taobao.com/item.htm?spm=a230r.1.14.16.77d55a8dxNHnGO&id=529198654104&ns=1&abbucket=8#detail

 

 

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
demo什么意思 demo版本... 618快到了,各位的小金库大概也在准备开闸放水了吧。没有小金库的,也该向老婆撒娇卖萌服个软了,一切只...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...