Play AiPi-S1 With PikaPython Ⅰ 流水灯

[复制链接]
查看900 | 回复4 | 2023-8-28 22:01:19 | 显示全部楼层 |阅读模式
任何一块开发板,不管是51,32,还是FPGA,点灯是不能免俗的,小安派当然也不例外!小安派S1到手之后一直想点几个灯玩玩,而小安派上没有引出来IO口,给我们点灯带来了一miumiu的不方便,不过不用害怕,我们可以自己画板子。画了一块板子从摄像头的FPC排线座上引出来些IO口,再接几个灯,好了,这下终于可以了。 1.JPG
板子画的很丑哈哈,十五分钟搞定的,走线也是自动走的,能用就行了
这里我用的是PikaPython。关于PikaPython固件如何生成和烧录,可以参考Verimake的教程BL618 + PikaPython 系列教程一、固件烧录和点亮 LED 灯 - VeriMake
2.png

这是画的拓展板LED部分的原理图。LED的连接方式可以选择高点亮或者低点亮。意思是单片机IO口输出高电平时点亮或者输出低电平时点亮,都是可以的。这里我选择了低点亮的方式。LED正极接到2.8V,这是摄像头的供电,限流电阻我选择510Ω,想要亮一点的话可以选择阻值小一点的限流电阻。
  1. import PikaStdDevice
  2. import time

  3. a = PikaStdDevice.GPIO()
  4. b = PikaStdDevice.GPIO()
  5. c = PikaStdDevice.GPIO()
  6. d = PikaStdDevice.GPIO()
  7. e = PikaStdDevice.GPIO()
  8. a.setPin('P23')
  9. b.setPin('P27')
  10. c.setPin('P26')
  11. d.setPin('P24')
  12. e.setPin('P25')

  13. a.setMode('out')
  14. b.setMode('out')
  15. c.setMode('out')
  16. d.setMode('out')
  17. e.setMode('out')

  18. a.enable()
  19. b.enable()
  20. c.enable()
  21. d.enable()
  22. e.enable()

  23. leds = [b,c,d,e]
  24. reverse = [d,c,b,a]
  25. while True:
  26.     for i in range(0,4):
  27.         leds[i].low()
  28.         time.sleep(0.5)
  29.         leds[i].high()
  30.     for i in range(0,4):
  31.         reverse[i].low()
  32.         time.sleep(0.5)
  33.         reverse[i].high()
复制代码
首先要把PikaStdDevice这个库import进来,因为GPIO是在这个库里面的。我这儿是5个LED灯,分别给这5个LED灯分配管脚,设置模式为输出,然后给他们使能。具体使用的管脚各人的连接不同而有差别,在setPin里改就可以了。在循环里灯先正向亮一路,然后反过来亮一路,循环往复有了流水灯的效果。
ledGIF.GIF
最后的效果就是这样啦!
目前PikaPython对BL618芯片的适配很少,本来想玩玩呼吸灯的,发现PWM还没有适配。那下一期就更点亮一位数码管吧!

本帖被以下淘专辑推荐:

回复

使用道具 举报

爱笑 | 2023-8-29 08:30:10 | 显示全部楼层
不愧是园里的同学,就是聪明可爱!
用心做好保姆工作
回复 支持 反对

使用道具 举报

donly | 2023-8-31 14:48:03 | 显示全部楼层
既可以点灯又可以当扩展板,完美
回复 支持 反对

使用道具 举报

粉肠 | 2023-8-31 16:28:34 | 显示全部楼层
donly 发表于 2023-8-31 14:48
既可以点灯又可以当扩展板,完美

哈哈谢谢Donly哥
回复 支持 反对

使用道具 举报

王乐乐 | 2023-9-11 20:54:29 | 显示全部楼层
打卡
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则