2016-1-27 16:33:22 [显示全部楼层]
19134浏览
查看: 19134|回复: 5

[中级教程] Arduino教程中级 项目七 互动电子鼓

[复制链接]

项目七 互动电子鼓

本系列教程为DF创客社区版权所有,配套硬件套件:新版Arduino中级套件

想像一下在架子鼓上装上炫彩的 LED灯呢,可以随着节拍的强弱,颜色随之明暗。这就是我们这节要做的互动电子鼓!当然,我们这里还是继续选用简单的红色 LED做模板。如果你想加入更多的色彩的话,可以选择RGBLED灯,那将呈现出五彩斑斓的颜色。更进一步,如果想让灯光效果更明显的话,还可以考虑使用灯带,由多个 LED灯组成,现场表现力将更胜一筹。

回归到我们本节的主题——互动电子鼓。这里用的是一个模拟压电陶瓷震动传感器,简单的说,就是检测震动的传感器,原理就是通过鼓的震动来接收的到不同强弱程度的信号,再把该信号反馈给控制器,控制器来实现灯光变化。

所需元件

1×  数字食人鱼红色LED发光模块
1×  模拟压电陶瓷震动传感器
截屏2020-07-03 17.17.37.png

硬件连接

模拟压电陶瓷震动传感器
连接模拟引脚 0
数字食人鱼红色 LED发光模块
连接数字引脚10
截屏2020-07-03 17.17.48.png

硬件分析(模拟输入—模拟输出)

如果细心的话,可以发现互动电子鼓的做法与灯光调节器一节是完全类似的。只是这里变换了一种形式,这也就是传感器的传神之处,可以以不同的形式呈现在我们面前。
截屏2020-07-03 17.18.25.png

由于代码与前一节完全相同,所以不做过多解释。还有,经过前面几次的硬
件分析,我们应该能够自己来区分输入输出了,所以后面几章就不特意说
明了!

输入代码

样例代码7-1:

//项目七 —— 互动电子鼓
int sensorPin = 0;                //压电陶瓷传感器连接到模拟0
int ledPin = 10;                 //LED连接到数字10
void setup() {
       pinMode(ledPin, OUTPUT);
}
void loop() {
  int sensorValue = analogRead(sensorPin);    //读取模拟口0的值      
  //通过map()把0~1023的值转换为0~255
int outputValue = map(sensorValue,0, 1023, 0, 255);   
analogWrite(ledPin, outputValue*10);   //给LED写入对应值        
  delay(10);                     
}

用手轻轻按下陶瓷片,随着按下力的不同,LED呈现出不同的亮度。
也可以把压电陶瓷片固定在电子鼓上,跟着节奏,灯光随之舞动。



Lesson7_1.ino

518 Bytes, 下载次数: 162

jiashe2011  见习技师

发表于 2017-2-22 00:58:07

学习7!!!
回复

使用道具 举报

huoyanmao  学徒

发表于 2017-10-25 13:52:41


学习了.
回复

使用道具 举报

zhouyu77642017  学徒

发表于 2018-8-9 09:20:21

学习学习
回复

使用道具 举报

王佳欣  学徒

发表于 2018-11-12 15:14:58

如何用mixy 0.995模块搭建好
回复

使用道具 举报

小飞侠_  见习技师

发表于 2019-7-9 00:51:49


学习学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2022 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail