【DIY】电子制作创意作品:有趣的激光竖琴

在上海世博会的伊朗馆,我看到了一架没有琴弦的竖琴,那是众多参观者公认的伊朗馆里最有趣的展品!参观者只要伸手穿过那架通体黑色的竖琴,音调就会被“奏响”。没有琴弦怎么奏响?工作人员为我们揭示了秘密——他按了一下琴身上的“光”按键,14道红色的激光束就从琴的上端射出。他说,这是激光竖琴。我们用手指一“拨”激光束,竖琴就会发声,每一束光都有不同的音高。据说这个竖琴原本放在伊朗的科学馆里,主要是为了激起小朋友对音乐和科技的兴趣。

这个激光竖琴也让我回想起了许多陈年旧事,很久前我就曾经和同学说过,我也能做一个激光竖琴,还和他打了赌,只是由于时间的问题一直没有完成。看了伊朗馆的激光竖琴,我决定制作它,当然是一款很简陋的激光竖琴。不过对于喜好DIY的朋友而言,也是一个不错的创意小制作。

图片

图片

制作需要的材料(见附表)

附表 使用AT89C2051方案的元件清单

编号 零件名称 数量

1 12MHz晶振 1

2 10kΩ电阻 6

3 10μF电容 1

4 20针插座 1

5 AT89C2051 1

6 无源蜂鸣器 1

7 8550PNP三极管 1

8 1kΩ电阻 1

9 光敏电阻 5

10 3V激光管 5

11 电池盒 1

12 木块 3

13 插针、插座 若干

14 铜座、螺丝 若干

15 洞洞板 1

整体结构

这个激光竖琴,用3个木块构成,并用螺丝和热熔胶固定成接近竖琴的形状。

在上面的木块上安装5个3.0V激光管,并用热熔胶固定在下面的木块上。用0.8mm的钻头钻洞,并安装对应的5个光敏电阻,即组成基本的基座。然后,在合适的地方放置5号电池盒,也用热熔胶固定。最后,根据电源原理图,把对应的引线和插座连接,以方便后期的连接和升级。最后,再与电路板底座连接。底座的电路我先后做了两种,分别采用的是AT89C2051和ATMEGA8这两款单片机。当然,性能和效果也是不同的。由于材料有限,我只做了5根弦的作品。

这次制作焊接非常简单,都是DIP的元器件,根据原理图使用绝缘套线,连接对应引脚即可。

好了,你也可以享受神奇的无弦琴的乐趣了!

图片

采用51单片机的电路原理图

图片

图片

采用AVR M8单片机的电路原理图

电路原理

光敏电阻在室内光线下的阻值约20kΩ。当受到激光管照射时,它的电阻将小于1kΩ。于是,笔者用10kΩ的电阻和光敏电阻串联,进行分压。当有激光照射时,单片机读取光敏电阻的电压(3/11,约 0.27V),此时它的逻辑电平为0。当无激光照射时,单片机读取光敏电阻的电压,约(3/30)×20=2V,这时它的逻辑电平为1。

这样,当我们遮挡激光的光线时,就能在电路中产生开关的效果。音符是如何产生的呢?人耳能听到的声音频率为20Hz~20kHz,竖琴音符频率当然也在这个范围。只是,不同的音符,有着自己固定的频率。通过51单片机自带的16位定时器就可以产生上述音频。例如竖琴的标准音la为440Hz。通过计算可知,它的半周期为1136μs。这样,只要在半周期时跳变引脚电平,就可以产生440Hz的方波了。再经过电声转换元件(蜂鸣器),就可以产生标准音la 了,其他音符也是这样产生的。

图片

图片

51单片机底板

图片

图片

AVR单片机底板

图片

激光竖琴的结构

