RGB颜色有多绚丽?编程猫硬件编程来你轻松实现
关键词:编程猫编程,microbit硬件,RGB,创客DIY,工大创客馆
一、问题提出
我们在前面用红绿黄三种颜色做了红绿灯的交通信号灯,这个红绿黄这三种灯是分离元件,如果把这三种颜色混在一起会有什么效果呢?这就会出现绚丽彩色灯。这是因为,根据光学原理,任何发出光的颜色都是由三种基本颜色组成的,那就是红绿蓝,注意不是黄色。不同比例的红绿蓝构建就可以得到不同颜色的光。如下图1所示。
上面所述的也就是RGB光学理论,根据这个理论就做出了一系列色彩夺目的彩灯,在一些街道、娱乐地方,随处可见,尤其是在节假日,更是光彩夺目。其实在DIY手工制作以及一些创客设计中,都有RGB彩灯的制作的内容。这里我们运用编程猫硬件编程,结合RGB模块以及microbit版,很容易做出各种彩灯。
二、电路分析
构建RGB彩灯的电路原理还是很简单的,如下图2所示。电流分别通过RGB三种不同颜色的灯,就会发出相应的光色。如果以不同时间来控制闪烁,就构成了彩灯。这个不同时间就是常说的PWM技术(脉冲宽度调制)。
三、材料准备
首先准备材料,总体说来,构建这个电路所需的材料还是很简单的,主要有microbit、RGB灯模块、以及开关导线等等。由于RGB模块本身都已经设计好的,所以不用外接电阻即可,如图3所示。
四、程序构建分析
程序构建没有采用PWM技术,而是更简单一种方式。RGB三种颜色的灯,在不同电压下发光,这样混合就会得到不同的彩灯。而三种电压数值采用随机数的方式实现,这样得到的彩灯就随机的,更加吸引人。
五、编程猫硬件编程
整个程序编写如下:
1)进入点猫科技官网中的海龟编辑器:
https://turtle.codemao.cn/home ,
见图4, 选择新建MICROBIT V2 。
2) 编程猫编辑主界面,找到如图5所示的模块,并进行将模块整合,完成相应的编程。
相应的PYTHON程序
from microbit import *
import random
from coroutine import add_event
import time
#当开机时
蓝 = random.randint(0, 1023)
绿 = random.randint(0, 1023)
红 = random.randint(0, 1023)
def on_forever():
pin0.write_analog(蓝)
pin1.write_analog(绿)
pin2.write_analog(红)
time.sleep(5)
pin0.write_analog(0)
pin1.write_analog(0)
pin2.write_analog(0)
time.sleep(1)
pin0.write_analog(1023)
pin1.write_analog(1023)
pin2.write_analog(1023)
time.sleep(3)
add_event('forever', on_forever)
六、硬件连接
硬件连接如图6所示。把RGB模块、micro bit相连,红绿蓝三个引脚分别与P2、P1、P0相连,对应的GND相连(其中蓝线用黄线代替)。
五、结果验证
当以上都完成并把所编写的程序通过USB下载到micro bit里之后,我们就可以进行调试,可以看到达到了预期的设计效果,制作成功,如图7所示。
注,恳请大家多多关注工大创客馆,有更多更好的制作,尤其是编程猫硬件编程等着您!
敬告:本内容为制作人独立制作,非经制作人书面授权,请不要转载发布!