第四十五课--Microduino 电吉他/zh
目的本教程将让大家如何使用超声波传感器,喇叭和Microduino做出一个电吉他。 设备
音符频率我们平常听到的 Do - Re - Mi - Fa - Sol - La - Si/Te 有它们对应的频率,下面两张表显示了各个音符对应的频率。 中间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()可以直接产生频率 原理图
程序https://github.com/Microduino/Microduino_Tutorials/commit/4c883d5b4f18721b91374b9ad558d36aba02500a 在程序中int toneFrequency[]={415,440,466,494,523,554,587,622}; 用来定义可以发出音符的范围和个数,你可根据自己的喜好按着音符频率表调整这个范围。 调试步骤一:下载tone函数库:https://github.com/johnmccombs/arduino-libraries/tree/master/Tone 放到IED的libraries中再重启IDE。 此Tone库相比自带的tone函数特点是,可以同时在多个输出脚输出不同频率的波形,但是自带tone函数在一段时间内只能在一个引脚输出。 注意:解压后要把Tone.cpp中的'#include <wiring.h>改为#include <Arduino.h>,否则会报错 步骤二:按照原理图搭建电路图如下图: 可以在一个木板上按着音符频率表标注音符的位置。 步骤三:下载并运行代码 步骤四:在超声波前移动遮挡物的位置,听喇叭的声音 结果喇叭会根据遮挡物的位置不同而产生不同的音符,基本上与木板上的音符刻度相符。 视频 |