问题描述
我是 Arduino 初学者,我想编写一个小程序,当我按下按钮时会播放音符(也提示按下 lcd 上的按钮)。
为了让音符播放,我想写一个小函数在压电上播放音符并且有延迟,但是当我尝试上传代码时,出现这个错误:
有人可以帮我吗?这是我的代码:
#include <LiquidCrystal.h>
int VO = 2;
int RS = 3;
int E = 4;
int D4 = 8;
int D5 = 9;
int D6 = 10;
int D7 = 11;
int PIEZO = 12;
int BUTTON = A0;
LiquidCrystal lcd(RS,E,D4,D5,D6,D7);
void setup() {
pinMode(BUTTON,INPUT_PULLUP);
analogWrite(VO,0);
lcd.begin(16,2);
lcd.print("Press the button");
}
void playTone(a,b) {
c = b * 800;
tone(PIEZO,a,c);
delay(c);
}
void loop() {
if (analogRead(BUTTON) == 1023) {
playTone(255,1);
}
}
解决方法
您需要定义函数中的变量。
void playTone(int a,int b)
此外,变量 c
需要在使用前在某处定义。