基于arduino系统的全自动智能温度感应亮灯提示装置

该程序实现了一个基于LM35温度传感器的灯控系统。当温度高于30摄氏度时,灯常亮;低于30摄氏度时,灯闪烁。系统使用Arduino平台,通过读取模拟接口0的温度值,利用digitalRead和analogRead函数控制数字接口的LED状态,并通过Serial.println输出温度值。

温度高于30摄氏度灯常亮
温度低于30摄氏度灯闪烁

int ledpin = 11; //定义数字11 接口
int inpin = 7; //定义数字7 接口
int x, y;
bool ff;
bool flag;
int potPin = 0; //定义模拟接口0 连接LM35 温度传感器
int ledPin = 12; //定义数字12 接口
bool check() {
  x = digitalRead(inpin); //读取数字7 口电平值赋给x
  if (x && !y) {
    if (ff) ff = false;
    else ff = true;
  }
  y = x;
  if (ff) digitalWrite(ledpin, LOW);
  return ff;
}
void setup() {
  pinMode(ledpin, OUTPUT); //定义小灯接口为输出接口
  pinMode(inpin, INPUT_PULLUP); //定义按键接口为输入接口
  Serial.begin(9600);//设置波特率
}
void loop() {
  check();
  if (!ff) {
    int val1;//定义变量
    int dat;//定义变量
    val1 = analogRead(0); // 读取传感器的模拟值并赋值给val
    dat = (105 * val1) >> 8; //温度计算公式
    Serial.print("Tep:");//原样输出显示Tep 字符串代表温度
    Serial.print(dat);//输出显示dat 的值
    Serial.println("C");//原样输出显示C 字符串
    delay(10);//延时0.01 秒
    if (dat <= 30) {
      digitalWrite(ledPin, HIGH); //点亮小灯
      int i;
      for (i = 1; i <= 500; i++) {
        delay(1);
        if (check()) i = 500;
      }
      digitalWrite(ledPin, LOW); //熄灭小灯
      for (i = 1; i <= 500; i++) {
        delay(1);
        if (check()) i = 500;
      }
    }
    else {
      digitalWrite(ledPin, HIGH);
      if (check()) digitalWrite(ledPin, LOW);
    }
  }
}

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值