top of page

STEM|如何利用arduino組合温度測量器

如何利用arduino組合温度測量器

我想製作一個電子項目, 利用arduino, DFPlayer, 當收到温度輸入後, 會播放不同的聲效, 可以怎樣製作?


製作這樣的電子項目需要以下步驟:

1. 硬體配置:

- 使用Arduino微控制器板,將DFPlayer模組連接到Arduino。

- 連接一個溫度感測器(例如DS18B20)到Arduino,以讀取溫度數據。

2. 軟體編程:

- 在Arduino IDE中編寫程式碼,使用DFPlayer庫來控制聲音播放。

- 使用溫度感測器庫來讀取溫度數據。

- 判斷溫度數據的範圍,並根據不同的溫度播放相應的聲效。

以下是簡單的示例程式碼,你可以根據你的需要進行修改:





#include <SoftwareSerial.h>

#include <DFRobotDFPlayerMini.h>

#include <OneWire.h>

#include <DallasTemperature.h>

#define PIN_MP3_RX 10 // 連接到DFPlayer的RX腳位

#define PIN_MP3_TX 11 // 連接到DFPlayer的TX腳位

#define PIN_ONEWIRE 2 // 連接到DS18B20的腳位

SoftwareSerial mp3Serial(PIN_MP3_RX, PIN_MP3_TX);

DFRobotDFPlayerMini mp3Player;

OneWire oneWire(PIN_ONEWIRE);

DallasTemperature sensors(&oneWire);

void setup() {

Serial.begin(9600);

mp3Serial.begin(9600);

if (!mp3Player.begin(mp3Serial)) {

Serial.println(F("Unable to begin:"));

Serial.println(F("1.Please recheck the connection!"));

Serial.println(F("2.Please insert the SD card!"));

while(true);

}

mp3Player.volume(15); // 設定音量,可自行調整

}

void loop() {

sensors.requestTemperatures();

float temperature = sensors.getTempCByIndex(0);

if (temperature < 25.0) {

// 溫度低於25度時播放聲音1

} else if (temperature >= 25.0 && temperature < 30.0) {

// 溫度介於25到30度時播放聲音2

} else {

// 溫度高於30度時播放聲音3

}

delay(5000); // 每隔5秒檢查一次溫度

}





請注意,上述程式碼僅供參考,你可能需要根據你的具體硬體連接和需求進行調整。確保已安裝DFPlayer庫和DS18B20庫,以及相應的Arduino套件。

Comments


bottom of page