STM์‚ฌ์˜ MCU์ธ STM32F103C8T6์„ ์‚ฌ์šฉํ•˜์—ฌ ์ ์™ธ์„  ์˜จ๋„ ์„ผ์„œ๋ฅผ I2C๋กœ ์ œ์–ดํ•ด๋ณด๊ฒ ๋‹ค.

 

์ ์™ธ์„  ์˜จ๋„ ์„ผ์„œ๋Š” ๋ฌผ์ฒด์—์„œ ๋ฐœ์‚ฐํ•˜๋Š” ์—ด(์˜จ๋„)์— ๋”ฐ๋ผ ํŠน์ • ์˜์—ญ์˜ ์ฃผํŒŒ์ˆ˜๊ฐ€ ๊ณ„์ธก์ด ๋˜๋Š” ์„ผ์„œ๋กœ ๋น„์ ‘์ด‰์‹ ์˜จ๋„ ๊ณ„์ธก์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ๋Œ€์‹  ์ •๋ฐ€๋„๊ฐ€ ๋–จ์–ด์ง„๋‹ค. ์ •๋ฐ€ํ•œ๊ฑด ๋น„์‹ธ๊ณ  ์„ผ์„œ๊ฐ€ ์—ด์ด ๋งŽ์ด ๋‚˜์„œ ๋ƒ‰๊ฐ ์žฅ์น˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค.

 

์•”ํŠผ ์ ์™ธ์„  ์˜จ๋„ ์„ผ์„œ๋Š” MLX90614๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

 

float readTemp(I2C_HandleTypeDef *hi2c)
{
  uint8_t IRbuffer[2];

//  buffer[0] = MLX90614_TOBJ1;

  HAL_I2C_Mem_Read(hi2c, (MLX90614_ADDRESS << 1), MLX90614_TOBJ1, 1, IRbuffer, 2, HAL_MAX_DELAY);

  // ์ฝ์–ด์˜จ ๋ฐ์ดํ„ฐ๋ฅผ ์˜จ๋„ ๊ฐ’์œผ๋กœ ๋ณ€ํ™˜
  temperature = (float)(((uint16_t)IRbuffer[1] << 8) | IRbuffer[0]);
  temperature *= 0.02;		// data / 50 = x K (Kelvin)
  temperature -= 273.15;	// K to 'c

  return temperature;
}

๋””๋ฐ”์ด์Šค ์–ด๋“œ๋ ˆ์Šค์™€ ์ฝ์„ ๋ช…๋ น์„ ์ ์–ด์ฃผ๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด ์˜จ๋‹ค.

์ค‘๊ฐ„์— ๋ฐ˜๋ณต ์Šคํƒ€ํŠธ๊ฐ€ ์žˆ์–ด์„œ HAL ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” MEM READ๋ฅผ ์‚ฌ์šฉํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

 

๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋Š” ์ผˆ๋นˆ(K) ๊ฐ’์œผ๋กœ ๋“ค์–ด์˜ค๋Š”๋ฐ ์šฐ๋ฆฌ๋‚˜๋ผ๋Š” ์„ญ์”จ(โ„ƒ)๋ฅผ ์“ฐ๋‹ˆ ๋ณ€ํ™˜์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. (-273.15 ํ•ด์ค€๊ฑฐ) ๊ทธ๋ฆฌ๊ณ  ๋ถ„ํ•ด๋Šฅ์ด 0.02โ„ƒ๋ผ์„œ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋ฅผ 50์œผ๋กœ ๋‚˜๋ˆ ์ฃผ๊ฑฐ๋‚˜ 0.02๋กœ ๊ณฑํ•ด์ค˜์•ผ ํ•œ๋‹ค. (์ผˆ๋นˆ, ์„ญ์”จ ๋ณ€ํ™˜์€ ์˜คํ”„์…‹์„ ์ฃผ๋Š” ๋„ˆ๋‚Œ?)

 

- ๋ -

 

ํ˜น์‹œ๋ผ๋„ ์œ„ ์„ผ์„œ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์‹ถ์€๋ฐ ์•„์ง ์—†๋‹ค๋ฉด ์•„๋ž˜์˜ ๋งํฌ์—์„œ ๊ตฌ๋งคํ•ด๋ณผ ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

MLX90614ESF ์ƒˆ๋กœ์šด MLX90614 ๋น„์ ‘์ด‰์‹ ์˜จ๋„ ์„ผ์„œ ๋ชจ๋“ˆ, ๋ณด์—ฌ์ง„ ๋ฐ”์™€ ๊ฐ™์ด, ํ•˜๋‚˜, 01 WHITE [ํŒŒ์ธ ํ‚ค์ธ ] GY-906 ์ ์™ธ์„ ์˜จ๋„์„ผ์„œ ๋น„์ ‘์ด‰ MLX90614 ์•„๋‘์ด๋…ธ, ๋‹จ์ผํ’ˆ๋ชฉ

 

์ฐธ๊ณ ๋กœ ์ž๋ฃŒํ˜•์ด float์ด๋ผ printfํ• ๋•Œ %f๋ฅผ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด cubeide์—์„œ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฒดํฌํ•ด์ค˜์•ผ ํ•œ๋‹ค.

๋ฐ˜์‘ํ˜•
  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ์— ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ

"์ด ํฌ์ŠคํŒ…์€ ์ฟ ํŒก ํŒŒํŠธ๋„ˆ์Šค ํ™œ๋™์˜ ์ผํ™˜์œผ๋กœ, ์ด์— ๋”ฐ๋ฅธ ์ผ์ •์•ก์˜ ์ˆ˜์ˆ˜๋ฃŒ๋ฅผ ์ œ๊ณต๋ฐ›์Šต๋‹ˆ๋‹ค."