温度报警器(李舒欣)

2015-04-121万
AI 快速预览详细 收起
本文介绍了如何使用LM35温度传感器、LED和蜂鸣器制作一个温度报警器。项目包括硬件清单、电路图和程序代码。通过这个项目,孩子们可以学习温度检测和报警的基本原理,并动手实践。最终效果是当温度超过27摄氏度时,LED亮起并蜂鸣器发出警报声。难度适中,适合STEM教育场景。
在温度传感器,LED闪烁和蜂鸣器报警的基础上,将三者结合,制作出温度报警器。
实验器材
1 X  LM35温度报警器(李舒欣)图2
1 X  蜂鸣器温度报警器(李舒欣)图3
1 X  LED温度报警器(李舒欣)图4
1 X  220欧电阻温度报警器(李舒欣)图5
电路图温度报警器(李舒欣)图6

程序代码
  1. float sinVal;            
  2. int toneVal;
  3. int ledpin = 5;
  4. unsigned long tepTimer ;   
  5. void setup(){
  6.     pinMode(8, OUTPUT);        // 蜂鸣器引脚设置
  7.     Serial.begin(9600);    //设置波特率为9600 bps
  8. pinMode(ledpin, OUTPUT);    // LED引脚设置
  9. }
  10. void loop(){
  11.     int val;               // 用于存储LM35读到的值
  12.     double data;          //用于存储已转换的温度值
  13.     val=analogRead(0);   //LM35连到模拟口,并从模拟口读值
  14.     data = (double) val * (5/10.24);  // 得到电压值,通过公式换成温度
  15.      
  16.     if(data>27){        //  如果温度大于27,蜂鸣器响   
  17.           digitalWrite(ledpin,HIGH) ;  // LED亮
  18.           for(int x=0; x<180; x++){
  19.             //将sin函数角度转化为弧度
  20.             sinVal = (sin(x*(3.1412/180)));
  21.             //用sin函数值产生声音的频率
  22.             toneVal = 2000+(int(sinVal*1000));
  23.             //给引脚8一个
  24.             tone(8, toneVal);
  25.             delay(2);
  26.      }   
  27.     } else {    // 如果温度小于27,关闭蜂鸣器
  28.            noTone(8);          //关闭蜂鸣器
  29.     }
  30.      
  31.     if(millis() - tepTimer > 500){     // 每500ms,串口输出一次温度值
  32.              tepTimer = millis();
  33.              Serial.print("temperature: ");     // 串口输出“温度”
  34.              Serial.print(data);               // 串口输出温度值
  35.              Serial.println("C");              // 串口输出温度单位
  36.        }
  37. }
复制代码

实物连接
温度报警器(李舒欣)图1

注意事项
一.在连接LED时需要一个限流电阻,让LED不烧坏
二.  有源蜂鸣器与无源蜂鸣器的区别:
* 注意:这里的“源”不是指电源,而是指震荡源。
也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫
而无源内部不带震荡源,所以如果用直流信号无法令其鸣叫。必须用2K-5K的方波去驱动它
有源蜂鸣器往往比无源的贵,就是因为里面多个震荡电路
无源蜂鸣器的优点是:
1. 便宜
2. 声音频率可控,可以做出“多来米发索拉西”的效果
3. 在一些特例中,可以和LED复用一个控制口
有源蜂鸣器的优点是:程序控制方便。



创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
qq815076543322
qq815076543322
再把学生的制作过程发上来 更好
- 没有更多了 -