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

자동 정원

구성품 및 소모품

Arduino UNO
× 1
라즈베리 파이 2 모델 B
어떤 것이든 작동해야 함
× 1
라즈베리 파이 카메라 모듈
× 1
Arduino 이더넷 쉴드 2
× 1
릴레이(일반)
× 1
OpenBuilds 유선 케이블 - 도보
× 1
포토 저항기
× 1
워터 펌프(일반)
× 1
팬(일반)
오래된 컴퓨터의 것을 사용했습니다.
× 1
범용 트랜지스터 NPN
× 1
MicroSD 카드(일반)
타임 랩스의 경우 16Gb
× 1

앱 및 온라인 서비스

Arduino IDE
라즈베리 파이 라즈비안
win32diskimager
퍼티
myDevices 카이엔

이 프로젝트 정보

이것은 내 자동화 정원을 사용하는 두 번째 프로젝트이지만 이번에는 모든 것이 Cayenne에 의해 제어되므로 훨씬 쉬울 것입니다. 그리고 타임랩스 영상을 찍기 위해 라즈베리파이를 추가했습니다.

Arduino 설정

정원을 모니터링하기 위해 도움이 될 수 있는 몇 가지 장치를 사용했습니다. 시작하기 전에 이더넷 쉴드를 Arduino에 연결하는 것을 잊지 마십시오.

연결

토양 수분: 식물에 물이 필요한지 확인하기 위해.

<울>
  • VCC:5v
  • <울>
  • GND:GND
  • <울>
  • A0:A1
  • 팬:나 뜨거워지면 활성화되거나 신선한 공기를 공급하기 위해 작동합니다.

    <울>
  • 하나의 와이어는 저항에서 핀 3으로 연결됩니다. 팬의 GND는 트랜지스터의 중간 핀에 연결됩니다.
  • <울>
  • 팬의 +는 릴레이(가운데 핀)로 연결됩니다. 트랜지스터의 마지막 핀은 GND로 연결됩니다.
  • <울>
  • 다이오드는 트랜지스터의 중간 핀과 GND로 연결됩니다.
  • 워터 펌프: 토양 수분과 함께 활성화됩니다.

    <울>
  • +는 릴레이의 중간에, GND는 전원의 GND로 이동합니다.
  • 포토레지스터(선택 사항): 이 부분을 통해 방에 충분한 빛이 있는지 측정할 수 있습니다.

    <울>
  • 한 부분은 접지에 연결된 저항으로 A0에 연결됩니다.
  • <울>
  • 다른 하나는 5V입니다.
  • <울>
  • 양극(+)은 릴레이로 이동합니다. 다른 하나는 전원 공급 장치의 GND에 연결합니다.
  • 빛:

    <울>
  • 양극(+)은 릴레이로 이동합니다. 다른 하나는 전원 공급 장치의 GND에 연결합니다.
  • 습도/온도 센서: Cayenne에서 제대로 작동하려면 이 장치에 일부 코드가 필요합니다.

    <울>
  • VCC:3.3V
  • <울>
  • GND:GND
  • <울>
  • DAT:디지털 핀 8
  • 수위 센서:

    <울>
  • VCC:5V
  • <울>
  • GND:GND
  • <울>
  • SIG:A2
  • 최종 장착

    Fritzing에는 아직 4채널 릴레이가 없기 때문에 그래픽에서 2개의 릴레이를 사용했습니다. 릴레이의 경우 12v 전원 공급 장치 하나만 ​​사용했습니다. 양극선과 음극선을 분리한 다음 양극에서 3선을 납땜하여 릴레이의 각 부분을 연결했습니다. 모든 것이 동시에 켜지지 않으므로 하나면 충분합니다.

    Arduino RELAY에 5V 전원 공급 장치를 사용했습니다.

    <울>
  • VCC:5V
  • <울>
  • GND:GND
  • <울>
  • IN1:PIN2 조명 활성화
  • <울>
  • IN2:PIN5 워터 펌프 활성화
  • <울>
  • IN3:없음 IN4
  • <울>
  • PiN4:팬 활성화
  • 카이엔 설정

    여기에서 매우 쉬운 Cayenne을 구성하는 방법을 살펴보겠습니다.

    <울>
  • 먼저 여기에서 계정을 만드세요.
  • <울>
  • Rj45 케이블이 연결된 이더넷 실드가 있어야 합니다.
  • <울>
  • 다음은 Cayenne에 연결하고 hum/temp 센서를 구성하는 코드입니다.
  • 이 코드는 w5100 실드에서 작동합니다. 코드는 다른 이더넷/WiFi 실드용 카이엔에서 사용할 수 있습니다. 또한 토큰 을 추가하는 것을 잊지 마십시오. 계정을 만든 후에 얻을 수 있습니다.

    #include "DHT.h"//#define CAYENNE_DEBUG // 디버그 메시지 표시를 위한 주석 해제#define CAYENNE_PRINT Serial // 인쇄를 비활성화하고 공간을 절약하려면 이것을 주석 처리합니다.#include 

    # define DHTPIN 8 // 어떤 디지털 핀에 연결되어 있는지 #define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321

    #define VIRT_TEMP V1#define VIRT_HUM V2

    // 카이엔 인증 토큰. 이것은 Cayenne Dashboard.char 토큰[] ="your toker"에서 가져와야 합니다.

    DHT dht(DHTPIN, DHTTYPE);unsigned long prev_DHT_refresh, interval_DHT_refresh =1000;

    void setup(){ Serial.begin(9600); Cayenne.begin(토큰);

    dht.begin();}무효 루프(){ Cayenne.run();

    getDhtValues();

    }

    void getDhtValues() { unsigned long now =millis(); if (now - prev_DHT_refresh> interval_DHT_refresh) { // 온도나 습도를 읽는 데 약 250밀리초가 걸립니다! // 센서 판독값은 최대 2초가 될 수도 있습니다. '오래된'(매우 느린 센서) float h =dht.readHumidity(); // 온도를 섭씨로 읽습니다(기본값) float t =dht.readTemperature(); // 읽기에 실패한 경우가 있는지 확인 if (!isnan(h) &&!isnan(t)) { Cayenne.virtualWrite(VIRT_HUM, h); 카이엔.celsiusWrite(VIRT_TEMP, t); } prev_DHT_refresh =지금; }}

    카이엔의 기기

    아두이노 작업이 거의 끝났습니다. 이제 쉬운 부분입니다. 우리는 Cayenne에 모든 장치를 추가할 것입니다.

    장치 추가 -> 사용자 정의 위젯

    원하는 위젯 종류를 선택하세요. 나는 습도와 수위 차트를 사용했습니다. 그렇지 않으면 값을 사용했습니다. 습도 및 온도 센서의 경우 가상 핀을 사용합니다.

    <울>
  • 온도:Vpin1
  • <울>
  • 습도:VPin2
  • 가상 핀을 선택하는 대신 다른 장치의 경우 핀 링크가 있는 아날로그를 선택하십시오. 동일한 절차이지만 이번에는 액추에이터에서 조명/팬/워터 펌프용 릴레이에 연결된 Arduino의 핀을 선택합니다.

    이벤트 및 트리거

    이제 대시보드가 ​​있으므로 트리거를 설정할 것입니다.

    <울>
  • 워터 펌프: 이것은 감지된 토양 수분이 너무 건조할 때 펌프를 켭니다. 2개의 방아쇠를 사용했음을 주목하십시오. 하나는 워터 펌프를 시작하고 다른 하나는 중지합니다.
  • <울>
  • 수위: 값이 높으면 물이 누락되었음을 의미합니다. 알림 이메일이 발송됩니다.
  • <울>
  • 이벤트: 저는 4개의 이벤트를 설정했습니다. 하나는 아침에 불을 켜고, 다른 하나는 저녁에 끄고, 다른 하나는 팬 켜기/끄기입니다.
  • 라즈베리 파이 설정

    식물이 자라는 타임랩스를 해봅시다.

    3 소프트웨어:

    <울>
  • 라즈비안
  • <울>
  • SD 카드에 이미지를 굽는 Win32diskimager
  • <울>
  • Putty에서 원격으로 Raspberry WIN32 디스크 이미저에 연결:
  • 다운로드 후 설치합니다. 열어보세요:

    1. "장치"가 표시됩니다. 일반적으로 기본값은 양호합니다(SD 카드만 연결된 경우)

    2. 파란색 아이콘 폴더를 클릭하고 다운로드한 Raspbian Jessie 이미지를 선택하십시오.

    3. 쓰기를 클릭하면 완료됩니다. 이제 카드를 Raspberry에 삽입할 수 있습니다.

    퍼티: SSH를 통해 연결하고 Putty를 열 수 있습니다(설치할 필요 없음).

    <울>
  • 라즈베리에 인터넷 케이블 연결
  • <울>
  • 쉽게 Raspberry 2의 IP를 찾아야 합니다.
  • <울>
  • 박스 인터페이스에 연결하면 IP가 있는 장치를 볼 수 있습니다.
  • <울>
  • 터치스크린과 키보드를 연결하고 터미널로 이동한 다음 ifconfig. 이제 Putty에 IP 주소를 입력합니다. 192.168.0.3과 같은 형식으로 입력한 다음 입력합니다.
  • <울>
  • 신뢰할 것인지 묻는 메시지가 표시됩니다. 예(그림)를 클릭합니다.
  • <울>
  • 로그인:pi , 비밀번호:라즈베리 . 나중에 여기로 돌아올 쪽에 창문을 남겨두세요.
  • 이제 Raspberry가 실행 중이므로 몇 가지 업데이트가 필요하므로 Putty에서 다음 명령을 복사하여 붙여넣습니다.

    sudo apt-get 업데이트sudo apt-get 업그레이드 

    VNC:

    라즈베리에 연결하는 화면이 없다면 리모컨에 VNC를 설치하세요.

    sudo apt-get install tightvncserver 

    서버 시작이 완료되면:

    vncserver:1 

    그리고 컴퓨터에 vncviewer를 다운로드하여 연결하려면 IP와 서버 번호를 입력하십시오. 192.168.0.3:1과 같이 보일 것입니다.

    카이엔: 설치만 하면 Cayenne으로 Raspberry를 원격 제어할 수 있습니다.

    wget https://cayenne.mydevices.com/dl/rpi_03wl1tt4nt.shsudo bash rpi_03wl1tt4nt.sh -v 

    타임랩스

    마지막 단계! 이제 Putty 또는 터미널 붙여넣기에서 카메라를 활성화할 수 있습니다.

    sudo raspi-config 

    그런 다음 카메라 활성화로 이동하십시오. 사진을 저장할 폴더를 만들어야 합니다.

    cd /home/pi/Desktopmkdir 타임랩스 

    웹캠을 연결한 후 매시간 사진을 찍는 스크립트를 만들 것입니다.

    cd /home/pi/Desktop nano timelapse.sh 

    붙여넣기:

    SAVEDIR=/home/pi/Desktop/timelapse/while [ true ]; do filename=-$(날짜 -u +"%d%m%Y_%H%M-%S").jpg/opt/vc/bin/raspistill -o $SAVEDIR/$filenamesleep 3600;완료; 

    스크립트가 실행 가능한지 확인하려면:

    chmod +x timelapse.sh 

    결론

    튜토리얼은 길었지만 매우 쉬웠고 플랫폼을 연결하고 구성할 장치가 거의 없었습니다. 사진에는 ​​큰 혼란이 있습니다. 너무 긴 전선을 사용했습니다. 식물 성장이 완료되면 타임랩스 결과를 게시하겠습니다.

    조언:

    이더넷 실드는 DHCP 실패 오류가 발생할 수 있습니다. 연결하려고 할 때 Arduino 포럼에서 해결책을 찾았습니다. 독자를 귀찮게 하려면 임의의 위치에 2개의 100ohm 저항을 납땜해야 합니다.

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • 코드 스니펫 #1
  • 코드 스니펫 #9
  • 코드 스니펫 #1Arduino

    #include "DHT.h"
    //#define CAYENNE_DEBUG // 디버그 메시지 표시를 위한 주석 해제
    #define CAYENNE_PRINT Serial // 인쇄를 비활성화하고 공간을 절약하려면 이것을 주석 처리합니다#include

    #define DHTPIN 8 // 연결된 디지털 핀#define DHTTYPE DHT22 // DHT 22(AM2302), AM2321

    #define VIRT_TEMP V1#define VIRT_HUM V2

    // 카이엔 인증 토큰입니다. 이것은 Cayenne Dashboard.char 토큰[] ="your toker"에서 가져와야 합니다.

    DHT dht(DHTPIN, DHTTYPE);unsigned long prev_DHT_refresh, interval_DHT_refresh =1000;

    void setup(){ Serial.begin(9600); Cayenne.begin(토큰);

    dht.begin();}

    무효 루프(){ Cayenne.run();

    getDhtValues();

    }

    void getDhtValues() { unsigned long now =millis(); if (now - prev_DHT_refresh> interval_DHT_refresh) { // 온도나 습도를 읽는 데 약 250밀리초가 걸립니다! // 센서 판독값은 최대 2초가 될 수도 있습니다. '오래된'(매우 느린 센서) float h =dht.readHumidity(); // 온도를 섭씨로 읽습니다(기본값) float t =dht.readTemperature();

    // 읽기에 실패한 경우가 있는지 확인 if (!isnan(h) &&!isnan(t)) { Cayenne. virtualWrite(VIRT_HUM, h); 카이엔.celsiusWrite(VIRT_TEMP, t); } prev_DHT_refresh =지금; }}

    코드 스니펫 #9SH
    <사전>SAVEDIR=/home/pi/Desktop/timelapse/while [ true ]; do filename=-$(날짜 -u +"%d%m%Y_%H%M-%S").jpg/opt/vc/bin/raspistill -o $SAVEDIR/$filenamesleep 3600;완료;

    제조공정

    1. Raspberry Pi 범용 리모컨
    2. 라즈베리 파이 한 조각
    3. 사이클 체이서
    4. 라즈베리 파이 도둑 탐지기
    5. 라즈베리 파이 온도 센서
    6. RASPBERRY PI 홈 자동화
    7. 웹사이트를 통한 Raspberry Pi 자동 식물 관수
    8. MrRobot – Ubuntu Mobile 앱 지원 Robotics(Raspberry Pi 및 arduino 관련)
    9. 라즈베리 파이 CD 상자 로봇
    10. Bluetooth를 통해 제어되는 Raspberry Pi Robot