산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리

부품 및 소모품

부품수량
Microchip ATmega3281
16 MHz 크리스탈1
세라믹 디스크 커패시터 20pF2
리니어 레귤레이터 (7805)1
LED (원하는 색상)2
저항 10kΩ1
저항 220Ω1
저항 470Ω1
슬라이드 스위치1
C&K PTS 645 시리즈 스위치1
피에조 부저1
9V 배터리1
9V 배터리 클립1
SparkFun 토양 수분 센서 (스크류 터미널 포함)1
Arduino UNO (프로토타입용)1
3D 프린팅 케이스1

필요 도구

앱 및 온라인 서비스

프로젝트 소개

시작 계기

고백하건대, 저는 끔찍한 식물 집사입니다. 물 주기를 깜빡하거나 너무 많이 줘서 매번 식물을 죽이곤 했죠. 식물이 주는 생기와 분위기를 사랑하지만, 번번이 실패하니 속상했습니다. 그래서 저 같은 '조용한 식물 킬러'들을 자랑스러운 '식물 가드너'로 바꿔줄 장치를 만들기로 했습니다.

목마른 식물 감지기(Thirsty Plant Detector)를 소개합니다. 이 장치는 식물이 목말라할 때 귀여운 귀뚜라미 소리로 알려줍니다.

이 프로젝트는 Explorer Uno를 핵심으로, 토양 수분 센서와 피에조 부저를 사용합니다. 부저의 피에조 소자는 소리 발생뿐 아니라 진동 감지(노크 감지 등)에도 쓸 수 있는 흥미로운 부품입니다. 토양 수분 센서는 두 프로브가 흙 속에서 가변 저항 역할을 하며, 수분량에 따라 0~1023 사이의 아날로그 값을 출력합니다. 물이 많을수록 전도성이 좋아져 저항값이 낮아집니다.

제작 과정을 담은 영상을 보거나 아래 단계별 가이드를 따라 직접 만들어보세요!

브레드보드로 회로 구성하기

스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리

먼저 브레드보드에 모든 부품을 연결해 소프트웨어를 테스트합니다. 아두이노 우노로 구동 확인 후 ATmega328을 PCB로 옮깁니다. 부품 연결 다이어그램을 참고하세요.

스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리

시판 수분 센서(SparkFun 제품 추천)를 쓰거나 직접 만들 수 있습니다. 직접 만들려면 금속 프로브 2개, 여분 와이어, 47kΩ 저항만 있으면 됩니다. 황동 취미용 봉을 프로브로 쓰면 좋습니다.

브레드보드 조립 완료 후 아래 코드를 업로드하세요:

GitHub 코드 링크

정상 작동하면 귀뚜라미 소리가 나고, 프로브 두 개를 서로 대면 소리가 멈춥니다.

PCB 설계하기

스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리

  1. Patchr에 로그인하세요. 계정이 없다면 생성하세요. 시작 가이드 영상(4분)을 참고하세요.
  2. 유용한 단축키:
    • 상단 레이어: Command + 1
    • 하단 레이어: Command + 2
    • 부품 회전: Command + R
    • 패드/부품 뷰 토글: Command + P
    • 반대 레이어 라우팅 고스트 보기: Command + H
  3. Explorer Uno 템플릿을 선택해 아두이노 회로 설계 단계를 건너뜁니다. 프로젝트 이름을 정하고 설계 시작.
  4. 보드 외곽을 드래그해 수분 센서와 부저 공간을 확보하세요. 나중에 케이스에 맞춰 조정 가능.
  5. 저항 배치: 한쪽은 5V, 다른 쪽은 A0 핀에 연결. 5V 라인은 하단 레이어에 배선해 상단 GND 라인과 교차 방지. 수분 프로브용 스루홀 2개 추가 (하나는 저항과 연결, 다른 하나는 GND).
  6. 스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리
  7. 중간 저장 필수 (File + Save)!
  8. 부저 배치: GND와 디지털 핀 5에 연결.
  9. 브레드보드 회로와 연결이 일치하는지 확인 후 내보내기. Patchr 제조 서비스 이용 권장 (고품질 PCB 보장). 프로모션 코드 "GoPatchr"로 15% 할인. 완성된 거버 파일은 아래 첨부파일에서 다운로드 가능.

케이스 설계

스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리

PCB 제작되는 동안 케이스를 설계하세요. 우측 BRD 탭의 풋프린트 치수를 참고해 PCB가 들어갈 공간을 확보하세요. 제가 설계한 케이스는 여기나 Thingiverse에서 다운로드 가능. CAD 툴은 Onshape(고급)나 TinkerCAD(빠른 작업) 추천. 3D 프린터가 없다면 출력 대행 서비스 이용하거나 집안 재료로 케이스 제작도 가능.

조립!

스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리

PCB가 도착하면 가장 신나는 시간, 납땜 시작! 밥 피스가 말했듯 "내가 가장 좋아하는 프로그래밍 언어는 납땜이다." 인두 예열하고 좋아하는 음악 틀고 시작합시다.

스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리

Patchr 프로젝트 페이지와 회로도를 참고해 조립하세요. 저는 부저를 케이스 상단에 두고 싶어서 기판과 부저 사이에 와이어로 연결했습니다. 부저를 기판에 직접 달고 싶다면 설계 단계에서 공간을 확보하세요.

이제 여러분의 식물은 탈수된 케일 칩만 남지 않을 겁니다. 궁금한 점, 멋진 GIF, 아재 개그, 좋아하는 납땜 잼은 댓글로 남겨주세요!

빌드 영상 보기 | 식물 알람 해킹 공유

스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리

코드

Thirst Alert - 아두이노 코드

/* 
 * Patchr.io Thirst Alert Plant Alarm 용
 * 튜토리얼: www.hackster.io/patchr
 * PCB 설계: www.patchr.io
 * 2019년 11월
 */
#include "Volume.h" /* Connor Nishijima 개발 (2016) */

int sensorPin = A0; // 수분 센서 핀
int sensorValue;
int limit = 300;    // 임계값 (조정 필요)
Volume vol;

void setup() {
  Serial.begin(9600);
  vol.begin();
  vol.setMasterVolume(1.00); // 0.00~1.00 사이로 볼륨 조절
  vol.delay(500);
}

void loop() {
  sensorValue = analogRead(sensorPin);
  Serial.println(sensorValue);
  
  if (sensorValue > limit) {
    Serial.println("*cricket*");
    // 센서 값이 300 초과 시 1~30초 랜덤 간격으로 귀뚜라미 소리 재생
    chirp();
    vol.delay(random(1000, 30000));
  } else {
    vol.noTone();
  }
}

void chirp() {
  int freq = random(3700, 4000);
  float volume = random(10, 101) / 100.00;
  int chirpType = 1;
  if (chirpType == 1) {
    Serial.println("2");
    int chirpCount = random(1, 3);
    chirp(chirpCount, freq, volume);
  }
}

void chirp(byte times, int freq, float volume) {
  float fadeOut = 1.00;
  while (times > 0) {
    float mv = 0;
    while (mv < 1.00) {
      int v = 0;
      while (v < 255) { vol.tone(freq, v * volume * mv * fadeOut); v += 4; }
      v = 255;
      while (v > 0) { vol.tone(freq, v * volume * mv * fadeOut); v -= 4; }
      vol.delay(20); mv += 0.2;
    }
    mv = 1.00;
    while (mv > 0.00) {
      int v = 0;
      while (v < 255) { vol.tone(freq, v * volume * mv * fadeOut); v += 4; }
      v = 255;
      while (v > 0) { vol.tone(freq, v * volume * mv * fadeOut); v -= 4; }
      vol.delay(20); mv -= 0.2;
    }
    vol.noTone(); fadeOut -= 0.75; times--;
  }
}

커스텀 파트 및 인클로저

회로도

스마트 식물 갈증 알림기 – DIY 토양 수분 센서로 최적의 수분 관리

제조공정

  1. 이탈리안 워드 클럭(Word Clock) 제작: 아두이노 나노 + 네오픽셀 + LCD + RTC
  2. 아두이노 핀 절약: 4x3 키패드를 단 3개 연결으로 사용하기
  3. 아두이노 나노 기반 스마트 홈 식물 자동 급수 시스템
  4. 아두이노 MKR Fox 1200으로 신뢰성 높은 시그폭스 kWh 미터 만들기
  5. 블루투스 온도 모니터: 아두이노 나노와 NTC 서미스터로 구현
  6. DIY 오토레인지 정전용량 측정기 (10pF~10µF) – 간단한 Arduino 제작
  7. 터치프리 제스처 잠금장치: APDS-9960과 아두이노로 보안 액세스 구현
  8. 아두이노 나노 컴패니언 키트 – DIY 전자 작업을 위한 필수 부품 및 도구
  9. 아두이노용 절연 아날로그 입력 회로 만들기
  10. 아두이노 우노로 정밀 반응 속도 테스터 만들기