๐ก๏ธ ์จ๋ ์ผ์
- ํํํ ๋ถ๋ถ์ ๊ธฐ์ค
- ์๋ ๋ก๊ทธ ์ผ์๋ ์๋์ด๋
ธ์ ์๋ ๋ก๊ทธ ํ์ผ๋ก 0~1023 ๊น์ง ๊ฐ์ ํด๋นํ๋ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ
- 0~1023 ์ 10์ง์๋ก ๋ณํ๋ ๊ฐ์ด๋ค.
- ๋ฐ๋ผ์, V๊ฐ ์๋๊ธฐ ๋๋ฌธ์ V๋ก ๋ณํํด์ค์ผ ํ๋ค.
- ์ต๋ 1023์ผ ๋, 5V ์ฌ์ผ ํจ
- (5/1023)* ์๋ ๋ก๊ทธ ์ผ์ ๋ฐํ ๊ฐ = V
TMP36
- TMP36 ์ datasheet
- (0, 0.5), (50, 1.0)
- y(V) = ((0.5)/50) x(์จ๋) + 0.5
- y = ((0.5)/50) x + 0.5
- y : V
- x : ์จ๋
- ๊ทผ๋ฐ ํด๋น ์์ ์จ๋์ ๋ํ V ๊ฐ ๋ฐฉ์ ์์ => V์ ๋ํ ์จ๋๊ฐ ๋ฐฉ์ ์์ผ๋ก ๋ณํํด์ค์ผ ํจ!
๊ฒฐ๊ณผ : x = 100y - 50
void setup()
{
Serial.begin(9600);
}
void loop()
{
int n = analogRead(A0);
double v=(5/1023.0)*n; // ์๋ ๋ก๊ทธ ์ ํธ๋ฅผ V๋ก
double temp=(v-0.5)*(50/0.5);// V์ ๋ํ ์จ๋๊ฐ ๋ฐฉ์ ์์ผ๋ก
// ์์ ๊ฐ์ ๊ฒฐ๊ณผ double temp=100*v-50;
Serial.println(temp);
}
analogReference
- ์จ๋ ์ผ์๋ ์ต๋ 2V๊น์ง ๋ฐ์ ์ ์
- ๊ทธ๋ผ 5V๊น์ง๋ฅผ ์ธ ํ์๊ฐ ์๋ค.
- 5V / 1023 ๋ฒ์๊ฐ ์ข์์ ์ ๋ฐํ๊ฒ ์ธก์ ์ด๋ ค์.
- ๊ธฐ์ค์ ์ ๋ฎ์ถ์
- 3.3V / 1023 ๋ฒ์๊ฐ ๋์ด์ ์ ๋ฐํ๊ฒ ์ธก์
- ์ด๋ป๊ฒ?
- analogReference ๋ก ์ธ๋ถ ํ์ผ๋ก ๊ธฐ์ค์ ๋ฎ์ถ๊ธฐ
void setup()
{
Serial.begin(9600);
// ์ธ๋ถ ํ์ ๊ฝ์ ๊ธฐ์ค์ ์ ์ค์
analogReference(EXTERNAL);
}
void loop()
{
int n = analogRead(A0);
// ์จ๋ ์ผ์๋ ์ต๋ 2V๊น์ง ๋ฐ์ ๋ชป ์จ์ 5๋์ , 3.3์ ๋๋ ค์ ์ฐ๊ธฐ!
double v=(3.3/1023.0)*n; // ์๋ ๋ก๊ทธ ์ ํธ๋ฅผ V๋ก
double temp=100*v-50;// V์ ๋ํ ์จ๋๊ฐ์ผ๋ก
Serial.println(temp);
}