背景
之前和朋友路过ACTION商店时,我发现了一个价格可以接受的数字LED(包括12V电源适配器,甚至包括带红外遥控器的控制器)。于是我决定买下来并做一个可以和他们一起玩的宾果机,方法则是用我的ArduinoUno来控制LED灯条。
尽管在包装或LED灯条本身上没有任何说明,但我发现这是一种灯条,由三个5050LED段组成,每3个LED使用一个WS2811驱动器。
我将条带连接到ArduinoUno以使用AdafruitNeoPixel库和一些示例代码(例如RGBWstrandtest)对其进行试验。
起初我构思了一场头脑风暴,并产生了使用这些东西制作A4大小的7段显示器的想法。如上图所示的七个条带部分可以完成这项工作,另外还有一个用于显示屏上的小数点。这就可以使用8个段分别有效地并且只需Arduino的一个输出引脚来控制,并由ACTION包中已包含的12V适配器供电。
但现在只有一个7段显示器,我能做什么?
我决定制作其中的2个,并使用它们构建一个宾果机,在按下按钮后显示1到75之间的随机数。
第1步:制作7段显示器
显示器的整个制作过程非常漫长。制作的简短版本如下:
两种A4尺寸的显示器都是用传统的方法和材料制成的。我使用的是激光切割机和3D打印机,整个过程会有所不同,并且更加简单。
在制作的过程中,我还慢慢发现,制作这个项目也非常具有挑战性和乐趣味。
对于LED灯条,我使用了16个部分,每个部分是从ACTION的WS2811LED灯条上切割下来的。
这些段通过焊接线连接到条带的+12V、GND和Do和Di,具体的操作方法你可以在互联网上寻找。
外壳的新正面由宜家的白色半透明砧板材料制成。
使用模板从板顶部的涂漆层(黑色底漆)中切割出一部分。
一条音频电缆(取自ACTION)用于通过220Ω电阻将7段显示器与3根电线(12V、GND和数据输入)连接到Arduino。
我修改了外壳以便更轻松插入音频连接器。
第2步:制作记分牌
同时我准备再做一个记分牌显示器,以显示生成的随机数、一个用于生成新数字的按钮和一个用于结束和启动新一轮的“宾果按钮”。
记分牌使用与外壳相同的ACTION钉板制成。盖板由深灰色切菜板制成,上面钻有几个孔洞。顶盖由宜家砧板制成。两层之间是相纸上的打印件和保护性透明箔。
另一面贴在砧板背面的有5个部分,每个部分又有15个WS2812LED加上3*8个LED条部分,用于显示背光“BINGO”一词。
第3步:制作硬件
针对硬件方面,我用的是Arduino和无焊面包板,以完成对LED灯条和7段显示器的编码和播放的初步实验。
大的瞬时按钮连接到GND和Uno的数字IO引脚2,按下按钮就开始生成新的随机数。在短暂的“灯光秀1”之后,随机数会显示在两个7段显示器上。
用于在7段显示器上创建数字的表格如下:
为了帮助构建ArduinoSketch,我制作了一些简单的流程图,这是一个用于非商业用途的免费版本(一旦你习惯了一些固有的限制,就可以使它基于此正常工作)。
生成的数字存储在一个名为SCORE[]的数组中,该数组由75个位置组成,用“0”或“1”填充。如果生成的新数已经存在,则自动生成一个新的随机数。
新号码在记分牌上亮起(有75个号码),同时新号码显示在7段显示器上
记分牌不断显示生成的所有随机数,直到达成有效的“BINGO”,一个名为“BINGO”的按钮将以简短的“BingoLightShow”结束回合
达成后SCORE数组被清除,就可以开始新的一轮。
当然,也可以随时通过切换电源开关(断开12V电源)来开始新一轮,这将重置Arduino并重新启动程序。
第4步:电子设备
我用了一个12V、2A充电器为整个BingoMachine供电。
Arduino电源插孔上的12V输入已修改为启用电源切换(开-关)。
用于记分牌的99个LED(75+24)的5V电源是通过7805稳压器从12V输入电源获得的(它几乎可以处理WS2812LED灯条吸收的电流),同时我有添加一个功率晶体管来处理主要由记分板内的99个WS2812LED消耗的所需5V电源。我以这种方式为Arduino制作了草图记分牌的电力需求适中。
Fritzing图中的布局如下所示:
请注意,Bingo记分板上的7段LED部分(12V)以及照亮数字1-75的LED灯条均由Uno的同一个输出引脚(6)控制。
全部0条评论
快来发表一下你的评论吧 !