BASIC4MCU | 질문게시판 | 아두이노 피에조 부저 코드 관련
페이지 정보
작성자 고기민 작성일2019-02-11 22:17 조회1,332회 댓글0건본문
#include <LiquidCrystal.h>
LiquidCrystal lcd(4, 5, 8, 9, 10, 11);
int piezo=7;
int button1=12;
int button2=3;
int button3=4;
#define NOTE_C4 262
#define NOTE_CS4 277
#define NOTE_D4 294
#define NOTE_DS4 311
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_FS4 370
#define NOTE_G4 392
#define NOTE_GS4 415
#define NOTE_A4 440
#define NOTE_AS4 466
#define NOTE_B4 494
#define NOTE_C5 523
int melody1[]={
NOTE_E4, NOTE_D4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_D4,
NOTE_D4, NOTE_D4, NOTE_E4, NOTE_G4, NOTE_G4, NOTE_E4, NOTE_D4, NOTE_C4,
NOTE_D4, NOTE_E4, NOTE_E4, NOTE_E4, NOTE_D4, NOTE_D4, NOTE_E4, NOTE_D4, NOTE_C4
};
int tempo1[]={100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100};
int button[]={2,3,12};
void setup(){
pinMode(piezo,OUTPUT);
pinMode(button1,INPUT);
pinMode(button2,INPUT);
pinMode(button3,INPUT);
lcd.begin(16, 2);
}
void loop(){
for(int i=0; i<26; i++){
int tempo=250*tempo1[i];
if(digitalRead(button1)==HIGH){
lcd.setCursor(1,0);
lcd.print("Hello");
delay(1000);
tone(piezo,melody1[i]);
delay(tempo1[i]);
noTone[i];
lcd.clear();}
if(digitalRead(button2)==HIGH){
lcd.setCursor(1,0);
lcd.print("aaaaa");
delay(1000);
tone(piezo,melody1[i]);
delay(tempo1[i]);
noTone[i];
lcd.clear();}
if(digitalRead(button3)==HIGH){
lcd.setCursor(1,0);
lcd.print("abcde");
delay(1000);
tone(piezo,melody1[i]);
delay(tempo1[i]);
noTone[i];
lcd.clear();}
}}
제가 생각한건 버튼에 따라 곡 제목을 lcd에 띄우고 노래를 재생하는건데 현재 버튼을 누르면 한 음만 계속해서 나오고 lcd화면은 나오지 않습니다
도와주세요 (아직 곡은 만들지 않았습니다)
댓글 0
조회수 1,332등록된 댓글이 없습니다.