{新手}利用L35温度警报【求指导】-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4160|回复: 1

{新手}利用L35温度警报【求指导】

[复制链接]
发表于 2013-3-10 00:55 | 显示全部楼层 |阅读模式
本帖最后由 Fighting 于 2013-3-10 01:31 编辑

我想利用一个L35和一个LED灯做一个简单的警报,是实现利用L35输出的模拟值为35度时,LED进入呼吸灯状态,但在代码上遇到了困难,因为输出的是一个模拟值,在if语句不能直接输入dat==35,大神帮帮忙!!!


哈哈,自己搞定了,原来是没有声明,只要把呼吸灯的代码放到while(1){}里面就行了,代码如下
int potPin = 0; //定义模拟接口0 连接LM35 温度传感器
int ledPin = 9; //定义LED接口
void setup()
{
Serial.begin(9600);//设置波特率
pinMode(ledPin, OUTPUT); //LED为输出模式
}
void loop(){
digitalWrite(ledPin,HIGH);  //先让等灭

while(1){          //不断循环
int val;//定义变量
int dat;//定义变量

val=analogRead(0);// 读取传感器的模拟值并赋值给val
dat=(125*val)>>8;//温度计算公式
Serial.print("Tep:");//原样输出显示Tep 字符串代表温度
Serial.print(dat);//输出显示dat 的值
Serial.println("C");//原样输出显示C 字符串
delay(500);//延时0.5 秒

*如果判断当dat输出的温度是大于或等于25时,进入呼吸灯警报状态*       
if(dat>=25)
{
  for(int i=1;i<1000;i++)
    {
      digitalWrite(ledPin, HIGH);
      delayMicroseconds(i);
      digitalWrite(ledPin, LOW);
      delayMicroseconds(1000-i);
    }
    for(int i=1;i<1000;i++)
    {
      digitalWrite(ledPin, HIGH);
      delayMicroseconds(1000-i);
      digitalWrite(ledPin, LOW);
      delayMicroseconds(i);
    }
digitalWrite(ledPin,HIGH);  //当温度低于25时,让LED等灭
}
}
}

代码

代码
发表于 2013-5-13 00:04 | 显示全部楼层
刚发了声音报警器的。。来看看你哈
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-28 15:46 , Processed in 0.075236 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表