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

스마트 관개 시스템 - 회로도 및 코드

Arduino 기반 스마트 관개 시스템

인도는 인구의 70%가 생계를 농업에 의존하는 국가입니다. 오늘날 모든 작업은 기계를 사용하여 가장 쉬운 방법으로 수행됩니다. 의심할 여지 없이 자동화는 생산성을 높이고 많은 시간과 노력을 절약합니다. 관개는 농업 분야에 대한 투자로부터 최대의 이익을 얻기 위한 농업의 가장 중요한 부분입니다. 그러나 농부들이 작업을 쉽게 하기 위해 농업 분야에서 사용할 수 있는 몇 가지 기계가 있습니다. 불행히도, 그러한 기계는 높은 비용으로 인해 농부들이 감당할 수 없습니다. 농업용으로 쉽게 사용할 수 있는 간단하고 저렴한 기계만 있으면 됩니다.

이 게시물에서는 저렴한 재료를 사용하여 설계된 스마트하고 간단한 관개 시스템에 대해 논의할 것입니다. 이 관개 시스템의 목적은 토양의 수분 함량을 감지하고 모터 펌프를 자동으로 작동시키는 것입니다.

농업 분야 외에도 우리는 집에 없을 때 식물을 돌볼 수 있는 자동화된 식물 관개 시스템도 필요합니다. 이 기사를 통해 우리는 집에서 편안하게 앉아 있는 동안 식물에 자동으로 물을 주는 데 사용할 수 있는 스마트 관개 시스템 프로젝트의 설계 프로세스에 대해 논의할 것입니다. 이 스마트 관개 시스템 장치를 사용하여 물 일정과 작동 시간을 조정할 수 있습니다.

물 손실의 약 50%는 과습을 유발하는 기존 관개 시스템의 비효율로 인해 발생합니다. 이 문제를 극복하기 위해 우리는 토양의 수분 수준을 확인하고 식물에 자동으로 물을 공급하는 스마트 관개 시스템을 설계하려고 합니다. 회로가 토양에서 충분한 수분을 찾으면 모터 펌프가 꺼집니다.

또한 GSM 모듈을 사용하여 토양 및 물 펌프의 수분 상태에 대해 정기적으로 업데이트했습니다. 이 프로젝트는 현장의 관개 과정에서 인력의 필요성을 제거하는 데 매우 안정적이고 유용합니다.

위에서 논의한 바와 같이 우리는 토양 수분 센서를 사용하여 토양의 수분을 감지했습니다. 프로젝트를 시작하기 전에 회로 작동을 명확하게 이해할 수 있도록 회로에 사용되는 주요 구성 요소를 살펴보겠습니다.

토양 수분 센서

토양 수분 센서에는 두 개의 탐침이 있어 토양 수분 함량을 측정합니다. 이 두 개의 프로브는 전류가 토양을 통과하도록 허용한 다음 토양에 존재하는 수분 값을 얻습니다.

흙에 물이 있으면 저항이 줄어들어 흙이 전기를 전도합니다. 결과적으로 센서가 감지하는 수분 수준은 더 높아집니다. 건조한 토양은 전기가 잘 통하지 않습니다. 토양에 물이 적으면 전기를 덜 전도하므로 저항이 더 커집니다. 이것이 수분 레벨이 낮아지는 이유입니다.

기술 사양:

토양 수분 센서의 핀아웃:

관련 프로젝트:레인 알람 회로 – 눈, 물 및 비 감지기 프로젝트

위에서 논의한 바와 같이 토양 수분 센서는 프로브 역할을 하는 두 개의 전도판으로 구성됩니다. 토양 수분 센서는 단순히 두 개의 전도판 역할을 합니다. 첫 번째 플레이트는 +5v 전원 공급 장치에 연결됩니다. 두 번째 플레이트는 접지에 직접 연결됩니다. 토양 수분 센서 핀의 첫 번째 단자에서 직접 출력됩니다.

