任何一块开发板,不管是51,32,还是FPGA,点灯是不能免俗的,小安派当然也不例外!小安派S1到手之后一直想点几个灯玩玩,而小安派上没有引出来IO口,给我们点灯带来了一miumiu的不方便,不过不用害怕,我们可以自己画板子。画了一块板子从摄像头的FPC排线座上引出来些IO口,再接几个灯,好了,这下终于可以了。
板子画的很丑哈哈,十五分钟搞定的,走线也是自动走的,能用就行了
这里我用的是PikaPython。关于PikaPython固件如何生成和烧录,可以参考Verimake的教程BL618 + PikaPython 系列教程一、固件烧录和点亮 LED 灯 - VeriMake
这是画的拓展板LED部分的原理图。LED的连接方式可以选择高点亮或者低点亮。意思是单片机IO口输出高电平时点亮或者输出低电平时点亮,都是可以的。这里我选择了低点亮的方式。LED正极接到2.8V,这是摄像头的供电,限流电阻我选择510Ω,想要亮一点的话可以选择阻值小一点的限流电阻。
- import PikaStdDevice
- import time
- a = PikaStdDevice.GPIO()
- b = PikaStdDevice.GPIO()
- c = PikaStdDevice.GPIO()
- d = PikaStdDevice.GPIO()
- e = PikaStdDevice.GPIO()
- a.setPin('P23')
- b.setPin('P27')
- c.setPin('P26')
- d.setPin('P24')
- e.setPin('P25')
- a.setMode('out')
- b.setMode('out')
- c.setMode('out')
- d.setMode('out')
- e.setMode('out')
- a.enable()
- b.enable()
- c.enable()
- d.enable()
- e.enable()
- leds = [b,c,d,e]
- reverse = [d,c,b,a]
- while True:
- for i in range(0,4):
- leds[i].low()
- time.sleep(0.5)
- leds[i].high()
- for i in range(0,4):
- reverse[i].low()
- time.sleep(0.5)
- reverse[i].high()
复制代码 首先要把PikaStdDevice这个库import进来,因为GPIO是在这个库里面的。我这儿是5个LED灯,分别给这5个LED灯分配管脚,设置模式为输出,然后给他们使能。具体使用的管脚各人的连接不同而有差别,在setPin里改就可以了。在循环里灯先正向亮一路,然后反过来亮一路,循环往复有了流水灯的效果。
最后的效果就是这样啦!
目前PikaPython对BL618芯片的适配很少,本来想玩玩呼吸灯的,发现PWM还没有适配。那下一期就更点亮一位数码管吧!
|
|