Arduino - 聲音控制七段顯示器 (MIC + Counter + Seven-segment display)
目的:
以拍手作為輸入,將次數顯示於7段式顯示器,0~9間做循環,並有開關作為RESET用。
成果:
Arduino Code:
int micPin = A0; //麥克風輸入
int micVal = 0; //麥克風獨到的音量
byte index = 0; //七段顯示器
const byte LEDs[10] = { // 七段顯示器設定
B1111110,
B0110000,
B1101101,
B1111001,
B0110011,
B1011011,
B1011111,
B1110000,
B1111111,
B1111011
};
void setup() {
DDRD = B11111111;
pinMode(8, INPUT);
}
void loop() {
micVal = analogRead(micPin);
boolean now = digitalRead(8); //開關輸入
PORTD = LEDs[index];
if (now == HIGH) {
Serial.println("damn");
index = 0; //開關判斷,按下去歸0
delay(500);
}
if (micVal >= 300) //當收到大於200的輸入
{
Serial.println(micVal); //輸出收到的聲音
index++; //收到訊號七段顯示器+1
Serial.println(index);
if (index == 10) {
index = 0; //七段顯示器跑到10歸零
}
delay(500);
}
PORTD = LEDs[index];
}
留言
張貼留言