토양 수분 센서는 개방 및 폐쇄 회로의 원리로 작동합니다. 토양이 건조되면 전류가 흐르지 않고 개방 회로처럼 작동합니다. 토양이 축축하면 전류가 한 단자에서 다른 단자로 흐르기 시작하여 폐쇄 회로로 작동합니다. 우리는 수분 센서를 Arduino UNO 보드와 인터페이스했습니다. 이 기사의 뒷부분에서 회로의 인터페이스 및 시뮬레이션 코드에 대해 논의할 것입니다.

토양 수분 센서의 적용:

이 장치는 수동 식물 관수 과정의 필요성을 없애기 위해 가정 정원과 잔디밭에서 사용할 수 있습니다. 관개를 위해 정기적으로 물을 공급하기 위해 실내 식물에 사용할 수 있습니다.

이 프로젝트에서 두 번째로 중요한 부분은 통신을 위해 Arduino 마이크로 컨트롤러와 함께 사용되는 GSM 모듈입니다.

TTL SIM800 GSM 모듈:

관개 시스템 프로젝트에서 SIM800 GSM 모듈을 사용하고 Arduino와 인터페이스하여 메시지를 보내고 받습니다. GSM 모듈은 기본적으로 GSM 모뎀입니다. 이 장치는 PCB와 연결되어 보드에서 다양한 유형의 출력을 가져옵니다. 우리 프로젝트에서는 GSM 모듈을 Arduino와 인터페이스하고 TTL 출력을 사용합니다. 이 쿼드 밴드 GSM 모듈은 GSM 850MHz, EGSM 900MHz, DCS 1800MHz 및 PCS 1900MHz 범위의 주파수에서 작동합니다. GSM 모듈은 Arduino 및 마이크로 컨트롤러와 매우 호환됩니다. TTL SIM800 GSM 모듈은 24*24*3mm 크기로 조립되어 스마트폰 PDA 등 거의 모든 장치에 맞습니다.

아시아에서 대부분의 이동 전화 사업자는 900MHz 대역에서 작동합니다. GSM 모듈은 단일 GSM 모뎀을 PCB에 연결하여 제조됩니다. 그런 다음 RS232 출력이 제공됩니다. 장치에 적합한 GSM 모듈을 선택하기 전에 프로젝트의 GSM 전원 요구 사항을 다시 확인하십시오. 또한 불편함 없이 Arduino와 직접 인터페이스하려면 항상 TTL 지원 출력 핀을 선택하십시오.

기술 사양:

GSM 800 모듈의 기능:

이제 토양 수분 센서와 GSM 모듈이라는 두 장치의 작동에 대해 잘 알고 있습니다. 다음으로 두 구성 요소를 Arduino 마이크로 컨트롤러와 인터페이스해야 합니다.

Arduino UNO 보드

Arduino UNO 보드의 세부 사항을 밝히기 전에 Arduino mega, Arduino Due 등 다양한 버전의 Arduino 보드가 시장에 나와 있음을 알려드립니다. 우리 프로젝트의 Arduino UNO는 가장 저렴하고 인터페이스하기 쉬운 마이크로 컨트롤러입니다. 이 마이크로 컨트롤러는 14개의 디지털 I/O 핀과 6개의 아날로그 핀으로 구성됩니다. Arduino UNO 마이크로 컨트롤러는 TX 및 Rx 핀을 사용하는 직렬 통신도 지원합니다. 아두이노 사용의 가장 큰 장점은 소프트웨어와 아두이노 보드를 원하는 대로 최적화하고 수정할 수 있다는 점입니다.

Arduino와 토양 수분 센서 및 GSM 모듈 인터페이스

이 회로의 인터페이스는 간단합니다. 회로도를 따르면 됩니다.

먼저 토양 수분 센서의 아날로그 핀을 Arduino의 아날로그 핀 1에 연결합니다. 이제 센서의 VCC와 GND를 아두이노의 5V와 GND에 연결합니다.

