|
// 需要使用pitches 头文件,可以直接打开 digital的示例代码,带有keyboard的任选 将正文代码替换//
#include "pitches.h"
int melody[] =
{ 0,NOTE_C4,NOTE_D4,NOTE_E4,NOTE_F4,NOTE_G4, NOTE_A4,NOTE_B4 ,NOTE_C5} ;
char x;
int n;
void setup(){
Serial.begin(9600);
pinMode(10,OUTPUT);
}
void loop(){
while(Serial.available()>0)
{
x=Serial.read();
if(x=='0') n=0;
if(x=='1') n=1;
if(x=='2') n=2;
if(x=='3') n=3;
if(x=='4') n=4;
if(x=='5') n=5;
if(x=='6') n=6;
if(x=='7') n=7;
if(x=='8') n=8;
tone(10,melody[n],500);
Serial.println(n);
}
}
/* 理想的代码 没有那么多 if ,直接用melody[x-‘0’] 来判断输出的音名 ,不行,自己问题出在: x是char 型,不是数组的下标,于是改用 melody[int(x-'0')] 还是不行
只能全用if了 求指教 */
|
|