firstsensor는 내 lm335z 출력입니다.arduino가있는 LM335Z에서 Celsius를 출력하는 방법은 무엇입니까?
int firstSensor = 0;
int secondSensor = 0;
int thirdSensor = 0;
int inByte = 0;
void setup()
{
Serial.begin(9600);
establishContact(); // send a byte to establish contact until receiver responds
}
void loop()
{
if (Serial.available() > 0) {
inByte = Serial.read();
firstSensor = analogRead(0);
delay(10);
secondSensor = analogRead(1);
thirdSensor = analogRead(2);
Serial.print(firstSensor, DEC);
Serial.print(",");
Serial.print(secondSensor, DEC);
Serial.print(",");
Serial.println(thirdSensor, DEC);
}
}
void establishContact() {
}
작은 부동 소수점 상수로 곱하면 절대로 값을 얻지 못합니다. 부동 소수점은 부정확하며 종종 정확한 상수 인 5/1024 = 0.048828125를 입력하지 않습니다. 마찬가지로 계산 된 범위가 아니므로 A/DC 변환에 매우주의하십시오. ATmega328 (Arduino의 경우 uMC)에서 1023의 A/DC 값은 1024가 아니라 Vcc (공급 전압)와 같습니다. 즉, A0 핀이 Vcc 일 때 analogRead (A0)는 1023을 반환합니다. 값으로 0.00488을 사용하면 4.88mv (또는 그 이상 - 이전 참조)만큼 벗어납니다. 확인하려면 1023 * 0.00488 = 4.99224 또는 1 * K가 너무 낮습니다. –