采用51单片机的电路使用了AT89C2051单片机,在P3.7引脚上连接发声元件,即无源蜂鸣器。通过三极管放大电流,使音乐更响亮。其余部分是51 单片机的最小系统。电路的电源用2节5号电池。大家可能会认为,这个音符没有音色啊。因此,我又对这个51单片机做的发声底座进行了改变,用M8单片机重新设计了发声的底座。使用新设计的M8单片机电路,我们可以将音色文件放到SD卡中,大家根据自己的喜好,放入喜欢的音符,如钢琴、二胡、吉他等。不过,音符需要自己用电脑事先录制,并保存为8位的WAV文件,文件名为D、R、M、F、S、L、X。程序会判断哪根激光被阻挡,播放相应的音符文件。声音通过 M8单片机的OC1A、OC1B产生。只要把音频输出的OCR1A、OCR1B和音响或耳机连接,就能听到响亮的音符了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/732544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot搭建入门

Spring Boot简介 Spring Boot是对Spring进行的高度封装,是对Spring应用开发的高度简化版,是Spring技术栈的综合整合,是J2EE的一站式解决方案。想要精通Spring Boot的前提是需要熟悉Spring整套技术栈原理与内容。 Spring Boot的优点&#xf…

指针篇章-(冒泡排序详解)

冒泡排序 图解 tmp图解 内容图解 每次循环的次数减少 for循环详解 冒泡排序是一种简单的排序算法,它重复地遍历要排序的数列, 一次比较两个元素,如果它们的顺序错误就把它们交换过来。 遍历数列的工作是重复地进行直到没有再需要交换&…

Double和Float类

Double类 功能:实现对Double基本型数据的类包 构造方法: (double num) double Value()方法:返回对象中的double型数据。 Float类 功能:实现对float基本型数据的类包装。 构造方法: (float num) Float Value()方法…

云计算项目九:K8S安装

K8S安装 Kube-master安装 按照如下配置准备云主机 防火墙相关配置:禁用selinux,禁用swap,且在firewalld-*。上传kubernetes.zip 到跳板机 配置yum仓库(跳板机) 跳板机主机配置k8s软件源服务端 [rootjs ~]# yum -y…

设计模式-行为型模式-备忘录模式

备忘录(Memento):在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。[DP] //首先,我们定义Originator类,它有一个状态和…

C++初阶:类与对象(中篇)

目录 2. 类的六个默认成员函数2.1 构造函数2.1.1 构造函数的定义方式 2.2 析构函数2.2.1 析构函数定义方式 2.3拷贝构造函数2.3.1 拷贝构造函数的定义方式2.3.2 深拷贝与浅拷贝 2.4 赋值运算符的重载2.4.1 运算符重载2.4.2 运算符的重载的定义方式2.4.3 默认成员函数&#xff1…

HTML使用

文章目录 一、简介二、HTML快速入门三、基础标签四、图片、音频、视频标签五、超链接标签六、列表标签七、表格标签八、布局标签九、表单标签十、表单向标签 一、简介 二、HTML快速入门 ​ <html><head><title>你好</title></head><body>再…

功能强大使用简单的截图/贴图工具,PixPin

一、下载链接 PixPin 截图/贴图/长截图/文字识别/标注 | PixPin 截图/贴图/长截图/文字识别/标注 (pixpinapp.com) 二、功能 截图/贴图/长截图/文字识别/标注 三、安装教程 根据提示安装即可&#xff1a; 四、快捷键 1.软件自带快捷键&#xff08;右击PixPin查看 &#xff09…

微信小程序-入门

1.下载和安装Npm&#xff1a;Npm https://docs.npmjs.com/downloading-and-installing-node-js-and-npm 或者 https://nodejs.org/en/download/ 未安装npm 提示 以下以安装node安装包为例 按任意键继续 安装完成后 2. 下载和安装小程序开发工具 &#xff1a;https:/…

安信可IDE(AiThinker_IDE)编译ESP8266工程方法

0 工具准备 AiThinker_IDE.exe ESP8266工程源码 1 安信可IDE&#xff08;AiThinker_IDE&#xff09;编译ESP8266工程方法 1.1 解压ESP8266工程文件夹 我们这里使用的是NON-OS_SDK&#xff0c;将NON-OS_SDK中的1_UART文件夹解压到工作目录即可 我这里解压到了桌面&#xff0c…

