第四十五课--Microduino 电吉他/zh

来自Microduino Wikipedia
跳转至: 导航搜索

目的

本教程将让大家如何使用超声波传感器,喇叭和Microduino做出一个电吉他。

设备

  • 其他硬件设备
    • USB数据连接线 一根
    • 超声波传感器 一个
    • 喇叭 一个
    • 10K欧姆电阻 一个
    • 面包板跳线 一盒
    • 木条 一个

音符频率

我们平常听到的 Do - Re - Mi - Fa - Sol - La - Si/Te 有它们对应的频率,下面两张表显示了各个音符对应的频率。

NoteFrequency1.jpg
NoteFrequency2.jpg

中间A的频率是440Hz,差一个八度音调是两倍的关系,然后分成12份,每分之间的倍数是2的12分之一次方倍。2的12分之一次方约等于1.059463........

例如:

A的频率是440*1.059463........

B的频率是440*1.059463........*1.059463........

乘12次以后是两倍,恰好到下一个A

中央c的频率是261.6hz

Microduino的tone()可以直接产生频率

原理图

ElectricGuitarSchematics.jpg


程序

guitar

在程序中int toneFrequency[]={415,440,466,494,523,554,587,622};

用来定义可以发出音符的范围和个数,你可根据自己的喜好按着音符频率表调整这个范围。

调试

步骤一:下载tone函数库:Tone 放到IED的libraries中再重启IDE。

此Tone库相比自带的tone函数特点是,可以同时在多个输出脚输出不同频率的波形,但是自带tone函数在一段时间内只能在一个引脚输出。

注意:解压后要把Tone.cpp中的'#include <wiring.h>改为#include <Arduino.h>,否则会报错

步骤二:按照原理图搭建电路图如下图:

ElectricGuitarConnect.jpg

可以在一个木板上按着音符频率表标注音符的位置。

步骤三:下载并运行代码

步骤四:在超声波前移动遮挡物的位置,听喇叭的声音

结果

喇叭会根据遮挡物的位置不同而产生不同的音符,基本上与木板上的音符刻度相符。

视频