다음으로 모듈에 SIM 카드를 삽입합니다. 이제 GSM 모듈을 전원 공급 장치와 연결해야 합니다. 5V 모듈이 있다면 12V 모듈을 사용하고 있으며 Arduino의 5V로 직접 전원을 공급할 수 있습니다. 회로도와 같이 12V 소스를 연결합니다. 이제 모듈의 GND 핀을 아두이노의 GND와 연결합니다. 모듈의 ST 핀을 Arduino의 디지털 핀 9에 연결하고 모듈의 SR 핀을 Arduino의 디지털 핀 10에 연결합니다. 또한 감지된 수분 수준을 표시하기 위해 LCD를 연결했습니다. LCD를 회로도와 같이 연결하고 포트를 연결하여 LCD의 명암을 조절합니다.

릴레이 드라이버 다이어그램을 사용하여 릴레이와 트랜지스터를 연결합니다.

이제 목록에 언급된 아래 구성 요소를 수집하고 회로도와 같이 회로를 연결합니다.

프로그래밍 코드 설명

이 프로젝트의 프로그래밍 부분은 매우 쉽습니다. 먼저 LCD 및 수분 센서용 라이브러리를 정의해야 합니다. 다음 줄에서 디지털 핀 9와 10에 각각 연결된 센서의 송신기 및 수신기 핀을 정의했습니다.

#include 
#include
SoftwareSerial mySerial(9,10);

이제 핀 번호 대신 사용할 변수를 정의했습니다.

int M_Sensor = A0;
int W_led = 7;
int P_led = 13;

다음 줄에서는 Arduino에 연결된 LCD 핀을 정의했습니다.

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

설정 함수에서 먼저 lcd.begin() 함수로 LCD를 초기화하고 mySerial.begin() 함수를 사용하여 수분 센서를 초기화했습니다. LCD에 16개의 열과 2개의 행이 있기 때문에 16,2를 통과했으며 이는 전체 LCD를 사용할 것임을 나타냅니다. 다음으로 디지털 핀 13번의 핀 모드를 펌프 상태 LED와 릴레이에 연결된 출력으로, 핀 7번을 수위 LED에 연결된 입력 핀으로 초기화하고 정의했습니다.

void setup()
 {
    lcd.begin(16, 2);
    mySerial.begin(9600);
    pinMode(7,INPUT);
    pinMode(13,OUTPUT);
}

이제 루프 기능으로 오세요. 첫 번째 줄에서 LCD를 지워 이전 출력이 있으면 지워집니다. 다음 줄에서는 수분 센서 값을 가져와서 'Moist'라는 변수에 저장합니다.

lcd.clear();
int Moist = analogRead(M_Sensor); 

다음 줄에서 우리는 건조하고 습하고 축축한 토양에 대한 조건을 소개했습니다.

if (Moist> 700)   // for dry soil
  { 
        lcd.setCursor(11,0);
        lcd.print("DRY");
        lcd.setCursor(11,1);
        lcd.print("SOIL");
       if (digitalRead(W_led)==1) //test the availability of water in storage
       {
         digitalWrite(13, HIGH);
         lcd.setCursor(0,1);
         lcd.print("PUMP:ON");
         mySerial.println(“AT+CMGF=1”);
         delay(1000);
         mySerial.println(“AT+CMGS=\”NUMBER”\r”);
         delay(1000);
         mySerial.println(“PUMP:ON”);
         delay(100);
         mySerial.println((char)26);
         delay(1000);
       }
       else
       {
         digitalWrite(13, LOW);
         lcd.setCursor(0,1);
         lcd.print("PUMP:OFF");
         mySerial.println(“AT+CMGF=1”);
         delay(1000);
         mySerial.println(“AT+CMGS=\”NUMBER”\r”);
         delay(1000);
         mySerial.println(“PUMP:OFF”);
         delay(100);
         mySerial.println((char)26);
         delay(1000);
       }
    }
 
     if (Moist>= 300 && Moist<=700) //for Moist Soil
    { 
     lcd.setCursor(11,0);
     lcd.print("MOIST");
     lcd.setCursor(11,1);
     lcd.print("SOIL");
     digitalWrite(13,LOW);
     lcd.setCursor(0,1);
     lcd.print("PUMP:OFF");
         mySerial.println(“AT+CMGF=1”);
         delay(1000);
         mySerial.println(“AT+CMGS=\”NUMBER”\r”);
         delay(1000);
         mySerial.println(“PUMP:OFF”);
         delay(100);
         mySerial.println((char)26);
         delay(1000);    
  }
 
  if (Moist < 300)  // For Soggy soil
  { 
     lcd.setCursor(11,0);
     lcd.print("SOGGY");
     lcd.setCursor(11,1);
     lcd.print("SOIL");
     digitalWrite(13,LOW);
     lcd.setCursor(0,1);
     lcd.print("PUMP:OFF");
     mySerial.println(“AT+CMGF=1”);
     delay(1000);
     mySerial.println(“AT+CMGS=\”NUMBER”\r”);
     delay(1000);
     mySerial.println(“PUMP:OFF”);
     delay(100);
     mySerial.println((char)26);
     delay(1000);
  }
 delay(1000);    
} 

자동 관개 시스템 작동

자동 관개 시스템의 작동은 매우 간단하고 이해하기 쉽습니다. 이 프로젝트에서 Arduino는 회로의 전체 작동을 제어하는 ​​데 사용됩니다. 우선, 토양에 수분이 없을 때 토양 센서의 두 프로브 사이에 전도가 발생합니다. 결과적으로 트랜지스터는 ON 상태를 유지합니다. 또한 Arduino의 pin13은 낮게 유지됩니다. 그 후 Arduino는 토양 수분이 정상이므로 사용자에게 메시지를 보냅니다. 모터가 꺼졌습니다”. 이 경우 모터 펌프는 "OFF" 상태를 유지합니다.

토양에 수분이 없으면 트랜지스터 Q2가 OFF됩니다. 또한 핀 D7이 하이가 됩니다. 결과적으로 Arduino send는 워터 펌프를 시작하고 낮은 수분이 감지되었다는 메시지를 사용자에게 보냅니다. 모터가 켜집니다. 다시 말하지만, 토양 수분 센서가 감지한 토양에 충분한 수분이 있으면 모터 펌프가 자동으로 꺼집니다.

스마트 관개 시스템의 특징

이 스마트 관개 시스템은 이상적인 관개 시스템의 모든 기준을 충족합니다. 수익성 있는 기능은 다음과 같습니다.

관련 프로젝트:Arduino에 의한 물체 감지 기능이 있는 자동 초인종

요점

스마트 관개 시스템 생산성과 신뢰성 측면에서도 매우 유용합니다. 또한, 이 장치는 설계가 용이하고 쉽게 구할 수 있는 전자 부품을 사용하여 조립할 수 있습니다. 소프트웨어에 사용되는 Arduino 마이크로 컨트롤러는 매우 대중적이며 불편함 없이 쉽게 인터페이스할 수 있습니다. 토양 수분 센서를 사용하여 토양의 수분을 감지했습니다.

이 프로젝트는 GSM 모듈을 사용하여 휴대폰으로 메시지를 보내 사용자에게 알립니다. 우리는 또한 Arduino를 사용하여 모든 구성 요소의 작동 및 인터페이스 방법에 대해 설명했습니다. 이제 일상 생활에서 물을 절약할 수 있는 이 저렴한 스마트 관개 시스템을 설계할 수 있기를 바랍니다.

관련 프로젝트:


산업기술

  1. 시리즈 R, L 및 C
  2. VL53L0X :핀 구성, 회로도 및 애플리케이션
  3. HDC2080 디지털 센서:회로도 및 사양
  4. 토양 수분 센서 작동 및 응용
  5. 압전 변환기란 무엇입니까? 회로도, 작업 및 응용 프로그램
  6. 간단하고 스마트한 공기 청정기 시스템
  7. 헬륨 및 DFRobot이 있는 무선 토양 수분 프로브
  8. 1분, 5분, 10분, 15분 타이머 회로도
  9. 토양 수분을 모니터링하는 표준 디지털 카메라 및 AI
  10. 마이크로스트립 회로 및 재료 특성화 시스템