实验概述
本实验根据温度传感器的温度变化,利用蜂鸣器播放歌曲
当温度超过30度时,自动播放歌曲葫芦娃
实验所需硬件组件
- 无源蜂鸣器
- 温度传感器(DS18B20)
- Arduino UNO开发板
- 公母线
- USB线
蜂鸣器分为有源蜂鸣器和无源蜂鸣器,这里采用的是无源蜂鸣器
温度传感器(DS18B20)
Arduino UNO开发板
公母线
实验步骤
1. 硬件组装
无源蜂鸣器与Arduino UNO开发板的连接
- GND —— GND
- I/O —— 引脚9
- VCC —— 3.3V
温度传感器与Arduino UNO开发板的连接
- GND —— GND
- DQ —— 引脚7
- VCC —— 5V
最后用USB线将Arduino UNO开发板与电脑连接
2. 下载arduino开发软件
链接:https://downloads.arduino.cc/arduino-1.8.9-windows.zip
3. 下载源码
链接:https://github.com/zwj-state/Arduino-Uno.git
描述:
源码文件:Active.ino
库:Arduino-Temperature-Control-Library-master.zip
库:OneWire.zip
4. 导入代码以及库
导入源码:文件-打开
导入库(上一步骤中的库):项目-加载库-添加.zip库
5. 编译、上传
在下方见到“编译成功”、“上传成功”字样即完成本步骤
6. 查看串口监视器
通过对温度传感器的操作,改变温度,使得蜂鸣器播放/不播放音乐
源码
这里是引用
#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 7
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
float tempC = 0;
#define NOTE_D0 -1
#define NOTE_D1 262
#define NOTE_D2 293
#define NOTE_D3 329
#define NOTE_D4 349
#define NOTE_D5 392
#define NOTE_D6 440
#define NOTE_D7 494
#define NOTE_DL1 147
#define NOTE_DL2 165
#define NOTE_DL3 175
#define NOTE_DL4 196
#define NOTE_DL5 221
#define NOTE_DL6 248
#define NOTE_DL7 278
#define NOTE_DH1 523
#define NOTE_DH2 586
#define NOTE_DH3 658
#define NOTE_DH4 697
#define NOTE_DH5 783
#define NOTE_DH6 879
#define NOTE_DH7 987
//以上部分是定义是把每个音符和频率值对应起来,这里用NOTE_D+数字表示音符,NOTE_DH+数字表示上面有点的那种音符,NOTE_DL+数字表示下面有点的那种音符。
#define WHOLE 1
#define HALF 0.5
#define QUARTER <