라즈베리파이로 에어컨 제어하기 다섯번째 편입니다. 

드디어 부품이 왔고, Bread Board 에 부품을 하나씩 붙였습니다. 

예상은 했지만 모양은 별로입니다. 프로그램을 완벽하게 만들면, 만능기판을 사용해서 회로를 다시 구성해야겠습니다.  


각 부품들을 간단하게 테스트 했습니다. 본격적인 개발에 들어가기 앞서 각 부품들이 제대로 동작하는지 살펴보았습니다. 

 - 온도센서 : DS18B20 

   온도 오차 0.5'C, 측정단위 0.0625'C인 센서입니다. 공기 온도의 상승과 하락에 따라 빠른 반응을 보여주어서 만족스럽습니다. 여러가지 모양이 있는데 저는 트랜지스터와 비슷한 모양을 선택했습니다. 브레드보드에 집어 넣기 가장 쉬운 모양이어서 선택했습니다.  

   W1-GPIO 를 사용하면 어렵지 않게 값을 읽어올 수 있습니다. 다음과 같은 파일에 텍스트 형식으로 온도가 저장되어 있어 쉽게 온도 값을 얻어올 수 있습니다. 너무 쉽게 되어서 놀랬습니다. W1-GPIO를 사용하지 않고 직접 코딩하려면 좀 복잡하니 직접 코딩하실 계획이라면 이 부품 대신 다른 것을 선택하는 것이 좋습니다.

   /sys/bus/w1/devices/28-00000697357a(부품ID)/w1_slave

  에어컨에서 찬바람이 나오면 실내 온도 하락을 바로 확인할 수 있습니다. 반응이 빨라서 좋네요. 


 - 온습도센서 : RHT-01

   온도 오차 2'C 습도 오차 5%인 센서입니다. 측정단위로 1'C, 1%입니다. 
   온도측정 값은 쓰지 않고 습도 측정을 위해서 구매한 센서입니다. 실내에 다른 습도계는 50%근처인데 이 센서를 통해 얻어낸 값은 34%라 값이 정확한지 의문이 생깁니다. 시간이 지난 후 습도 값이 믿을만한지 검증해보겠습니다. 1개의 선을 이용하여 Input/Output를 처리합니다. 40bit가 전송되어 옵니다. 0과 1을 구분하는 방법이 신호의 길이인데, Real Time을 보장하지 않는 Linux위에서 Python으로 신호를 읽어오니 시간에 따른 오차가 생길 때가 있습니다. Checksum으로 검증하면 되긴하는데 Checksum도 같이 틀려서 잘못된 값을 읽어오는 경우도 있습니다.  

 - IRLED : TSAL7400
   처음에 IRLED를 통해 리모컨을 흉내낸 신호를 발사했을 때 기기에서 아무 반응이 없어 2-3시간을 삽질하게 만든 녀석입니다. LED 끝 부분을 기준으로 20도 안으로 들어와야 기기가 작동합니다. IRLED 중 각도가 큰 부품이 있다면 그것으로 바꾸어봐야겠습니다. 각도가 맞지 않으면 작동하지 않아 회로에서 구성하기 어렵네요. 

 - IR수신 : TSOP38238

   이것도 트랜지스터랑 비슷하게 생겼습니다만, 크기는 크게 생겼습니다. 아무 문제 없이 작동합니다. 리모컨을 이용하여 신호를 발사하면 잘 수신합니다. 


이제 본격적인 프로그래밍을 해야합니다. Python을 이용하여 구성을 할 것이고 Python으로 커버되지 않는 부분이 있다면 C로 도전하겠습니다.


Posted by Picky Kang
,