프로그래밍/Arduino
미니 디지털 피아노
Inboony
2017. 4. 12. 18:09
- 준비물
- piezo 스피커 1개
- 버튼스위치 3개
- 10㏀ 저항 3개 - 코드
- 영상
- 알게된 점
- tone에서 정한 출력시간 만큼 delay를 해줘야 음이 겹치지 않고 충분히 출력(당연한얘기를..)
//input Pin 배열 int inputArr[] = {2, 3, 4}; int inputArrSize = sizeof(inputArr)/sizeof(int); //음 배열 int soundArr[] = {262, 294, 330}; int soundArrSize = sizeof(soundArr)/sizeof(int); //piezo 출력 핀 const int outputPiezoPin = 8; void setup() { for(int i=0 ; i< inputArrSize ; i++) { pinMode(inputArr[i], INPUT); } } void loop() { for(int i=0 ; i< soundArrSize ; i++) { if(digitalRead(inputArr[i]) == HIGH) { tone(outputPiezoPin, soundArr[i], 100); delay(100); noTone(outputPiezoPin); } } }