1261|0

282

帖子

2

TA的资源

一粒金砂(高级)

楼主
 

【智能网络台灯】8. Maix bit驱动RGB [复制链接]

 

过往分享

【2022得捷电子创新设计大赛】最晚开箱帖
【2022得捷电子创新设计大赛】1. ESP32-S2环境搭建及点灯
【智能网络台灯】2. 设置系统时间以及打印
【智能网络台灯】3. ESP32-S2 + lvgl使用
【智能网络台灯】4. ESP32-S2 板载按键使用
【智能网络台灯】5. ESP32-S2 使用sntp进行网络校时
【智能网络台灯】6. ESP32-S2解决RAM空间开销过大的问题

 

前言

很久没更新了,主要是ESP32S2添加阿里云功能弄了很长时间,资源不够用,ESP32S2同时使用lvgl+阿里云服务出现了很多问题,浪费了一些时间。本帖暂不做说明,主要是记录学习maix bit驱动RGB的过程。

环境搭建本帖不做说明,官方教程很详细,见https://wiki.sipeed.com/soft/maixpy/zh/get_started/env_install_driver.html

 

驱动流程

1. 查看原理图

如下,RGB的绿红蓝LED分别连接到了IO12,13,14,并且引脚拉低LED亮,拉高,LED灭。

2. 代码实现

打开MaixPy IDE,菜单栏点击工具->打开终端,在中断中输入我们的代码,进行调试。

代码实现如下,每句话的含义可以参考官网API手册:

from fpioa_manager import fm
from Maix import GPIO
import utime

io_led_green = 12
io_led_red = 13
io_led_blue = 14
fm.register(io_led_green, fm.fpioa.GPIO0)
fm.register(io_led_red, fm.fpioa.GPIO1)
fm.register(io_led_blue, fm.fpioa.GPIO2)

led_g=GPIO(GPIO.GPIO0, GPIO.OUT)
led_r=GPIO(GPIO.GPIO1, GPIO.OUT)
led_b=GPIO(GPIO.GPIO2, GPIO.OUT)

while(True):
    led_r.value(0)
    utime.sleep_ms(500)
    led_r.value(1)
    utime.sleep_ms(500)
    led_g.value(0)
    utime.sleep_ms(500)
    led_g.value(1)
    utime.sleep_ms(500)
    led_b.value(0)
    utime.sleep_ms(500)
    led_b.value(1)
    utime.sleep_ms(500)

上述代码含义简述:将IO12映射到GPIO0,IO13映射到GPIO1,IO14映射到GPIO2,然后都设置为输出模式,在死循环中控制绿红蓝三色LED流水灯周期闪烁。

 

实现效果

如下图:

点击上图查看Gif动图

 

点赞 关注
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表