温度高于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);
}
}
}

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

被折叠的 条评论
为什么被折叠?



