Arduino nano A0~A7可以作为输入模拟端口在此示例中接A7
实验一
串口输出温度值
代码
void setup()
{
Serial.begin(9600);
}
void loop()
{
int val, dat;
val = analogRead(A7);
dat = val * (5 / 10.24); // 换算出温度
Serial.print("Tep: ");
Serial.print(dat);
Serial.println("C");
delay(1000);
}
演示
image.png
实验二
当温度超过22℃时声光报警
电路图.jpg代码
int LED1 = PD2;
int LED2 = PD4;
int beep = PD6;
void setup()
{
Serial.begin(9600);
pinMode(LED1,OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(beep, OUTPUT);
}
void loop()
{
int val = analogRead(PIN_A7);
int dat = val * (5 / 10.24);
Serial.print("Tep:");
Serial.print(dat);
Serial.println("C");
delay(500);
if (dat > 22)
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(beep, HIGH);
delay(100);
digitalWrite(LED1, LOW);
digitalWrite(LED2, HIGH);
digitalWrite(beep, LOW);
delay(100);
}
else
{
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(beep, HIGH);
}
}
演示
image.png
实验过程中发现温度跳跃离谱 这是个bug太离谱啦 还不知道是什么原因 老中医有尝试更换lm35模块重试但并没什么屌用~ 知道什么原因的伙伴可以在评论区发言 一起学习 共同进步
网友评论