T1 小美的数组询问(15分) - 美团编程题 题解

考试平台&#xff1a; 牛客网 题目类型&#xff1a; 30道单选题&#xff08;60分&#xff09; 2 道编程题 &#xff08;15分 25分&#xff09; 考试时间&#xff1a; 2024-03-09 &#xff08;两小时&#xff09; 题目描述 小美拿到了一个由正整数组成的数组&#xff0c;但其中…

Draco点云压缩测试

ref&#xff1a;https://github.com/google/dracohttps://codelabs.developers.google.com/codelabs/draco-3d/index.html#6 Draco Draco 是一个用于编码压缩和解压缩 3D 几何网格和点云的库&#xff0c;从而改进 3D 图形的存储和传输该代码支持压缩点、连接信息、纹理坐标、颜…

NTFS安全权限

NTFS是新技术文件系统&#xff08;New Technology File System&#xff09;的缩写&#xff0c;是一种用于Windows操作系统的文件系统。NTFS提供了高级的功能和性能&#xff0c;包括文件和目录的权限控制、加密、压缩以及日志等。它被广泛应用于Windows NT、Windows 2000、Windo…

ubuntu 运行opencv_sample遇到的问题

首先我遇到的问题就是摄像头连接不上 勾选最后一个 然后是 usb接口问题 点击虚拟机设置 我的是改为 3 就可以啦

谷歌seo外链和内链区别?

什么是外链&#xff1f;外链就是其他网站链接到你的网站&#xff0c;别人的网站提到了你的网站&#xff0c;并愿意放你网站的链接在上面&#xff0c;这就是外链&#xff0c;外链的重点&#xff0c;就在于这是外部网站给你网站的推荐&#xff0c;意味着别人认可你的内容或服务&a…

JL15-80/11电流继电器 过电流瞬时动作 电磁式结构 80A 一开一闭

JL15电流继电器 系列型号 JL15-1.5/11电流继电器JL15-2.5/11电流继电器 JL15-5/11电流继电器JL15-10/11电流继电器 JL15-15/11电流继电器JL15-20/11电流继电器 JL15-30/11电流继电器JL15-40/11电流继电器 JL15-60/11电流继电器JL15-80/11电流继电器 JL15-100/11电流继电器JL15…

关于2024/3/4号的学习总结

今天没有早八&#xff0c;八点之钱起床了&#xff0c;上午背了半小时的单词&#xff0c;然后就在写top100&#xff0c;目前中等和简单写了30题&#xff0c;基本上都没有看题解。我自己也整理下&#xff0c;每一题的思路&#xff0c;这样子&#xff0c;也会让我至少拥有做模板题…

JavaScript代码混淆与防格式化功能详解

在前端开发中&#xff0c;为了增加代码的安全性&#xff0c;防止恶意分析和逆向工程&#xff0c;有时候会采用一些防格式化的技术。这些技术主要通过混淆和难以阅读的方式来防止代码的易读性&#xff0c;提高代码的复杂度&#xff0c;增加攻击者分析的难度。 1. 代码压缩与混淆…

机器学习--循环神经网路(RNN)2

在这篇文章中&#xff0c;我们介绍一下其他的RNN。 一.深层RNN 循环神经网络的架构是可以任意设计的&#xff0c;之前提到的 RNN 只有一个隐藏层&#xff0c;但 RNN 也可以是深层的。比如把 xt 丢进去之后&#xff0c;它可以通过一个隐藏层&#xff0c;再通过第二个隐藏层&am…

JavaEE企业开发新技术

目录 2.1 Class对象基本概念 1、概念 2.2 Class对象的获取方式 2.3基本数据类型的Class对象 1、概念 2.4 反射的基本概念 概念 2.5 Class对象的基本使用-1 2.6 Class对象的基本使用-2 newInstance()和new()区别&#xff1a; 2.1 Class对象基本概念 1、概念 反射的…