这次将为大家介绍一个使用Arduino制作的独特电子作品,将会分【前篇】和【后篇】两部分进行介绍。
为我们介绍这个非常有趣的电子制作项目的是平原真先生,他是一位以事物之间的关系为主题进行探索的艺术家。平原先生同时也是大阪艺术大学的副教授,迄今为止,他使用计算机和电子器件制作了很多媒体艺术作品。在Device Plus上,平原先生也发表了一些极具意义的电子作品,例如“用Arduino制作的太阳能电池板供电数字养殖箱”、“用Arduino和TOF距离传感器制作甜甜圈播放器”以及“用Arduino和加速度传感器制作数字滚球迷宫”。接下来,我们一起来学习吧!
目录
前言
大家好!我叫平原。
请原谅我先讲一件很早以前的事情,在我还是学生的时候,受一位乐队朋友的影响,我买了一把二手电吉他。当时迫不及待地立即开始练习,但由于一按金属弦就感到手指疼痛,所以最终只能很遗憾地放弃了。
“如果是不会让人手疼的琴弦,我明明可以坚持下来的!”
当时的理由的确比较牵强,但不管怎样,这次我要制作一个可以用激光琴弦弹奏的电子乐器!它由12个激光器和传感器组成,可以演奏实时生成的声音。
※此链接为Youtube视频
本项目共分为四个部分:
- 作品规划和制作准备
- 创建电子电路
- 制作外壳
- 创建程序
在前篇中,我们将介绍制作前的准备和电子电路的组装,并会确认工作情况。在后篇中,我们将使用激光加工机床和3D打印机制作外壳,最后会使用名为“Mozzi”的库编写程序。
另外,这次的作品创意,得到了大阪艺术大学的猪熊祐斗先生的协助,在此表示衷心感谢!
1. 作品规划和制作准备
1.1. 整体规划
这次我要制作一种无需触弦即可演奏的电子乐器。我希望当挥动手指时,能听到竖琴般的音色。如果有调节音程和音长的功能,那么演奏范围就会更大了。
1.2. 系统配置
下面,我们绘制一个能够实现整体规划中的关键要点所需的结构简图,并构思系统构成。
首先,需要读取手指位置的功能。有几种可能的方法可选,让我们一起来探讨一下吧。有一种可以深度相机拍摄的图像的分析技术,但它需要电脑配合使用,而Arduino无法实现。
那么,用距离传感器怎么样?貌似可以读取手指的位置,但好像很难感知到琴弦的存在。
基于这些考量,这次我想用光强很小的红色激光器和碰到光时导电的光电二极管,来制作当用手遮挡激光时会做出反应的机制。阻挡时,激光会打在手指上,因此也可以看到琴弦的位置。
然后,我们来考虑如何让设备发出富有表现力的声音。虽然可以用Arduino标准的tone函数让它发出嘟嘟声,但这称不上是动听的音色。也可以使用外部组件来播放采样的声音,但无法实时更改音色。基于这些考虑,我决定使用Arduino用的声音合成库“Mozzi”。这样,不仅可以调节音量和音阶,还可以调整声音的波形和音效。此外,即使将扬声器直接连接Arduino,音量仍然很小,所以还需要放大器来放大信号。还需要用可调电阻来形成不同的音色。
接下来,我们浏览电子元器件在线商店,从中选择具体的产品。如果您从主要器件和选项较少的器件开始着手,会更容易理清思路。
激光器和传感器
光源采用激光指示器等所用的1mW超小型激光器。圆柱形部分的尺寸为直径6mm,长度10mm。在3V电压下工作,发光波长为640nm~660nm。通过转动螺丝调整透镜可以调整焦距。输出非常微弱,但请注意不要直射您的眼睛。当接通电源时,请使用激光防护眼镜。
传感器使用一种“光电二极管IC”,该产品内置有光电二极管和放大电路。使用它可以放大光电二极管在被照到光线时产生的电流。灵敏度峰值波长为650nm,与激光器一致。尺寸为20mm x 20mm。
>> ROHM半导体激光二极管产品阵容
>> ROHM光学传感器产品阵容
音频放大器
使用搭载了IC和外围电路在内的音频放大器电路板。切掉不必要的部分,将尺寸变为约10mm x 10mm的大小,这样更容易在面包板上使用。
Mozzi
Arduino用的声音合成库。无需添加任何其他设备即可调节音量和音程,还可以更改波形和音效。
>> Mozzi
1.3. 外壳设计
首先,我手绘了相关的草图。我的设计中融入了竖琴和复古放大器的影子。从图中可以一目了然,声音的高低采用倾斜式设计。草图中也考虑到了激光器的固定方法以及与光电二极管的位置关系等因素。
1.4. 零部件清单
我在下面汇总了要使用的物料。价格和购买网址为截至撰写本文时的数据。运费另计。
1.5. 分发文件
创建示例所需的数据请从以下链接下载。其中包括Arduino程序和用于切割椴木板的形状数据等。
>> 分发文件(1.2MB)
文件的内容
- TestSketch/TestSketch.ino
电子电路测试用的程序 - LaserStrings/LaserStrings.ino
成品的程序 - CutData.ai
椴木板的切割数据 - LaserMounter.stl
激光器的固定机构 - SensorBase.stl
传感器底座 - RearTopFixture.stl
背面琴板顶部固定机构 - RearBottomFixture.stl
背面琴板底部固定机构
2. 创建电子电路
2.1. 布线图与电路图
我们需要一边确认电子部件的技术规格书一边设计电路。同时,在考虑实际物体的大小和位置关系的同时,还要考虑布线的长度等因素。电路图是表示电气连接关系的图,布线图是考虑到表示实际尺寸和位置关系等因素而绘制的接线图。在您还不能熟练使用的阶段,完全按照布线图制作更容易一些,但是当您习惯于制作并能够自己绘制电路或嵌入他人的电路时,通过电路图进行思考更容易理解。绘制布线图和电路图时,我使用的是名为“Fritzing”的软件。
2.2. 组装步骤
下面,我们开始组装电子电路吧。接线时请对照布线图和照片进行,以确保接线正确。作业步骤如下:
- 用导线连接零部件
- 将零部件安装在面包板上
- 接线
- 工作测试
2.3. 用导线连接零部件
为了能够将零部件安装在面包板上,需要制作带有QI连接器的导线。如果您没有QI连接器和压接钳,也可以用剪钳剪断电阻器的引脚将它们焊接到电线上。
请将粗细为AWG26程度的导线剪成以下长度:
- 扬声器用 30cm 2根
- 激光器用 40cm 24根
- 可调电阻用 15cm 12根
- 传感器用 30cm 12根
所有的导线都需要安装QI连接器。QI连接器是一种间距为2.54mm的通用连接器,用压接钳压接金属部分,并插入树脂外壳中使用。有关QI连接器的安装方法,请参阅以下链接:
然后将导线分别焊接在扬声器、激光器和可调电阻的引脚上,并用热缩管保护焊接处。
将传感器用的导线与切断硬跳线制作的L形一端焊接在一起。安装在面包板上时接线可以低一点。
所有的导线都准备好之后的状态如下。另外,激光器和传感器用的线很长,请注意不要让它们缠绕在一起。
2.4. 将零部件安装在面包板上
下面,我们把传感器用的两块面包板接上。在背面将凹凸的位置接在一起。如果有被双面胶盖住的地方,请用刀具将双面胶切断并取下来。
使传感器突起部分朝上将其引脚弯曲90度,然后将两个引脚向左右展开,使其横跨面包板中心的凹槽。插入时,从正面看传感器,让左侧的引脚连接布线图上的红线。
请按照下图安装传感器和电阻器。红线和蓝线是跳线。使用硬跳线可以让面包板上的布局看起来很整齐。将10kΩ的电阻器从根部弯曲90度并切断多余的部分,保留约10mm的长度。电阻器没有极性,所以对朝向没有要求。
在另一块面包板上,需要安装音频放大器和激光器用的200Ω电阻器。电阻器的处理和前面的一样,将引脚在根部弯曲90度,并切除多余的部分,保留约10mm的长度。音频放大器电路板请沿着下图中的虚线切断。用锋利的剪钳或刀具将其切断后,再用锉刀轻轻打磨整齐就好了。安装在面包板上的方向要使装有IC的一侧朝向Arduino。这里很容易出错,请仔细处理。
2.5. 接线
下面给零部件之间接线。请对照下面的布线图仔细操作。
接线完成后的样子如下。有点乱糟糟的感觉是吗?小心导线不要打结。
2.6. 工作测试
当将USB数据线接到电脑上时,应该会发射激光。请务必佩戴激光防护眼镜,并避免直视光源。
接下来使用测试程序确认电路是否正常工作。请将分发文件TestSketch.ino写入Arduino UNO。
程序写入完成后,您会听到扬声器发出“嘟嘟”的声音。如果您听不到声音,请检查接线,然后重启Arduino。
当我打开串口监视器时,看到上面显示以下消息:PD表示是否有光照在传感器上(0为暗,1为亮)。请在房间的灯不直射传感器的状态下,将激光器的光逐一照射到传感器上,确认PD值是否从0变为1。最左侧的数值是传感器1的值,由于它与串行通信共用引脚,因此在通过串口监视器确认期间,值是没有反应的。VR表示可调电阻的状态。请确认在您转动可调电阻的旋钮时是否能在0~1023的范围内变化。
当确认扬声器、激光器、传感器和可调电阻的工作都正常时,就意味着电路完成了。辛苦大家了!
如果不能正常工作,请根据布线图确认连接位置和零部件的方向,或使用电笔检查接线是否正常导通。
在后篇中,我们将使用激光加工机床和3D打印机制作外壳,并使用“Mozzi”编写程序,敬请期待!
本项目的连载文章:
前篇:用Arduino和红光激光器制作激光琴(本文)
后篇:用Arduino和红光激光器制作激光琴