[原创] 【麦昆试用】python编程(4)

dcexpert   2019-5-20 12:54 楼主
麦昆上有4颗WS2812全彩色RGB LED,它使用P15控制。WS2812是一种串行控制的LED,它内部带有控制器,通过1个数据线传递控制命令,可以多个WS2812级联起来,用一个数据线就能控制多个WS2812。 剪贴板01.jpg 在micropython中,控制WS2812需要使用到neopixel库,定义时需要两个参数,一个是控制引脚,另一个是WS2812的数量。 4个LED显示红绿蓝白,并循环旋转
  1. import neopixel
  2. np = neopixel.NeoPixel(pin15, 4)
  3. np[0] = (8, 0, 0)
  4. np[1] = (0, 8, 0)
  5. np[2] = (0, 0, 8)
  6. np[3] = (8, 8, 8)
  7. while 1:
  8. t= np[0]
  9. for i in range(3):
  10. np[i] = np[i+1]
  11. np[3] = t
  12. np.show()
  13. sleep(500)
红绿蓝依次渐亮
  1. import neopixel
  2. np = neopixel.NeoPixel(pin15, 4)
  3. n = 0
  4. while 1:
  5. r = g = b = 0
  6. for i in range(4):
  7. if n<16: r = 1
  8. elif n<32:g = 1
  9. else: b = 1
  10. np[i] = (r*n%16, g*n%16, b*n%16)
  11. np.show()
  12. n = (n + 1)%48
  13. sleep(100)
红绿蓝依次渐亮,然后渐暗,效果比上面更好
  1. import neopixel
  2. np = neopixel.NeoPixel(pin15, 4)
  3. n = 0
  4. while 1:
  5. r = g = b = 0
  6. for i in range(4):
  7. if n<16: r = 1
  8. elif n<32:g = 1
  9. else: b = 1
  10. if (n%16)<9:m=n%16
  11. else: m=16-n%16
  12. np[i] = (r*m%16, g*m%16, b*m%16)
  13. np.show()
  14. n = (n + 1)%48
  15. sleep(100)
此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处 本帖最后由 dcexpert 于 2019-5-20 12:54 编辑

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复