온도를 LED Matrix에 표시하기
나름 쓸만한 디바이스를 만들기 위해 온도계를 구상해 봤다. 지마켓에서 온도, 습도, 시각을 측정하는 디바이스를 5,400원에 구매할 수 있다. 라즈베리 파이 + sensehat = 120,000원 정도 하려나? 약 20배 비싸지만 인터넷에 연결되어 싸다고 세뇌시키고 있다. ^^! 그런데, sensehat에 있는 hts221이 보드에 붙어 있다. 실내 온도를 측정하지 않고 보드 온도를 측정 하고 있다.
HTS221로 받은 온도를 LED matrix에 표시했다. 숫자를 바로 LED matrix에 표시할 수 없어, 각 숫자에 맞춰 8 * 8 * 3가지 색을 정의 해야 한다. 이게 참 시간을 잡아먹는다. 왜 frame buffer를 써야 되는지 알 만했다.
기본 설정으로는 온도를 바로바로 측정할 수 없다. 02h 레지스터 ODR을 1Hz로 설정해야 바로 측정할 수 있다. 12.5Hz로 측정하면 왜 안되는지 잘 모르겠다.
kernel에서 float 형식을 사용할 수 없다. 모든 데이터를 받아 사용자 영역에서 float 형식으로 온도를 계산해야 할 듯 하다. 지금은 user program이 led matrix를 써 주면 바로 표시하지만, timer나 workqueue를 추가하여 필요할 때 표시하게 수정할 것 이다. 아니면 습도도 받아 그래프로 표시하던가. 온도, 습도를 표시하려면 그래프가 좋아 보인다.
참조 사이트
https://github.com/ControlEverythingCommunity/HTS221/blob/master/C/HTS221.c