아두이노 기초 강좌 11 – 온습도계 만들기

아두이노 기초 강좌는 아두이노를 처음 접하시는 전자분야 비 전공자를 위한 강좌입니다. 이해를 위해서는 간단한 프로그래밍 지식이 필요할 수 있습니다. 프로그래밍이 처음이라면 [아두이노 프로그래밍 기초] 강좌를 먼저 읽으시길 권해 드립니다.

=============================================================

앞서 예고한대로 이제껏 학습한 내용으로 간단한 프로젝트를 하나 해보겠습니다.

바로 탁상용 온습도계를 만드는 프로젝트입니다. 이전 강좌에서 학습한 온습도 센서, 서보모터를 이용해서 현재 온습도를 바늘로 표시해주는, 그래서 아날로그 온습도계처럼 보이도록 하는 프로젝트입니다.

준비물 : 아두이노 x 1, 온습도 센서 x 1, 서보모터 x 2, 연결 케이블(Dupont cable) 다수, 필요한 경우 저항 및 브레드 보드 등 (+ 외형을 만들기 위한 준비물)

기본 원리는 간단합니다. 현재 온습도를 센서로 측정하고, 측정된 2개의 센서값을 10~170 사이의 값으로 전환한 다음, 2개의 서보모터를 이용해서 해당 온습도를 바늘로 표시해주는 겁니다. (0′, 180′ 와 같이 동작각도의 끝 지점에서는 서보모터 종류에 따라 제대로 동작하지 않는 경우가 있어서 적당히 여유를 둡니다.)

온습도 센서와, 서보모터 강좌에서 사용한 예제를 이용하면 직접 제작이 가능한 수준이므로, 한번 직접 제작해 보시기 바랍니다. 여기서는 제작시 생각해야할 문제점과 팁 몇 가지만 언급하겠습니다.

  • 서보모터에 부착할 핀의 위치 : 서보모터에 바늘을 부착할 때 바늘의 위치가 원하는 동작범위 안에 있도록 고려해줘야 합니다.(영점을 조정해야 하죠) 그러기 위해서 온습도계에 전원을 넣었을 때 바늘이 10′ ~ 170′ 사이를 한번 왕복하도록 해줍니다. 그걸보고 바늘의 위치를 적당히 수정해주면 되겠죠. setup() 함수 안에서 이 동작을 하도록 해주면 됩니다.
  • 서보모터를 부드럽게 움직이려면 : 서보모터 동작코드 servo.write(angle); 를 사용할 때 한번에 목표지점의 값을 넣지 마시고, 반복문 안에서 원하는 각도까지 1’씩 변화시켜 보세요. 조금씩 움직일 때 마다 delay 를 줘서 움직이는 속도를 적당히 조절해 보세요.
  • 저는 온도 표시용과 습도 표시용 서보모터 2개를 사용하지만 부품에 여유가 없다면 하나만 사용하셔도 됩니다.

제가 작성한 온습도계는 완성되면 아래 “하드카피 프로젝트”  게시판에 올려두도록 하겠습니다.

하드카피 프로젝트 게시판 : https://www.hardcopyworld.com/?cat=55

제작이 완료되셨나요? 제작한 온습도계에 추가로 모듈을 붙여서 다양하게 활용하실 수도 있습니다. 디스플레이 모듈을 붙여서 아날로그+디지털 느낌을 내셔도 좋구, 블루투스나 WiFi 모듈을 붙여서 다른 기기나 인터넷과 연동하셔도 좋습니다. 이런 부분은 초심자가 당장 하기는 힘들기 때문에 차차 강좌를 진행해 나가면서 업그레이드 할 수 있도록 하겠습니다.

===============================================================

이 문서는 작성자의 동의없이 개인적인 목적 외의 상업적인 목적으로 활용되어서는 안됩니다.

이 문서의 일부 혹은 전체를 수정, 삭제, 재배포 하여서는 안됩니다.

작성자 : GodsTale (godstale@hotmail.com)  

You may also like...