STEM|如何利用arduino, 輸入聲音後顯示分貝數
top of page

STEM|如何利用arduino, 輸入聲音後顯示分貝數

如何利用arduino, 輸入聲音後顯示分貝數

可以使用 Arduino 開發板來製作一個分貝計(Decibel Meter),它可以檢測來自任何來源的聲音級別並顯示其強度。以下是您可以遵循的步驟:

  1. 所需元件

  • ATmega328 微控制器 或 Arduino 開發板

  • Arduino 声音模块

  • 1602 液晶屏

  • 16 MHz 晶振

  • 5V 電源



  1. 電路原理圖

  • 您可以使用聲音模組與 Arduino 進行組裝。以下是電路原理圖的示意圖:

  1. 程式碼範例

  • 您可以使用以下程式碼來製作分貝計。此程式碼將讀取聲音模組的數據並在液晶屏上顯示聲音級別:


#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”。

請注意,這只是一個簡單的示例,您可以根據您的需求進一步擴展和改進。祝您順利完成您的電子設備!🔊🌟

 

bottom of page