使用ESP32 和 micropython点亮RGB LED.

2019-04-291.3万
AI 快速预览详细 收起
本文介绍了使用ESP32和MicroPython点亮RGB LED的全过程。首先需要安装Python3.7和uPyCraft软件,然后下载并烧录MicroPython固件。接着,通过编写代码控制ws2812灯带的颜色。文章提供了详细的步骤和代码示例,适合零基础的新手学习。
MicroPython 是 Python 3 语言的精简实现 ,包括Python标准库的一小部分,经过优化可在微控制器中运行。本人只是想通过MP更多更快的掌握python语言。编程环境用了uPyCraft。里面集成了一些基础运行库。烧录略显繁琐。下面简单介绍一下。这个软件。
使用ESP32 和 micropython点亮RGB LED.图4
首先下载python3.7: www.python.org/downloads
使用ESP32 和 micropython点亮RGB LED.图5
使用ESP32 和 micropython点亮RGB LED.图6
之后安装uPyCraft
使用ESP32 和 micropython点亮RGB LED.图7
下载ESP32的micropython固件。
http://micropython.org/download#esp32
使用ESP32 和 micropython点亮RGB LED.图8
选串口端口
使用ESP32 和 micropython点亮RGB LED.图9
没安装CP2102驱动的,安装驱动https://www.silabs.com/products/ ... -bridge-vcp-drivers
使用ESP32 和 micropython点亮RGB LED.图10

使用ESP32 和 micropython点亮RGB LED.图2
选板子
使用ESP32 和 micropython点亮RGB LED.图11
烧录
使用ESP32 和 micropython点亮RGB LED.图12
烧录选项要按我选的来选。但串口端口是选你的实际端口
使用ESP32 和 micropython点亮RGB LED.图13
烧录进程

有时候烧录失败,需要在烧录前按着Boot按键,重新烧录一次
烧录成功后的显示
使用ESP32 和 micropython点亮RGB LED.图14
======================
很繁琐是吧。我们的项目是用了ws2812灯带。如图,我们只需要连三个脚。VCC,GND和DATA
使用ESP32 和 micropython点亮RGB LED.图1
使用ESP32 和 micropython点亮RGB LED.图3
在ESP32上DATA连的是IO14.
[mw_shl_code=applescript,true]# gada888

import machine, neopixel
import time

# number of pixels
n = 9
# strip control gpio
p = 14

np = neopixel.NeoPixel(machine.Pin(p), n)

# set single pixel (1st pixel = index [0]) to red color
np[0] = (255, 0, 0)
np.write()
time.sleep(1)

# set strip color
def set_color(r, g, b):
  for i in range(n):
    np = (r, g, b)
    np.write()

set_color(0, 0, 255)
time.sleep(1)

# fade in/out
def fade_in_out(color, wait):
  for i in range(0, 4 * 256, 8):
    for j in range(n):
      if (i // 256) % 2 == 0:
        val = i & 0xff
      else:
        val = 255 - (i & 0xff)
        if color == 'red':
          np[j] = (val, 0, 0)
        elif color == 'green':
          np[j] = (0, val, 0)
        elif color == 'blue':
          np[j] = (0, 0, val)
        elif color == 'purple':
          np[j] = (val, 0, val)
        elif color == 'yellow':
          np[j] = (val, val, 0)
        elif color == 'teal':
          np[j] = (0, val, val)
        elif color == 'white':
          np[j] = (val, val, val)
      np.write()
    time.sleep_ms(wait)

#fade_in_out('red', 0)
fade_in_out('green', 10)
#fade_in_out('blue', 25)
#fade_in_out('purple', 10)
fade_in_out('yellow', 10)
fade_in_out('teal', 10)
#fade_in_out('white', 10)
time.sleep(1)

[/mw_shl_code]



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -