아두이노 화분 급수 시스템
처음 아두이노라는 것을 이용해서 화분에 물을 주는 시스템을 만들었다.
어떻게 만드냐면 그냥 인터넷에 찾아보면 다 나온다.
하지만 그것도 어느정도 기본 지식이 있어야 따라하기가 가능하다.
나는 하드웨어에 대해서는 아무것도 몰랐고 심지어 부품구매도 어려웠다. 주변에서 쉽게 파는 것도 아니요 11번가 지마켓 이런 곳에서도 파는 것이 아니다.
그래서 그 과정들을 적어본다.
우선 부품을 구매하기전에 어떻게 구성할지부터 고민했다.
우선 아두이노가 필요했고, 수중모터, 수중모터에 연결할 호스, 자체 전원을 이용하기 위한 전원 홀더, 그리고 하는 김에 LCD 도 해보고 싶어서 그냥 LCD도 사려고 했다.
아두이노는 워낙 유명해서 지마켓이나 옥션과 같은 오픈 마켓에서 쉽게 찾을 수 있었다. 그런데 가격에서 미묘하게 차이가 났다.
그 미묘한 가격은 다음과 같은 요인에서 차이가 났다.
USB 케이블 제공여부, 전원 아답터 제공여부, 케이스 제공여부, 기타 공급처의 마진.
위의 것들은 모두 이해할 수 있었으나, 묘한 것이 있었다.
바로 아두이노와 아두이노 R3다.
아두이노는 버전이 여러개가 있고 R3는 최신 버전이다. 조금 저렴했던 아두이노는 그냥 아두이노였다. 기능이 개선되서 R3 가 있었는데, 값싼 것은 그냥 재고였던 것이다. 화분에 물주기 시스템은 특별한 기능이 들어가는 것은 아니어서 어떤 아두이노를 사용해도 무관했지만, 그냥 R3를 샀다.
모터의 경우 자료를 찾아보니 모터가 정지하거나 역방향으로 움직일 경우 전류과 역류해서 모터나 아두이노가 고장나는 경우가 있다고 했다.
그래서 전류가 역류하지 못하도록 다이오드를 설치한다. 그러면 저항도 연결하고, 뭐 트랜지스터 이런 것도 같이 연결해야하는 것 같다.
그런데 이런 것들을 한 번에 모듈로 만든 것이 있었다. MOSFET IRF540 오~ 좋아.
그리고 수중 펌프에 연결할 호스를 찾는 것이 쉽지 않았고...
별도의 전원(건전지)을 두고 싶었는데, 어떤 것을 사야하는지 몰라서 해맸고.(‘전원홀더’라고 검색하면 됨)
LCD를 연결하고 싶었는데, 찾고 보니 I2C LCD 가 있었다. LCD를 연결하려면 선을 20개 정도 연결해야 하는데 이를 4개로 줄여주는 칩이 달린 LCD가 I2C LCD였다. I2C를 연결하면 코딩이 간결해진다.
빵판은 있었고, 빵판에 전원을 연결해주는 빵판파워, 전압센서, 납, 인두, 토양습도센서, 릴레이등 그냥 여분으로 몇개 더 샀다.
릴레이는 전자식 스위치인데, 전원을 연결해주면 전류가 흐르고 연결하지 않으면 연결이 끊어지도록 하는 장치다. 그냥 샀었는데, 나중에는 이것이 신의 한수였다. (납과, 인두 등은 아직도 사용하지 못하고 있다.)
릴레이
아래는 부품을 구매할 때 적은 메모이다.
아두이노
http://item.gmarket.co.kr/Item?goodscode=899290989&pos_shop_cd=SH&pos_class_cd=111111111&pos_class_kind=T&keyword_order=%be%c6%b5%ce%c0%cc%b3%eb&keyword_seqno=16529400039&search_keyword=%ec%95%84%eb%91%90%ec%9d%b4%eb%85%b8 6760원
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B554552506 7300원
모터
http://mechasolution.com/shop/goods/goods_view.php?goodsno=330402&category= 2200원
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B547212102 5300원
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B226935687 9500원
모터제어
- TIP120 트랜지스터
- MOSFET IRF540
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B529899632 1500원
https://www.devicemart.co.kr/goods/view.php?seq=1327605 1800원
http://vctec.co.kr/product/irf520-%EB%AA%A8%EC%8A%A4%ED%8E%AB-%EB%AA%A8%EB%93%88-irf520-mosfet-module/11003/
http://forum.hobbycomponents.com/viewtopic.php?f=76&t=1872
https://blog.naver.com/roboholic84/220467544049
https://www.devicemart.co.kr/1361309 2660원 2채널
호스
http://mechasolution.com/shop/goods/goods_view.php?goodsno=330579&category=050007
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B257865059
전원홀더
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B279272153
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B565316283 3960원
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B279741467 3300원
토양습도센서
태양열전지
빵판파워
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B276024015 4000원
전압센서
http://item.gmarket.co.kr/Item?goodscode=1222686538&pos_shop_cd=SH&pos_class_cd=111111111&pos_class_kind=T&keyword_order=%c0%fc%be%d0%bc%be%bc%ad&keyword_seqno=16529562549&search_keyword=%ec%a0%84%ec%95%95%ec%84%bc%ec%84%9c 3500원
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B478933318 660원
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B400445109 1500원
납
인두
http://itempage3.auction.co.kr/DetailView.aspx?itemno=A575553608 7900원
전압계
LCD
http://item.gmarket.co.kr/Item?goodscode=1175038973&pos_shop_cd=SH&pos_class_cd=111111111&pos_class_kind=T&keyword_order=I2C+LCD&keyword_seqno=16529590959&search_keyword=I2C+LCD 2900원
http://itempage3.auction.co.kr/DetailView.aspx?itemno=B450362551 4500원
위의 문제는 부품소자 보다 택배비가 더 비싸서 살때 몇몇개를 더 살 수 밖에 없었다는 것이다.
하지만 그래도 어쩔 수 없이 사야했다.
장치는 택배 상자에 실리콘을 붙여 사용했는데, 약간 실수였다.
택배상자 자체가 품질이 좋지 않아서 실리콘을 대도 실리콘이 아닌 종이가 찢겨져 버려 잘 고정이 안되었다.
이럴 줄 알았으면 좀 더 연구해서 아크릴로 해볼 걸 하는 후회가 남았다.
소스는 인터넷에 많이 돈다. 그걸 참고 했다.
아두이노는 OUT 전원이 5V다. 모터는 전원을 많이 먹기 때문에 보통 자체 전원을 이용한다고 한다.
시스템은 토양센서로 일정 이하의 수분이 감지되면 펄프로 물을 보내게 되는데, 이때 아두이노의 출력값을 모터에 직접 연결했었다.
전원은 노트북에 USB를 연결했었고. 그랬더니 모터가 돌다가 말았다.
처음에는 그랬는데, 나중에는 아예 돌지도 않았다. 아무래도 아두이노의 출력전원이 원인이라 생각했다.
아두이노의 전원에 직접 연결해보니 이번에는 모터가 잘 움직였다. 하지만 LCD가 모터가 동작할때마다 꺼져 버렸다.
USB로 연결한 전원에는 모터와 LCD를 같이 돌리기엔 무리로 보였다.
그래서 이번에는 모터에 9V 건전지를 자체적으로 연결해버렸다. 이러면 잘 될 줄 알았다.
그런데.... 안됐다.
수분정보를 받아서 출력으로 모터에 트리거를 줘야 하는데, 이 신호가 문제였다.
모터에 전원을 바로 연결하면 동작하는데, 문제는 모터에 항상 전원을 주는 것이 아니라 수분이 부족할 때 줘야하기 때문에 항상 전원에 바로 연결할 수는 없었다.
이 때 등장하는 것이 바로 위의 신의 한 수였다.
모터에는 직접 전원을 연결하고 거기에 릴레이를 달고 트리거 신호를 릴레이에 주었다.
릴레이는 트리거에서 오는 5V 신호를 잘 입력받았고, 5V가 오면 릴레이는 전원이 연결되어 모터에 직접적으로 9V의 전원을 바로 보낼 수 있었다.
고로 모든게 잘 동작했다.
PS 1.5V 건전지를 직렬로 6V연결하여 아두이노에 연결하였을 경우, LCD 달아서인지 6일을 가지 못했다.
LCD는 3일이 지난 후부터는 백라이트가 약해서 글씨를 알아 볼 수 없었다.
지금은 USB 전원을 그냥 이용하고 있다. 이게 전원을 많이 소비하는 것 같다.
PS 시간이 점점 지나더니 토양의 수분을 점점 제대로 인식하지 못하게 되었다. 수분을 측정하기 위해 흙속에 넣어둔 센서가 녹이 슬어서 센서로서의 기능을 아예 못하게 된 것. 수분센서가 물에 녹이 슬다니...
PS 여러모로 종합해본 결과 아두이노는 코딩연습을 하는 장난감 밖에 하지 못한다. 뭔가 제대로 동작하려면 제대로 된 출력이 있어야 하는데, 기껏 장남감 모터나 돌리니 출입문 하나를 열지 못한다. 그러기 위해서는 제법 비싼 모터를 사야 하는데, 그 비싼 모터를 장남감에 열결할 수는 없지 않나? IOT라고는 하지만 건전지를 연결해도 1주일도 못가는... 이건 어디 밖에서 쓸 수가 없다. 기껏 해봤는데 부정적인 결론만 나네...