์ค๋์ @uuu95๋์ด ์ง๋ฌธํ DHT11 ์คํ์ ๊ฐ์์๋ฎฌ๋ ์ดํฐ์์ ํ๋ฒ ๊ตฌํํด๋ณด๊ณ ์ถ์ด์ ์คํ์ ํ๊ฒ ๋์๋ค์. DHT11 ๋ถํ์ด ๊ฐ์์๋ฎฌ๋ ์ดํฐ์์ ์ ๊ณต๋์ง ์๊ธฐ์ TMP36 ๋ถํ์ผ๋ก ๋์ ํ์ฌ ์คํ์ ํ ๊น ํฉ๋๋ค. ๋ด์ฉ์ ๋ณด๋๊น ์จ๋๋ฅผ ์ฝ์ด์ LCD16x2 ๋ชจ๋ํฐ์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋๋ฐ 5์ด๋จ์๋ก ์ง์์ ์ผ๋ก ์ถ๋ ฅํ๊ณ ์ค์์น๋ฅผ ๋๋ฅด๋ฉด ํ์ฌ ์จ๋๋ฅผ ์ถ๋ ฅํ๊ณ ์ผ์ ์จ๋ ์ดํ๊ฐ ๋๋ฉด ํผ์์กฐ๋ถ์ ๊ฐ ๊ฒฝ๊ณ ์์ ์ธ๋ฆฌ๊ฒ ํ๋ ์คํ์ด๋๊ตฐ์. ํ๋ฒ ์ ๋ด์ฉ์ ๊ฐ์์๋ฎฌ๋ ์ดํฐ์์ ์ ๋๋ฆ๋๋ก ์ฌ๊ตฌ์ฑํ์ฌ ์คํ์ ํ๊ฒ ์ต๋๋ค.
์ฐธ๊ณ ๋ก ์ค๋ ์คํ์ ํ๊ธฐ์ ์ ์์ ๋งํฌ๊ฐ ๊ฑธ๋ฆฐ ์ฐธ๊ณ post๋ค์ ๊ฐ ๋ถํ์ ๋ํ ๊ธฐ์ด ๋ด์ฉ์ผ๋ก ๊ตฌ์ฑ๋์ด ์๊ธฐ ๋๋ฌธ์ ๊ฐ์
์ ๊ฐ ๋ถํ์ ์ฌ์ฉ๋ฒ์ ์ฌ์ ํ์ตํ์๊ณ ์ค์ธ์. ์์๋ ๋ถ๋ค์ ๊ทธ๋ฅ ๋์ด๊ฐ์
๋ ๋๊ณ ์ ์ค๋ณต๋๋ ๋ด์ฉ์ ๊ตฌ์ง ์ฒ์๋ถํฐ ์ค๋ช
์ ํ ํ์๋ ์๊ฒ ์ฃ .
์จ๋์ผ์์ ์ค์์น ๋ฒํด์ ์ฌ์ฉํ์ฌ ์จ๋๊ฐ์ ์๋ฆฌ์ผ ๋ชจ๋ํฐ๋ก ์ถ๋ ฅ์์ผ ์ฝ๋ฉ์ ์ฐ์ ํฉ์๋ค.
์ฝ๋ฉ์ 5์ด ๋จ์๋ก TMP35 ์ผ์์ ๊ฐ์ ์ฝ์ด์ ์จ๋์ ์ต๋๋ฅผ ์ถ๋ ฅํ๋๋ก ํ ๋ ค๊ณ ํ๋๋ฐ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๋์์ํค๊ธฐ ์ํด 2์ด ๋จ์๋ก ์์ ํ์ฌ ์จ๋์ ์ต๋๊ฐ ๋์ค๊ฒ ํ ์์ ์ ๋๋ค. ์ด๋ ์ค์์น ๋ฒํด์ ๋๋ฅด๋ฉด ํ์ฌ ์จ๋์ ์ต๋๊ฐ ์ถ๋ ฅ๋๊ฒ ์ค๊ณํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ 2์ด ๋จ์๋ก ์จ๋์ ์ต๋๊ฐ ์ถ๋ ฅ๋๋๋ฐ delay(2000) ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด 2์ด ๋์์ ์ค์์น๋ฅผ ๋๋ฌ๋ ๋ฐ์์ ํ์ง ์์ต๋๋ค. ๋๊ธฐ ์๊ฐ์๋ ์๋์ด๋ ธ๋ ํด๋จผ์ํ๊ฐ ๋๊ธฐ ๋๋ฌธ์ ์ค์์น๋ฅผ ๋๋ฅผ ์ ์๊ธฐ ๋๋ฌธ์ delay()ํจ์๋ฅผ ์ฌ์ฉํ์ง ์๋ delay ํจ๊ณผ๋ฅผ ๋ถ์ฌํด์ ์ ์ดํจ์ผ๋ก์จ ์ค์๊ฐ์ผ๋ก ์ค์์น๊ฐ ๋๋ฌ์ง๋ฉด ํ์ฌ ์จ๋์ ์ต๋๊ฐ ์ถ๋ ฅ๋๊ณ 2์ด ๋จ์๋ก ํ์ฌ ์จ๋์ ์ต๋๊ฐ ์ถ๋ ฅ๋๊ฒ ์ฝ๋ฉ์ ๋ง๋ค์ด ๋ด ์๋ค.
[delay()ํจ์ ์์ด delay] 2์ด ๋จ์๋ก if๋ฌธ ์์ ๋ช ๋ น๋ฌธ ์ํ
unsigned long timeVal=0; //์ด์ ์๊ฐ
void loop(){
if(millis()-timeVal>=2000){ //๋๋ ์ด ์๊ฐ 2์ด(2000)
2์ด ๋จ์๋ก ๋์;
timeVal=millis();
}
}
์ : ํ์ฌ์๊ฐ(millis) - ์ด์ ์๊ฐ(timeVal) > ๋๋ ์ด์๊ฐ(2000)
์ ๊ฐ์ด ์ฝ๋ฉ์ ํ๋ฉด 2์ด ๋จ์๋ก if๋ฌธ์์ ๋ช ๋ น๋ฌธ์ ์ํํฉ๋๋ค. ์ํํ๊ณ ์ํ ํ timeVal์ ์ํ๋ ์๊ฐ millis()์๊ฐ์ ์ ์ฅํจ์ผ๋ก์จ ๋ค์ 2์ด ์๊ฐ์ ๊ตฌํ ๋ ์ฌ์ฉํฉ๋๋ค.
[์ค์์น๋ฒํด ํ์ ๋ชจ๋๋ฒํด]
const int switchPin = 2;
void setup() {
pinMode(switchPin, INPUT_PULLUP);
}
void loop(){
if(digitalRead(switchPin)== LOW){
์ค์์น๊ฐ ๋๋ฌ์ง๋ ๋ช
๋ น๋ฌธ;
delay(500);
}
}
ํ์๋ชจ๋ ์ค์์น๋ฒํด์ด๋ผ์ pinMode()์ INPUT_PULLUP์ผ๋ก ์ ์ธ๋ฉ๋๋ค. ๋์์ ์ค์์น๋ฅผ ๋๋ฅด์ง ์๋ ์ํ๋ HIGH์ํ์ด๊ณ ์ค์์น๋ฅผ ๋๋ฅด๋ฉด LOW์ํ๊ฐ ๋ฉ๋๋ค ๊ทธ๋์, loop()ํจ์์์ ์ค์์น๊ฐ ๋๋ฌ์ก์ ๋ LOW๋ ๊ฐ์์ง๋ก ์ฒดํฌํ๊ฒ ๋ฉ๋๋ค.
[์จ/์ต๋ ๊ณ์ฐ]
float V=0;
float C=0;
float F=0;
void loop(){
V =fmap(analogRead(A0),0,1023,0,5); //mapํจ์ ์๋ฆฌ๋ฅผ ์ด์ฉํ ๋ค์ด๋ ํธ Voltage๊ณ์ฐ
//V = analogRead(A0)*5.0/1023;
C = (V-0.5)*100; //์ญ์จ C = (F-32)*1.8;
F = C*9.0/5.0+32; //ํ์จ F = C*1.8+32;
}
float fmap(long x, long in_min, long in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) /(float) (in_max - in_min) + out_min;
}
C, F ๊ณต์์ ๋์ ํ๊ธฐ ์ํด์ V๊ฐ์ ๊ตฌํ ๋ 0~5V ์ฌ์ด์ ์ ๋ฅ๊ฐ์ ์์์ผ ํฉ๋๋ค. ํ์ง๋ง, analogRead(A0)ํจ์๋ก ์ฝ๊ฒ ๋๋ฉด์ 0~1023์ ๊ฐ์ผ๋ก ์ฝ๊ฒ ๋๋๋ฐ ๊ทธ๋ฌ๋ฉด ์ฃผ์์ผ๋ก ์ฒ๋ฆฌํ ์์ผ๋ก ๊ณ์ฐ์ ํ๋ฒ ๋ ํด์ผ ํฉ๋๋ค. ๊ทธ๋์, map()ํจ์๋ฅผ ๋ณํ ์์ผ์ ๋ค์ด๋ ํธ๋ก 0~5V ์ฌ์ด์ ์ ๋ฅ๊ฐ์ ๊ตฌํ๋๋ก ์์ ํ์ต๋๋ค. ์๋ map()ํจ์๋ floatํ์ด ์๋๋ฐ ์ค์๊ฐ์ ๊ตฌํด์ผ ํด์ floatํ์ผ๋ก ๋ณํ ์ฌ์ฉ์์ ์ํจ์๋ก ์ง์ ๋ง๋ค์์ต๋๋ค ์ ๋ฅ๋ฅผ ๊ตฌํด์ C, F๋ฅผ ์์ ๋์ ํ์ฌ ์จ๋์ ์ต๋๋ฅผ ๊ตฌํ๊ฒ ๋ฉ๋๋ค.
const int switchPin = 2;
unsigned long timeVal=0;
float V=0;
float C=0;
float F=0;
void setup() {
Serial.begin(9600);
pinMode(switchPin, INPUT_PULLUP);
}
void loop() {
//TMP36์ฝ์ด ์จ๋์ ์ต๋ ๊ณ์ฐ
V =fmap(analogRead(A0),0,1023,0,5); //mapํจ์ ์๋ฆฌ๋ฅผ ์ด์ฉํ ๋ค์ด๋ ํธ Voltage๊ณ์ฐ
//V = analogRead(A0)*5.0/1023;
C = (V-0.5)*100; //์ญ์จ C = (F-32)*1.8;
F = C*9.0/5.0+32; //ํ์จ F = C*1.8+32;
if(digitalRead(switchPin)== LOW){ //์ค์์น ๋๋ฌ์ก๋์ง
output();
timeVal=millis(); //ํ์ฌ์๊ฐ์ ์ด์ ์๊ฐ๋ณ์์ ์ ์ฅ
delay(500);
}
if(millis()-timeVal>=2000){ //ํ์ฌ์๊ฐ-์ด์ ์๊ฐ์ ์ฐจ์ด 2000์ธ์ง ํ์ธ
output();
timeVal=millis(); //ํ์ฌ์๊ฐ์ ์ด์ ์๊ฐ๋ณ์์ ์ ์ฅ
}
}
//์จ๋์ ์ต๋ ์ถ๋ ฅ
void output(){
Serial.print("C : ");
Serial.println(C);
Serial.print("F : ");
Serial.println(F);
}
// TMP36์์ ์ฝ์ 0~1023๊ฐ์ 0~5V๋ก ๋ณํ
float fmap(long x, long in_min, long in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) /(float) (in_max - in_min) + out_min;
}
๋๋ ์ด ํจ์๋ฅผ ์ฌ์ฉํ์ง ์๊ธฐ ๋๋ฌธ์ ์ค์๊ฐ์ผ๋ก ๊ณ์ ์จ๋๊ฐ ์ธก์ ์ด ๋๊ณ ์ค์์น๊ฐ ๋๋ฌ์ง๋ฉด ๊ทธ๋ ํ์ฌ ์จ/์ต๋ ๊ฐ์ด ์๋ฆฌ์ผ๋ชจ๋ํฐ๋ก ์ถ๋ ฅ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ถ๋ ฅ๋ ์์ ์ด ์ด์ ์๊ฐ์ด ๋์ด ๋ค์ 2์ด ํ์ ์จ/์ต๋๊ฐ ์ถ๋ ฅ๋๋ค. ์ค์์น๊ฐ ์๋๋ฌ์ก๋ค๋ฉด 2์ด๋จ์๋ก ์จ/์ต๋๊ฐ ์ถ๋ ฅ๋๋ค.
2์ดํ ๋ถํฐ ์ง์์ ์ผ๋ก ์จ๋์ ์ต๋๊ฐ ์ถ๋ ฅ๋๋๋ฐ ์ค์์น ๋ฒํด์ ๋๋ฅด๋ฉด ๋ฐ๋ก ์จ๋์ ์ต๋๊ฐ ์ถ๋ ฅ๋ฉ๋๋ค. ์ถ๋ ฅ์๊ฐ์ ์ฌ๋ฌ๋ถ๋ค์ด 2000 ๋์ ์ ๋ค๋ฅธ ๊ฐ์ผ๋ก ์์ ํ์๋ฉด ์ํ๋ ์๊ฐ๋ ์ถ๋ ฅ๋๋๋ก ๋ง๋ค ์ ์์ต๋๋ค.
12๋ฒ ํ์ ํตํด ํผ์์กฐ๋ถ์ ์ ๊ฒฝ๋ณด์์ ์ถ๋ ฅํ๋ค.
if(์จ๋>50){
tone(12,523,1000/8); // ๋์์ผ๋ก 8๋ถ์ํ(์๊ธธ์ด)
delay(1000/4*1.30);
noTone(12);
}
์จ๋๊ฐ 50๋ ์ด์์ด๋ฉด ๊ฒฝ๋ณด์์ด ์ธ๋ฆฌ๊ฒ ๋ฉ๋๋ค. tone()~noTone()์ผ๋ก ๋์์ ๋์ด์ ๊ฒฝ๋ณด์์ด ์ธ๋ฆฌ๊ฒ ํ๋ค.
[์์ ์์ค] ์ถ๊ฐ๋ ์ฝ๋์์ญ๋ง ํ์ ํฉ๋๋ค.
... ์๋ต
const int piezoPin = 12;
void setup(){
... ์๋ต
}
void loop() {
... ์๋ต
//์จ๋๊ฐ 50๋์ด์์ด๋ฉด ๊ฒฝ๋ณด์
if(C>50){
output();
tone(piezoPin,523,1000/8); // ๋์์ผ๋ก 8๋ถ์ํ(์๊ธธ์ด)
delay(1000/4*1.30);
noTone(12);
timeVal=millis();
}
}
... ์๋ต
๋๋จธ์ง ๋ถ๋ถ์ ์์ ์์ค๋ ๋์ผํฉ๋๋ค. ์จ๋๊ฐ 50๋ ์ด์์ด๋ฉด ํด๋น ์จ๋/์ต๋๋ฅผ ์๋ฆฌ์ผ๋ชจ๋ํฐ์ ์ถ๋ ฅํ๊ณ ๊ฒฝ๋ณด์์ด ์งง๊ฒ ๋์ด์ ์ธ๋ฆฐ๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ฌ์๊ฐ์ ์ด์ ์๊ฐ์ผ๋ก ์ ์ฅํ๋ค. ์ฉ๋๋ ์จ๋๊ฐ 50๋ ์ดํ๋ก ๋จ์ด์ง๋๊น์ง ์ง์์ ์ผ๋ก ๊ฒฝ๋ณด์์ด ์ธ๋ฆฌ๊ฒ ํ๋ ๋ชฉ์ ์ด๋ผ๊ณ ์๊ฐํ์๋ฉด ๋๊ฒ ์ต๋๋ค.
์์งค๋ก ๋ง๋ค๋ค ๋ณด๋๊น ์๋ฆฌ๊ฐ ์๋๋ค์. ์ฐธ๊ณ ๋ก ์จ๋๊ฐ 50๋ ์ด์์ด ๋๋ฉด ์ฐ์์ผ๋ก ์จ๋์ ์ต๋๊ฐ ์ถ๋ ฅ๋๋ ๋ชจ์ต์ ๋ณด์ค๊บผ์์. ๊ทธ๋ ํผ์์กฐ๋ถ์ ๋ ๊ฐ์ด ์๋ฆฌ๊ฐ ๋์จ๋ค๊ณ ์๊ฐํ์๋ฉด ๋ ๋ฏ ์ถ๋ค์. ํผ์์กฐ๋ถ์ ๊ฐ ์ธ๋ฆฌ๋ ๋ช ๋ น๋ฌธ ์์ ์จ๋์ ์ต๋๊ฐ ๊ฐ์ด ์ถ๋ ฅ๋๋๋ก ํ๋ ๋ช ๋ น์ด ๋ค์ด ์์ผ๋๊น์. ๊ทธ๊ฑธ ๊ฐ์ํ์๊ณ ์ฐ์์ผ๋ก ์จ๋์ ์ต๋๊ฐ ๋์ค๋ ์ด๋ฏธ์ง ์์น๊ฐ ํผ์์กฐ๋ถ์ ๊ฐ ๊ฐ์ด ๊ฒฝ๊ณ ์์ ์ธ๋ฆฐ๋ค๊ณ ์์ํ์๋ฉด ๋๊ฒ ์ต๋๋ค. ๋จ์ ์ 50์ด์์ธ ๊ฒฝ์ฐ๋ ์ฐ์์ ์ผ๋ก ์จ๋๊ฐ ์ถ๋ ฅ๋์ง๋ง 50 ์ด์์ด์๋ค๊ฐ 50์ดํ๋ก ๋จ์ด์ง๋ฉด 2์ดํ์๋ ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ์ค์์น ๋ฒํด์ ๋๋ฌ์ ๋ฐ๋ก ๊ฒฐ๊ณผ๋ฅผ ํ์ธํ ์ ์์ง๋ง 2์ด๊ฐ์ ๋๋ ์ด ์๊ฐ์ด ์ฃผ์ด์ง๊ธฐ ๋๋ฌธ์ ์ด๋ถ๋ถ์ ๋๋ค๋ฅธ if๋ฌธ ๋ฝ์ ๊ฑธ์ด์ 50์ด์์๋ค๊ฐ ์ดํ๋ก ๋จ์ด์ง๋ ์๊ฐ์ if๋ฌธ ๋ฝ์ด ๊ฑธ๋ฆฐ ๋ฌธ์ฅ์ด ์ํ๋์ด ํ์ฌ์จ๋๋ฅผ ์ถ๋ ฅ๋๊ฒ ์์ ํ๋ฉด ๋ฉ๋๋ค. ์ด๋ถ๋ถ์ ์ฝ๋ฉํ์ง ์์์ต๋๋ค. ์์ ๋ก ํ๋ฒ ์ด๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋ณด์ธ์.
//LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(3, 4, 8, 9, 10, 11);
ํ์ด๋ฆ์ ์๋ณด์๊ณ ํด๋น ํ์ ์ฐ๊ฒฐํ์๋ฉด ๋ฉ๋๋ค. ์ด๋ ค์ฐ์๋ค๋ฉด ์ ๋งํฌ๋ ์ฌ์ ํ์ต ์๋ฃ์ ๊ฐ์
์ ์ฌ์ ํ์ต์ ํ๊ณ ์ค์ธ์.
์ ์ฐ๊ฒฐ์ด ์ข ๋ณต์กํ์ค๊บผ์์. ๊ทธ๋์ ์์์ ๋ถํฐ ๋๋ ์ ํ๋ก๋๋ฅผ ์์ฐจ์ ์ผ๋ก ๋ง๋ค์๋ค์.
LCD16x2 ๋ชจ๋ํฐ ์ถ๋ ฅํ๊ธฐ ์ํด์๋
#include
//LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(3, 4, 8, 9, 10, 11);
๋ฐ์ดํฐ 4๊ฐ์ ํ์ผ๋ก ํด์ ๊ธ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
void setup(){
lcd.begin(16,2); //๊ฐ๋กx์ธ๋ก
lcd.setCursor(0, 0); //์์์์น ์ฒซ๋ฒ์งธ์ค์ 0๋ฒ์งธ์นธ ์์น์์ ์์
lcd.print("Hello World"); //์์์์น์์ ๊ธ์๋ฅผ ์์๋๋ก ์ถ๋ ฅ
delay(1000);
lcd.clear(); //์ถ๋ ฅ๋ ๊ฐ์ ์ง์
}
์ ์ฃผ์์ ์ ํ์ธํ์๋ฉด ๋ฉ๋๋ค.
void output(){
lcd.clear(); //LCD16x2์ ๊ฐ์ ์ง์ฐ๊ธฐ
lcd.setCursor(0, 0); //์ฒซ๋ฒ์งธ์ค์ 0๋ฒ์งธ ์นธ ์์น
lcd.print("C : "); //๋ฌธ์์ด ์ถ๋ ฅ
lcd.setCursor(6, 0); // ์ฒซ๋ฒ์งธ ์ค 6๋ฒ์งธ ์นธ ์์น
lcd.print(C); //C(์จ๋๊ฐ) ์ถ๋ ฅ
lcd.setCursor(0, 1); //๋๋ฒ์งธ์ค์ 0๋ฒ์ฌ ์นธ ์์น
lcd.print("F : "); //๋ฌธ์์ด ์ถ๋ ฅ
lcd.setCursor(6, 1); //๋๋ฒ์งธ์ค์ 6๋ฒ์งธ ์นธ ์์น
lcd.print(F);
}
์ฌ์ฉ์ ์ ์ output() ํจ์๋ ์์์๋ Serial ๋ชจ๋ํฐ์ ์ถ๋ ฅํ๋ค๋ฉด ์ด์ ๋ LCD16x2์ ์ถ๋ ฅ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ Serial ๋์ ์ lcd๋ก๋ง ๋ณ๊ฒฝํด์ฃผ์๋ฉด ๋ฉ๋๋ค lcd์ ์ ค ์ฒ์ LCD16x2 ๊ฐ์ฒด๋ณ์๋ก ์ ์ธํ ๋ค์์ ๋๋ค. ์ฃผ์์ผ๋ก ๋ค ๋ฌ์๋์์ผ๋๊น ๊ฐ๋จํ ์ฝ์ด๋ณด์๋ฉด ๋ฉ๋๋ค.
lcd.setCursor(์นธ, ์ค) : ์ค, ์นธ์ ์์น๋ฅผ ๊ฐ๋ฆฌํด
lcd.print(๊ฐ) : ์ค, ์นธ์ ์์น์ ๊ฐ์ ์ถ๋ ฅ
์ด ๋๊ฐ์ ํจ์๋ง ์๋ฉด ์ฝ๊ฒ LCD16x2์ ๊ฐ์ ์ถ๋ ฅํ ์ ์์ต๋๋ค.
#include
//LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal lcd(3, 4, 8, 9, 10, 11);
const int switchPin = 2;
const int piezoPin = 12;
unsigned long timeVal=0;
float V=0;
float C=0;
float F=0;
void setup() {
pinMode(switchPin, INPUT_PULLUP);
lcd.begin(16,2);
lcd.setCursor(0, 0);
lcd.print("Hello World");
delay(1000);
lcd.clear();
}
void loop() {
V =fmap(analogRead(A0),0,1023,0,5); //mapํจ์ ์๋ฆฌ๋ฅผ ์ด์ฉํ ๋ค์ด๋ ํธ Voltage๊ณ์ฐ
//float V = analogRead(A0)*5.0/1023;
C = (V-0.5)*100; //์ญ์จ C = (F-32)*1.8;
F = C*9.0/5.0+32; //ํ์จ F = C*1.8+32;
if(digitalRead(switchPin)== LOW){
output();
timeVal=millis();
delay(500);
}
if(millis()-timeVal>=2000){
output();
timeVal=millis();
}
if(C>50){
output();
tone(piezoPin,523,1000/8); // ๋์์ผ๋ก 8๋ถ์ํ(์๊ธธ์ด)
delay(1000/4*1.30);
noTone(12);
timeVal=millis();
}
}
void output(){
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("C : ");
lcd.setCursor(6, 0);
lcd.print(C);
lcd.setCursor(0, 1);
lcd.print("F : ");
lcd.setCursor(6, 1);
lcd.print(F);
}
float fmap(long x, long in_min, long in_max, float out_min, float out_max)
{
return (x - in_min) * (out_max - out_min) /(float) (in_max - in_min) + out_min;
}
์ด ๊ฒฐ๊ณผ๋ ์์งค๋ก ํ๋ ค๋ค๊ฐ ์๋ฆฌ๋ ๋ค๋ฆฌ๋ ๊ฒฐ๊ณผ๋ฌผ์ด ์์ด์ผ ํ ๊ฒ ๊ฐ์์ ๊ทธ๋ฅ ๋์์์ผ๋ก ๊ฒฐ๊ณผ๋ฌผ์ ๋ง๋ค์๋ค์.
์ธ ํํธ๋ก ๋๋ ์ ์ค๋ช ์ ํ๋ค์. ํ๋ฒ์ ์ ๋ถ ๋ค ํฉ์ณ์ง ์ํ๋ก ์ค๋ช ์ ํ๋ฉด ์ข ์ฝ๋ฉ์ ์ด๋ ค์ ํ ์ ์๊ณ ํ๋ก๋๋ ๋๋ฌด ๋ณต์กํด ๋ณด์ผ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ ์ ์ค๋ช ํ์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก post๊ฐ ์ข ๊ธธ์ด์ก๋ค์. ์ค๋ช ๋ ์ฌ์ ํ์ต๋ด์ฉ์ ๋ค ๋บ๋ ค๊ณ ํ๋๋ฐ ๋นผ๋ฉด์ ์ค๋ช ์ด ์๋๋ ๋ถ๋ถ์ด ์์ด์ ์ด์ฉ ์ ์์ด ๋ณต์ต์ฐจ์์ผ๋ก ์ถ๊ฐํ๋ค์.
์๋ฌดํผ @uuu95๋์ด ์คํํ์๋ ์ฃผ์ ์ ๋ํด ๊ฐ์์๋ฎฌ๋ ์ดํฐ๋ก ์ฌ๋ฏธ์๊ฒ ์คํ์ ํ์
จ์ต๋๋ค. ์ฐธ๊ณ ๋ก ์ธํํธ๋ก ๋๋์ด์ง ํ๋ก๋๋ ๊ณต๊ฐํ๋ก๋์ ๋ค ์์ผ๋๊น ๊ฐ์
์ ํ๋ฒ ๊ฐ์์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ง์ ๋๋ ค๋ณด์๊ณ ์ด๋ป๊ฒ ๋์ํ๋์ง ์ดํด๋ณด์
จ์ผ๋ฉด ํฉ๋๋ค.