Arduino临时工;带路

Arduino临时工;带路,arduino,led,temperature,Arduino,Led,Temperature,我有arduino uno r3,温度传感器lm335z和2个led。 我在网上找到了这个代码 float celsius = 0, kelvin=0; void setup() { Serial.begin(9600); } void loop() { kelvin = analogRead(0) * 0.004882812 * 100; celsius = kelvin - 273.15; Serial.print("Celsius: "); Serial.pri

我有arduino uno r3,温度传感器lm335z和2个led。 我在网上找到了这个代码

float celsius = 0, kelvin=0;

void setup()
{
  Serial.begin(9600); 
}

void loop()
{
  kelvin = analogRead(0) * 0.004882812 * 100;
  celsius = kelvin - 273.15; 
  Serial.print("Celsius: ");
  Serial.println(celsius);                  
  //Serial.print("Kelvin: ");
  //Serial.println(kelvin);
  Serial.println();
  delay(10000); 
}
并且可以很好地处理这个模式

我添加了两个带有此代码的led:

float celsius = 0, kelvin=0;
int led_green = 13;
int led_red = 12;

void setup()
{
  Serial.begin(9600);
  pinMode(led_green, OUTPUT);
  pinMode(led_red, OUTPUT); 
}

void loop()
{
  kelvin = analogRead(0) * 0.004882812 * 100;
  celsius = kelvin - 273.15; 
  Serial.print("Celsius: ");
  Serial.println(celsius);                  
  //Serial.print("Kelvin: ");
  //Serial.println(kelvin);
  Serial.println();
  if (celsius <= 25.00)
  {
    digitalWrite(led_green, HIGH); 
    digitalWrite(led_red, LOW); 
  }
  else
  {
    digitalWrite(led_green, LOW); 
    digitalWrite(led_red, HIGH); 
  }
  delay(10000); 
}
float摄氏度=0,开尔文=0;
int led_绿色=13;
int led_红色=12;
无效设置()
{
Serial.begin(9600);
引脚模式(led_绿色,输出);
引脚模式(led_红色,输出);
}
void循环()
{
开尔文=模拟读数(0)*0.004882812*100;
摄氏度=开尔文-273.15;
连续打印(“摄氏:”);
串行打印项次(摄氏度);
//连续打印(“开尔文:”);
//串行打印Ln(开尔文);
Serial.println();
如果(摄氏度是因为

kelvin = analogRead(0) * 0.004882812 * 100;
因此,ADC的每一步都意味着约0.5度的温差。因为您在草图中没有指定任何内容,所以电压参考是电源电压。仅用一个LED加载Arduino的输出(就像您所做的那样)可能会影响50-100 mV量级的电源电压。这反过来会影响温度读数几度

您可以在中找到此影响的详细分析

因此,这个问题可以通过在电路中添加LED来解释。

因为

kelvin = analogRead(0) * 0.004882812 * 100;
因此,ADC的每一步都意味着约0.5度的温差。因为您在草图中没有指定任何内容,所以电压参考是电源电压。仅用一个LED加载Arduino的输出(就像您所做的那样)可能会影响50-100 mV量级的电源电压。这反过来会影响温度读数几度

您可以在中找到此影响的详细分析


因此,这个问题可以通过在电路中添加LED来解释。

因此,您的温度读数出现了一两度的偏差?我不确定我是否会对此过于担心。此外,您似乎没有正确连接温度传感器。3个针脚应该连接起来-这只是示意图上的“输入错误”吗?因此您的温度读数是正确的差一两度?我不确定我会不会太担心这个问题。而且,看起来你没有正确连接温度传感器。3个针脚应该连接好-这只是示意图上的“打字错误”吗?