5332| 2
|
[进阶] 快乐智造营 | 12 电子像素画板 |
本帖最后由 怀若谷 于 2021-5-11 21:52 编辑 本系列教程主要分享基于开源硬件和激光建模的创客作品的制作,每个作品涉及两三个电子模块的使用,让学习者能够轻松、扎实地掌握创客制作的知识和技能,并体会到智造的乐趣。 【目录】 5.快乐智造营 | 05 台灯9.快乐智造营 | 09 桌面温度计10.快乐智造营 | 10 多功能测量仪 11.快乐智造营 | 11 遥控电风扇 12.快乐智造营 | 12 电子像素画板 v 12.1项目概述 图12-1 “电子像素画板”,是一个使用RGB LED灯来绘制简单像素画的创客作品。通过该项目的学习,可以掌握JoyStick摇杆和RGB LED点阵屏的使用。 功能介绍:通过JS摇杆来实现绘制点阵图的。往四个方向摇动摇杆可控制点阵屏中的光标分别向上下左右移动;按下JS摇杆,可在绘制、擦除及改变色彩等操作之间进行切换。按下左边的按钮,可清除屏幕上的图案。 演示视频 v 12.2材料准备 图12-2 本项目所需要的硬件材料,如图12-2所示,分别为: (1)DFRduino Uno R3 1块 (2)IO扩展板 1块 (3)数字按钮模块 1个 (4)8*8 RGB柔性点阵屏 1块 (5)JoyStick摇杆模块 1个 v 12.3 电子模块的使用12.3.1 8*8 RGB全彩LED柔性点阵屏 图12-3 8*8 RGB全彩LED柔性点阵屏,是由64个LED灯级联组成的,相当于一个64珠的WS2812 RGB灯带,排列顺序如图12-3所示。只需要一个引脚就可以控制所有LED的亮灭及颜色,还支持级联扩展,连接更多的点阵屏从而组成更大的点阵屏。 图12-4 在与Arduino Uno主控板连接时,可连接到除D0、D1外的任一引脚。连接示例如图12-4所示,GND、VCC、数据三个引脚要分别对应。 图12-5 在编程软件Mind+中,能控制WS2812灯带的积木有很多,需到【扩展】中的【显示器】下找到【WS2812 RGB灯】,然后选择添加才会在积木区出现。在使用时,需要先进行初始设置,示例程序如图12-6所示,该程序执行的结果是使接在引脚D13上的点阵屏上显示一个红色的“+”号。图12-6 在实际使用中我们可以观察LED灯的灯号与坐标的关系,总结出一个转换公式,才能更方便地控制任意一个LED灯。(后面的项目程序中提供了一个参考公式) 12.3.2 JoyStick摇杆模块 JoyStick摇杆采用PS2摇杆电位器制作,具有2路模拟输出(X和Y),1路按钮数字输出(Z),需要连接3个引脚。其属于输入设备,在编程软件中一般归于“传感器”模块,或者直接使用“引脚操作”来控制。 图12-7 在与Arduino Uno主控板连接时,X和Y两路数据线需连接到A0-A5中的两个引脚,Z可连接到除D0、D1外的任一引脚。连接示例如图12-7所示,GND、VCC、数据三个引脚要分别对应。图12-8 在编程软件Mind+中,可通过“引脚操作”中的相关积木来获取JS摇杆模块的三轴输入数据值,其中X和Y可以参照电位器的使用方法,Z可以参照数字按钮模块的使用方法。为了了解处于不同的方向及状态下的输入值,可以使用串口打印方法来读取相应的值,示例程序如图12-8所示,该程序执行的结果是将接在引脚A1、A2、A3上的JS摇杆模块的三轴输入值显示出来。图12-9 分别摇动摇杆向四个方向运动,再往下按下摇杆,查看数值的变化,如图12-9所示。本项目制作所用的JS摇杆模块的属性为:X(左:0,中:500,右:1022),Y(上:1023,中:500,下:0),Z(松开:0,按下:1)。 v 12.4 项目制作 12.4.1 硬件搭建 将数字按钮模块连接到扩展板的D3引脚、点阵屏连接到D2引脚、JS摇杆模块连接到A1-A2-A3引脚,如图12-10所示。 图12-10 12.4.2 编写程序 编程思路:(1)按下数字按钮将所有LED灯关闭,达到清除屏幕的作用;(2)建立变量“X坐标”“Y坐标”来记录LED灯的坐标值,并根据转换公式将坐标值转换为相应的灯号;(3)通过JS摇杆模块X、Y的输入值来判断摇杆的运动方向,从而改变变量“X坐标”和“Y坐标”的值;(4)当JS摇杆模块Z输入值等于1时,说明按下了摇杆,建立一个变量“颜色编号”来记录按下的次数,根据“颜色编号”的值来选择执行不同的指令:显示某种色彩或者关闭该LED灯。本项目中,设置了5种不同的色彩(全黑即为关闭,相当于擦除),我们可以根据需要增加或者改变色彩。 根据编程思路,编写出程序,示例程序如图12-11所示。编好程序后,上传到设备,进行调试。 图12-11 程序中使用的转换公式为: 当Y坐标值为偶数时,灯号=Y*8+X 当Y坐标值为奇数时,灯号=Y*8+7-X 坐标值以第1个灯的坐标为(0,0)计算 12.4.3 设计、切割外型 使用制图软件进行外型的设计,设计图如图12-12所示。 图12-12 图纸设计好后,使用激光切割机进行切割。切割好的木板件如图12-13所示。 图12-13 12.4.4 装配调试 将切割好的木板和硬件进行组装,步骤如图12-14所示。 图12-14 (1)组装好底盒的5块木板 (2)将主控板固定在底板上 (3)固定数字按钮模块和JS摇杆模块 (4)固定RGB点阵屏 (5)安装操控台板 (6)安装显示屏面板 (7)装上顶部横条 v 12.5 拓展学习 本项目只要改变程序即刻可以变成其他的作品,本人以前就基于相同的材料制作过一个项目——《图像记忆训练器》,可以点击下面的链接进行观摩学习。 玩物尚志 | 图像记忆训练器 你还可以把它当成一个迷你游戏机,为它编写一些小游戏,比如“贪吃蛇”等。由于Arduino Uno不支持多线程,编写程序时更考验技巧。想实现更复杂的功能的话,建议将主控板换成支持多线程的主控板。 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed