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];
- }
留言
張貼留言