Arduino
UNO學習350.溫度計LM35
此學習使用LM35DZ元件,是一顆有3隻腳的溫度感測元件,
測量範圍0~100度C,腳位為電源(印字面左)/訊號/GND,接錯會燒壞,
硬體準備
溫感元件LM35*1
LM35DZ溫感器的訊號關係為C=10mV=0.01V,
換算UNO輸入數據為電壓5V/1024=0.0049V,
即為腳位訊號*0.0049v/0.01v=1度C,
也就是訊號值*0.49就可得到幾度C,
並將得到的C值換算成F華氏=攝氏C*1.8+32,
打開監控視窗分別顯示”輸入訊號值+攝氏C+華氏F”
每5秒傳送一次,ArduBlock拼圖如下↓
int
_ABVAR_1_C = 0 ;
void
setup()
{
Serial.begin(9600);
}
void
loop()
{
Serial.print(
analogRead(0) );
Serial.println();
Serial.print( ( ( analogRead(0) * 0.0049
) / 0.01 ) );
Serial.print(" ");
Serial.print(
"C" );
Serial.println();
_ABVAR_1_C = ( ( analogRead(0) * 0.0049
) / 0.01 ) ;
Serial.print( ( ( _ABVAR_1_C * 1.8 ) +
32 ) );
Serial.print(" ");
Serial.print(
"F" );
Serial.println();
delay( 5000 );
}
先套用內建範例>Basics>AnalogReadSerial
先取得讀取數據是否正常,再進行數據轉換,
簡化半秒顯示度C,加上int整數指令+0.5為四捨五入,方便顯示在液晶上用
void setup()
{
Serial.begin(9600);
Serial.begin(9600);
}
void loop()
{
Serial.print( int ( ( ( analogRead(0) * 0.0049 ) / 0.01 )+0.5 ) );
Serial.println();
delay( 500 );
}
補充~非整數顯示小數1位
Serial.print((( analogRead(0) * 0.0049 ) / 0.01 ),1);
沒有留言:
張貼留言