STEM|如何利用arduino, 輸入聲音後顯示分貝數
可以使用 Arduino 開發板來製作一個分貝計(Decibel Meter),它可以檢測來自任何來源的聲音級別並顯示其強度。以下是您可以遵循的步驟:
所需元件:
ATmega328 微控制器 或 Arduino 開發板
Arduino 声音模块
1602 液晶屏
16 MHz 晶振
5V 電源
電路原理圖:
您可以使用聲音模組與 Arduino 進行組裝。以下是電路原理圖的示意圖:
程式碼範例:
您可以使用以下程式碼來製作分貝計。此程式碼將讀取聲音模組的數據並在液晶屏上顯示聲音級別:
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 8, 10, 11, 12, 13);
int num_Measure = 128;
int pinSignal = A0;
long Sound_signal;
long sum = 0;
long level = 0;
int soundlow = 40;
int soundmedium = 500;
void setup() {
pinMode(pinSignal, INPUT);
Serial.begin(9600);
lcd.begin(16, 2);
}
void loop() {
for (int i = 0; i < num_Measure; i++) {
Sound_signal = analogRead(pinSignal);
sum = sum + Sound_signal;
}
level = sum / num_Measure;
Serial.print("Sound Level: ");
lcd.print("Sound Level= ");
Serial.println(level - 33);
lcd.print(level - 33);
if (level - 33 < soundlow) {
lcd.setCursor(0, 2);
lcd.print("Intensity= Low");
} else if (level - 33 < soundmedium) {
lcd.setCursor(0, 2);
lcd.print("Intensity= Medium");
} else {
lcd.setCursor(0, 2);
lcd.print("Intensity= High");
}
sum = 0;
delay(200);
lcd.clear();
}
此程式碼會顯示聲音級別,並根據不同的聲音強度顯示 “Low”、“Medium” 或 “High”。
請注意,這只是一個簡單的示例,您可以根據您的需求進一步擴展和改進。祝您順利完成您的電子設備!🔊🌟
תגובות