目录
简介
这一节和下一节将会介绍如何使用基于MicroPython板的ESP8266模拟I / O.
我们将学习如何使用PWM。在ESP8266板上,我们可以使用PWM引脚:0,2,4,5,12,13,14和15全部支持PWM。
步骤一 材料准备
硬件准备:
- Nodemcu开发板×1
- 面包板×1
- RGB灯×1
- usb数据线×1
软件准备:
- WebREPL(第一节有下载链接)
步骤二 原理说明
在这种情况下,我们使用MicroPython模拟输出(PWM)编写MicroPython程序来控制RGB LED颜色。 RGB LED有4个引脚,您可以在下图中看到它:
要了解这些引脚,可以看到下图:
注意:
引脚1:红色
引脚2:公共引脚(共阴或共阳)
引脚3:绿色
引脚4:蓝色
现在我们可以开始编写MicroPython应用程序和搭建硬件了。
步骤三 电路搭建
以上是使用模块,单个RGB灯连接方式如下:
- RGB LED引脚1(红色)连接到NodeMCU GPIO5(D1)
- RGB LED引脚2连接到NodeMCU 3V3(VCC + 3.3V)
- RGB LED引脚3(绿色)连接到NodeMCU GPIO4(D2)
- RGB LED引脚4(蓝色)连接到NodeMCU GPIO0(D3)
步骤四 编写程序
要显示某种颜色,我们必须组合红色,绿色,蓝色的颜色。 NodeMCU为PWM提供API,可以使用PWM库将值设置为0到1023。
接下来我们开始建立一个程序。
首先,创建一个名为pwmdemo.py的文件。然后,编写这些程序:
from machine import Pin, PWM import time gpio_red = 5 gpio_green = 4 gpio_blue = 0 def set_rgb(red, green, blue): pwm_red = PWM(Pin(gpio_red), freq=1000, duty=red) pwm_green = PWM(Pin(gpio_green), freq=1000, duty=green) pwm_blue = PWM(Pin(gpio_blue), freq=1000, duty=blue) time.sleep(2) pwm_red.deinit() pwm_green.deinit() pwm_blue.deinit()
余下程序:
该程序将生成六种颜色:红色,绿色,蓝色,黄色,紫色和浅绿色。保存此文件。
步骤五 验证结果
上传并运行程序。然后,按如下方式运行程序:
>>> import pwmdemo
>>> pwmdemo.run()
你应该在RGB LED上看到几种颜色。以下是RGB LED的示例演示。
如果您通过串行应用程序或WebREPL连接到NodeMCU板,应该可以获得程序输出,如下图所示: