아두이노를 활용하여 타조부화기 만들기 프로젝트 '모델링 및 출력' (CH430 드라이버 다운로드)

Development

타조 부화기 자작 로그북

 

타조부화기를 만들기로 하고 일을 벌이기 시작했다.타조부화기 관련 게시글 참고하기

2024.06.06 - [Development/Log] - 아두이노를 이용한 타조부화기 만들기 "자료정리 및 아두이노 IDE 환경 설정하기"

 

아두이노를 이용한 타조부화기 만들기 "자료정리 및 아두이노 IDE 환경 설정하기"

Development타조 관련 자료정리 및 IDE 셋팅하기  타조부화기 만들기 프로젝트 로그북2024.06.04 - [Development/Log] - 아두이노를 활용한 타조부화기 만들기 아두이노를 활용한 타조부화기 만들기Developme

leeseo.kr

2024.06.05 - [Development/Log] - 아두이노를 활용한 타조 부화기 만들기 "센서 준비하기"

 

아두이노를 활용한 타조 부화기 만들기 "센서 준비하기"

Development타조 부화기 만들기 모터 선정하기가장 먼저 타조알을 전란할때 사용할 모터를 선정해야 한다.일반 달걀이나 메추리 알의 경우 스텝모터로 어찌하다보면 가능할지도 모르겠지만 타조

leeseo.kr

2024.06.04 - [Development/Log] - 아두이노를 활용한 타조부화기 만들기

 

아두이노를 활용한 타조부화기 만들기

Development아두이노를 활용한 타조부화기 만들기  어짜다 보니 농사를 짓게 되었고농사를 짓다보니 닭을 키워볼까...? 생각을 하면서 정읍에서 농사를 하는 친구랑 이야기를 하다가 우연히 타조

leeseo.kr

 

 

타조에 대해 공부를 하기 시작했고 여러차례 수정 과정을 거치다가 최종적으로 생각한 디자인으로 부화기를 만들기로 하였다.

달걀과는 다르게 타조알의 경우 90도 각도로 세워서 45도 정도 좌우로 기울여 주는것을 해줘야한다.

해당 기능을 구현하기 위해 생각을 해봤는데 머리가 나빠서 그런지 역설계가 전혀 되지 않았고 

설거지 하다가 문득 생각이 떠올랐다.

 

내가 생각한 방법은 아래와 같다.

 

한쪽을 고정식으로 만들고 다른 한쪽을 엘레베이터 원리처럼 활용해 상승/하강 하면서 자연스럽게 45도 각도가 좌우로 진행되는것을 생각해냈고 집사람과 이야기를 하면서 설명을 하고 호다닥 틴거캐드를 이용해서 구현을 하였다.

 

이외 다양한 부속들이 존재하지만 내 목적은 기록을 하고 저장하는것이기에 간략하게 작성을 한다.

무작정 타조알을 구매했기 때문에 타조알이 화요일날 전까지는 완성을 해야한다.

 

화요일 도착하면 타조알 안정을 위해 하루정도 그냥 냅두고 수요일 저녁쯤 부화기에 집어 넣으려고 계획을 하고있다.

유정란이라고 하니 부화가 되기를 희망하며 도전을 해본다.

안전성을 위해 가족들이랑 타조알을 먹으면서 알 크기를 실물로 본다음에 맞춰보려고 한다.

 

타조알 구매

 


NodeMcu 활용을 위한 드라이버 다운로드

NodeMcu 활용을 위해 CH340 드라이버를 다운로드 해야한다.

CH34X.exe
0.23MB

 

 

 


NodeMcu 에 DHT22 센서 연결하기

NodeMcu D1 에 DHT22 디지털 핀을 꽂아주고 각 선을 알맞게 꽂아준다음

예제 파일을 불러와 정상 작동을 하는지 확인하였다.

 

 

DHT22 와 통신에 성공하면 시리얼모니터에서 온습도가 4초간격으로 출력된다.

 

현재 집안은 온도는 21도 로 되어있고 습도는 50% 값이 나온다.

정상적으로 센서가 동작하는지 손가락으로 센서를 막아서 확인해본다.

 

손가락으로 센서를 가리니 손가락 온도가 전달되면서 온도가 상승하며 습도도 같이 올라가는것을 확인했다.

 

다른 부화기들은 버튼으로 지정된 닭 , 오리 , 거위 등 메뉴를 눌르면 지정된 온습도로 작업이 진행된다.

하지만 타조부화기는 온도는 높더라도 닭이랑은 다르게 건조한 상태인 25% 습도를 유지해야하기에 별도로 습도 조절하는 장치는 구현하지 않았다.

 

다만 온도를 지정된 WIFI 를 통해 웹서버에 접근해서 설정하면 해당 온도가 변수에 기록되고

지속적으로 기록이 되게 만들어볼것이다.

 

가장 먼저 코드를 작성주기 전에 라이브러리를 불러와준다.

 

필요한 라이브러리

- ESP8266WiFi.h: ESP8266의 WiFi 기능을 제어하는 라이브러리
- ESP8266WebServer.h: 웹 서버를 구현하기 위한 라이브러리
- EEPROM.h: 저장된 WiFi 정보를 저장 및 초기화하기 위한 라이브러리

 

 

상단과 동일하게 작성하여 라이브러리를 불러온다음

구현하고 싶은 기능을 구현한다.

 

내가 구현하고자 하는것은 처음 "스마트타조부화기" 라는 와이파이 에 연결하고 핸드폰을 통해 연결을 하고

핸드폰에서 NodeMcu 에 접속한 다음 데이터 통신을 진행할 와이파이를 다시한번 선택하고 나면 해당 와이파이와 연결이 진행되고 내가 설정한 서버와 통신을 하면서 부화기에 대한 정보를 정기적으로 기록하여 데이터화를 시키고

또 서버에서 명령을 받아 온습도를 조절하는 식으로 진행하려고 한다.

 

만일 와이파이 정보를 잘못입력하였을 경우 플래쉬 버튼을 누르면 와이파이 정보가 초기화 되게 기능을 추가할것이다.

 

 

이어서 코드를 작성한다.

 

 

 

이후 나머지 코드도 작성을 한다음 업로드를 해보면

NodeMcu 에서 송출하는 와이파이 신호

 

스마트타조부화기 와이파이가 뜨는것을 확인할 수 있고 공유기 관리 서비스를 통해 NodeMcu 에 접근하면 와이파이 SSID 명 과 비밀번호를 입력하게 창이 나오는것을 확인이 가능하다.

 

이제 부트스트랩을 적용해서 조금더 보기 좋게 기능을 만들고

서버에 있는 php 와 통신을 하면서 온습도를 기록하게 작업을 한뒤 정상 작동 테스트를 진행한다.

 


데이터베이스 생성하기

서버랑 통신하면서 모든것을 기록하기 위해서는 데이터베이스가 필요하다.

구글 폼을 이용해볼까 고민을 하다가 집에서 굴러다니는 서버를 하나 또 손질한 다음 데이터베이스로 사용을 해본다.

 

 

아주 기본적으로 온습도를 받고 기록된 시간도 추가한다.

 

부화기 온도의 경우 셋팅값은 NodeMcu에서 입력을 받고 해당 값을 변수에 기록해서 계속 유지한다.

 

 

값을 입력받으면 NodeMcu 에 연결된 PTC 가 가동되며 일정 온도가 되면 가동이 멈추며 온도를 지속적으로 유지하는 방식으로 택하였다.