LED灯带如何测量珠子的好坏(如何测量珠子的好坏)
文/山东省招远第一中学牟晓东
现有的颜色传感器内置红色、绿色、蓝色3色传感器元件,通过滤色器的作用从可见光的区域取得颜色数据,输出RGB数值。颜色传感器将访问树莓派设为“颜色识别”,在古德微机器人网站上进行“积木”图形编程后,可以容易地开发看卡识别颜色的“变色龙”灯带和视觉障碍者的“信号声音警报”等相对有趣实用的创意模块。
一、看能知道卡片颜色的“变色龙”灯带
1.功能实现
颜色传感器取得不同卡(或其他物体)的颜色信息,分解对应的RGB的值,灯带作为60个珠的发光三基色,相当于“复制”卡的颜色“粘贴”到各珠,实现“变色龙”灯带的显示效果。
2.实验器材及连接
实验器材包括树莓派3B+和古德微的扩展板各1张,GY-33TCS34725颜色传感器(乐队遮光筒)1张,可编程ws281x灯带1张,雄对母异色杜邦线4张,各种色卡几个。
首先,注意将灯带插入扩展板的18号针脚,3条线的显示对应于扩展板。接着,将4个杜邦线的一端连接到颜色传感器VCC、GND、SCL、(SDA端),将另一端连接到扩展板IIC接口VCC、GND、CLK、(DATA端)。最后,树莓派打开电源,启动图1所示的操作系统。
3.进行图形设计
访问古德微机器人网站(http://www.gdwrobot.cn),登录自己的账号后点击“设备控制”进入“积木”界面,开始图形化程序设计。
首先,通过模块语句“设定GPIO‘18’可控制灯带‘60’个灯,将亮度设定为‘50’”来初始化灯带。接着,通过模块语句“输出用于获取颜色检测传感器的数据的调试信息”,颜色传感器将取得的RGB数据排列在LOG调试信息区域并输出的“172144240”,接着,建立“红色成分”、“绿色成分”、“蓝色成分”3个变量,分别RGB数据列表的“第1”、“第2”、分别取得“最后”的序列值、即对应的颜色分量的数值。另外,建立一个内部循环结构,将60个珠子的发光颜色设定为对应的3个变量值。最后,追加“灯带刷新显示”模块句,控制按照设定的色效果发光,进而追加“0.2秒待机”,在程序的执行中消耗很多系统资源,防止“挂起”(图2)。
4.考试“变色龙”灯带
保存程序,单击“设备连接”,单击“运行”按钮进行测试。此时,在调试信息区域中,颜色传感器实时取得的各组RGB的色数据不断地被显示。将红色、绿色、蓝色、黄色卡片分别放置在颜色传感器的遮光筒附近,灯带马上变色,发出对应颜色的光(图3),获得“变色龙”灯带的显示效果。
二、视觉障碍者的“信号音声注意器”
1.功能实现
颜色传感器“担当”实时检测交叉点的信号转换状况,基于不同颜色的信号信息,树莓派从扬声器“信号,行尝试33;”等对应的语音注意信息的控制
2.实验器材及连接
实验器材中,树莓派3B+和古德微各1张扩展板,颜色传感器1张,杜邦线4个,红、黄、绿LED灯各1个,各包含1个扬声器。
颜色传感器保持与情况1相同的连接方式,之后,将红色、黄色、绿色的LED灯分别连接到扩展板的5号、6号、12号针(长腿为正极,短腿为负极),模拟交叉点的信号。接着,在树莓派的圆形音频输出孔中插入扬声器的连接线,通电,启动操作系统(图4)。
3.进行图形设计
首先,建立“信号”函数,作为模拟十字路口的“信号”的功能。信号(12号)亮10秒,闪烁3次,熄灯。黄灯(6号)点亮3秒,熄灯。红灯(5号)亮10秒,熄灯(图5)。
接着,建立对应的子线程(注意名称与函数完全一致),调用函数。接着,建立重复执行“真”时的循环结构,将颜色传感器取得的色数据实时显示输出到LOG调试信息区域。建立2个变量“红色成分”和“绿色成分”,分别对颜色传感器输出数据的RGB列表的第1和第2个数据赋予值。创建第三个变量“最大值成分”,RGB列表中的数值除以最大数据,表示RGB成分中最“优势”的颜色对应数据。接着,建立“执行时、执行时、执行时、执行时、执行时、执行时”的三个分支选择结构,判断“最大值成分”与“绿色成分”或“红色成分”是否相等,在相等的情况下,点亮对应颜色的LED灯执行的动作是分别输出文字调试信息,利用扬声器再生对应的声音信息。“红灯,停下来!”分别追加注意“等待3秒”的模块语句,起到等待扬声器播放声音通知的作用。双方条件不一致时,表示黄色LED亮着。的文字信息输出和警报声音的再现(图6)。
4.“信号声音警报”的测试
当保存程序并点击“执行”按钮进行测试时,“信号”LED开始循环闪烁,同时继续检测颜色传感器灯的颜色,扬声器也相应的黄色的灯,等一下和“红灯,停下来!”注意声音实现预先设定的视觉障碍者“信号声音注意器”的功能(图7)。