• 物联网AI MicroPython传感器学习 之 RGB三色灯


    学物联网,来万物简单IoT物联网!!在这里插入图片描述

    一、产品简介

    RGB三色LED是一种简单的三色集成的LED。红、绿、蓝三种颜色可以使用对应的三个引脚进行独立控制。
    image.png
    引脚定义

    • R:红色灯引脚
    • G:绿色灯引脚
    • B:蓝色灯引脚
    • GND:电源地

    二、软件接口

    RgbLed(pwmRObj, pwmGObj, pwmBObj) - 创建 RGB LED 驱动对象

    • 函数原型:

    rgbLedObj = RgbLed(pwmRObj, pwmGObj, pwmBObj)

    • 参数说明:
    参数类型必选参数?说明
    pwmRObjPWM传入红灯PWM对象
    pwmGObjPWM传入绿灯PWM对象
    pwmBObjPWM传入蓝灯PWM对象
    • 返回值:
      若RgbLed对象创建成功,返回RgbLed对象;若RgbLed对象创建失败,抛出相关Exception
    • 示例代码:
    from machine import PWM, Pin
    import rgbLed
    
    rgbR = PWM(Pin(2))
    rgbG = PWM(Pin(4))
    rgbB = PWM(Pin(16))
    
    ledObj = rgbLed.RgbLed(rgbR, rgbG, rgbB)
    
    print("RgbLed inited!")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 输出:
    RgbLed inited!
    
    • 1

    setColor - 设置 RGB LED 颜色

    • 函数功能:
      设置 RGB LED 颜色
    • 函数原型:

    RgbLed.setColor(color)

    • 参数说明:
      color 为 RGB888 格式的色值,接受两种形式的入参

    其一为长度为3的tuple类型,如

    RgbLed.setColor((255, 255, 255))
    
    • 1

    其中 (255, 255, 255) 表示白色;
    其二为int类型,如

    RgbLed.setColor(0xFFFFFF)
    
    • 1

    其中 0xFFFFFF 表示白色;

    • 返回值:
      成功无返回;失败抛出Exception

    三、接口示例

    • 示例代码
    # Python代码
    import utime
    from machine import PWM, Pin
    import rgbLed
    
    if __name__ == '__main__':
        rgbR = PWM(Pin(2))
        rgbG = PWM(Pin(4))
        rgbB = PWM(Pin(16))
    
        ledObj = rgbLed.RgbLed(rgbR, rgbG, rgbB)
    
        colorHex = 0x000000
    
        while True:
            colorHex = (colorHex + 1) if colorHex <= 0xffffff else 0
            ledObj.setColor(colorHex)
            utime.sleep_ms(1)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    参考文献及购买链接

    [1] RGB三色灯购买链接

  • 相关阅读:
    串口占用检测工具
    【C++11数据结构与算法】C++ 栈
    SpringCloud和Kubernetes的区别
    基于SSH开发在线音乐播放网 课程设计 大作业 毕业设计
    Window下Mysql8.0 怎样恢复被删除的Root
    raspberry 4b开启V4L2 摄像头
    windows socket网络编程--事件选择模型
    均匀B样条曲线的表达式
    关于“& with in |”的警告处理
    半正定Toeplitz矩阵的范德蒙德分解
  • 原文地址:https://blog.csdn.net/weixin_39363464/article/details/133562473