[아두이노] 39. 병아리 부화기 및 육추기 겸용 만들기 (7) 전란기 소스 코드
임베디드/아두이노2024. 5. 28. 13:36
이번 시간에는 전란기를 제어하는 코드를 작성하도록 하겠습니다.
전란의 조건은 매 4시간마다 전란하며, 전란 시간은 30 ~ 40초 정도로 해주시면 됩니다.
전란틀 전란기 전란장치 병아리부화기 조류부화 자작부화기 만들기 재료 - 조류 부화용품 | 쿠팡
쿠팡에서 전란틀 전란기 전란장치 병아리부화기 조류부화 자작부화기 만들기 재료 구매하고 더 많은 혜택을 받으세요! 지금 할인중인 다른 조류 부화용품 제품도 바로 쿠팡에서 확인할 수 있습
www.coupang.com
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
코드를 보겠습니다.
Incubator_Main.ino
...
#define EGG_MOVER 10 // 전란기 (220v 릴레이)
...
...
extern unsigned long EggMoveTime;
...
void setup()
{
...
pinMode(EGG_MOVER, OUTPUT); // 전란기
...
}
void loop()
{
...
if(millis()-beforeTime>=1000)
{
nowTime++;
EggMoveTime++; // 전란 시간 카운터
beforeTime = millis();
...
// 전란기 가동
CheckEggMove();
...
}
}
메인 함수 내에 전란기에 관련된 코드를 추가합니다.
_eggRotate.ino
const int EGG_STEP_TIME = (60*60*4); // 전란 시간 간격 (4시간 마다)
unsigned long EggMoveTime = 0;
#define EGG_TIME 40 // 전란기 움직이는 시간 (초)
// 전란기 가동
void CheckEggMove()
{
// 4시간 체크 후 전란기 움직이는 시간동안 HIGH 하여 전란기 작동
if(EggMoveTime >= EGG_STEP_TIME && EggMoveTime <= EGG_STEP_TIME + EGG_TIME)
{
digitalWrite(EGG_MOVER, HIGH);
}
else
{
// 전란이 끝나면 LOW로 작동을 멈추고 전란 시간 카운터를 리셋함
digitalWrite(EGG_MOVER, LOW);
if(EggMoveTime >= EGG_STEP_TIME + EGG_TIME)
EggMoveTime = 0;
}
}
전란기 시간을 체크하고 4시간마다 40초 동안 전란기를 작동시켜주는 코드입니다.
'임베디드 > 아두이노' 카테고리의 다른 글
[아두이노] 41. 병아리 부화기 및 육추기 겸용 만들기 (9) 가습&팬 소스코드 (0) | 2024.05.30 |
---|---|
[아두이노] 40. 병아리 부화기 및 육추기 겸용 만들기 (8) 전구 HEAT 소스 코드 (0) | 2024.05.29 |
[아두이노] 38. 병아리 부화기 및 육추기 겸용 만들기 (6) 초기화 및 온습도 소스 코드 (0) | 2024.05.27 |
[아두이노] 37. 병아리 부화기 및 육추기 겸용 만들기 (5) 모듈 배치 회로도 (0) | 2024.05.26 |
[아두이노] 36. 병아리 부화기 및 육추기 겸용 만들기 (4) LCD & Nano (0) | 2024.05.23 |