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

아두이노 우노 & 라즈베리 파이로 만드는 스마트 자동 정원 시스템

부품 및 소모품

아두이노 우노 × 1
라즈베리 파이 2 모델 B × 1
라즈베리 파이 카메라 모듈 × 1
아두이노 이더넷 실드 2 × 1
릴레이 (일반) × 1
오픈빌드 와이어 케이블 (피트 단위) × 1
포토레지스터 (조도 센서) × 1
워터 펌프 (일반) × 1
팬 (일반) - 오래된 컴퓨터 팬 사용 × 1
범용 NPN 트랜지스터 × 1
마이크로SD 카드 (일반) - 16GB, 타임랩스용 × 1

앱 및 온라인 서비스

아두이노 IDE
라즈베리 파이 라즈비안
Win32DiskImager
PuTTY
myDevices Cayenne

프로젝트 소개

자동 정원을 이용한 두 번째 프로젝트인데, 이번에는 모든 걸 Cayenne으로 제어해서 훨씬 쉽습니다. 라즈베리 파이도 추가해 타임랩스 영상도 찍습니다.

아두이노 설정

정원을 모니터링하기 위해 몇 가지 장치를 사용했습니다. 시작하기 전에 이더넷 실드를 아두이노에 연결해야 합니다.

연결

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

팬: 너무 더우면 작동하거나 신선한 공기 공급용.

워터 펌프: 토양 수분에 따라 작동.

포토레지스터 (선택): 실내 조도가 충분한지 측정.

조명:

습도/온도 센서: Cayenne과 제대로 작동하려면 코드가 필요.

수위 센서:

최종 장착

프리칭에 4채널 릴레이가 없어서 릴레이 2개를 그래픽에 썼습니다. 릴레이엔 12V 전원 하나만 썼습니다. 양극과 음극 선을 분리하고 양극에서 선 3개를 납땜해 릴레이 각 부분에 연결했습니다. 모든 게 동시에 켜지지 않으니 하나면 충분합니다.

아두이노용 5V 전원 공급 장치 사용. 릴레이:

Cayenne 설정

Cayenne 설정 방법을 볼 텐데 매우 쉽습니다.

이 코드는 W5100 실드용이며, 다른 이더넷/와이파이 실드용 코드는 Cayenne에 있습니다. 계정 생성 후 받는 토큰도 추가하세요.

#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 인증 토큰. Cayenne 대시보드에서 얻어야 함.
char token[] = "your_token";

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

void setup() {
  Serial.begin(9600);
  Cayenne.begin(token);
  dht.begin();
}

void loop() {
  Cayenne.run();
  getDhtValues();
}

void getDhtValues() {
  unsigned long now = millis();
  if (now - prev_DHT_refresh > interval_DHT_refresh) {
    // 온습도 읽는 데 약 250ms 걸림! 센서 읽기는 최대 2초까지 '오래된' 값일 수 있음(매우 느린 센서)
    float h = dht.readHumidity();
    float t = dht.readTemperature(); // 섭씨 온도 (기본값)
    // 읽기 실패 체크
    if (!isnan(h) && !isnan(t)) {
      Cayenne.virtualWrite(VIRT_HUM, h);
      Cayenne.celsiusWrite(VIRT_TEMP, t);
    }
    prev_DHT_refresh = now;
  }
}

Cayenne의 장치들

아두이노 쪽은 거의 끝났습니다. 이제 쉬운 부분: Cayenne에 모든 장치 추가하기.

장치 추가 → 커스텀 위젯

원하는 위젯 종류 선택. 습도와 수위엔 차트, 나머지는 값 위젯을 썼습니다. 습도/온도 센서는 가상 핀 사용:

다른 장치는 가상 핀 대신 연결된 핀의 아날로그 선택. 액추에이터에서도 같은 절차지만 릴레이에 연결된 아두이노 핀(조명/팬/워터 펌프)을 선택.

이벤트와 트리거

대시보드 준비됐으니 트리거 설정:

라즈베리 파이 설정

식물 자라는 타임랩스 찍기.

필요한 소프트웨어 3가지:

Win32 Disk Imager:

다운로드 후 설치. 열기:

  1. "장치"가 보임. 기본값이 보통 맞음 (SD 카드만 연결된 경우)
  2. 파란 폴더 아이콘 클릭해 다운로드한 라즈비안 제시 이미지 선택
  3. "쓰기" 클릭하면 끝. 카드를 라즈베리 파이에 꽂으세요.

PuTTY: SSH로 접속 가능. PuTTY 열기 (설치 불필요).

라즈베리 파이 실행됐으니 업데이트 몇 가지 필요. PuTTY에 복사 붙여넣기:

sudo apt-get update
sudo apt-get upgrade

VNC:

라즈베리 파이에 연결할 화면 없으면 VNC로 원격 제어.

sudo apt-get install tightvncserver

서버 시작:

vncserver :1

컴퓨터에 VNC 뷰어 다운로드해 접속. IP와 서버 번호 입력. 예: 192.168.0.3:1

Cayenne: Cayenne으로도 라즈베리 파이 원격 제어 가능. 설치만 하면 됨:

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

타임랩스

마지막 단계! 카메라 활성화하려면 PuTTY나 터미널에 붙여넣기:

sudo raspi-config

카메라 활성화로 이동. 사진 저장할 폴더 생성:

cd /home/pi/Desktop
mkdir timelapse

웹캠 연결 후 매시간 사진 찍는 스크립트 생성:

cd /home/pi/Desktop
nano timelapse.sh

다음 내용 붙여넣기:

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

스크립트 실행 가능하게 만들기:

chmod +x timelapse.sh

결론

튜토리얼이 길지만 매우 쉽습니다. 연결하고 설정할 장치가 몇 개뿐이니까요. 사진엔 선이 너무 길어 엉망입니다. 식물 다 자라면 타임랩스 결과 올리겠습니다.

조언:

이더넷 실드가 DHCP 실패 에러를 낼 수 있습니다. 연결 시도 중 아두이노 포럼에서 해결책 찾음: 100옴 저항 2개를 아무 데나 납땜해서 독자들을 괴롭히면 됩니다. (역자 주: 원문은 유머러스한 표현으로, 실제로는 풀업/풀다운 저항 추가 등 적절한 하드웨어 수정 필요)

제조공정

  1. LIRC로 전문가급 라즈베리 파이 범용 리모컨 만들기
  2. 라즈베리 파이로 RF를 DC로 변환: 엔벨로프 검출기 제작 및 트러블슈팅
  3. 사이클 체이서: 라즈베리 파이로 자전거를 야간 라이트 쇼로 변신시키기
  4. 라즈베리 파이 기반 도난 감지기 만들기 – 단계별 가이드
  5. MCP9808, InfluxDB, Grafana로 라즈베리 파이 홈 온도 모니터 구축하기
  6. 라즈베리 파이 기반 홈 오토메이션 시스템으로 원격 제어 구축하기
  7. 라즈베리파이와 웹 대시보드로 만드는 자동 식물 급수 시스템
  8. MrRobot: 음성·터치·흔들기로 제어하는 우분투 모바일 라피로 로봇
  9. DIY 월-E 영감 라즈베리 파이 CD-박스 로봇
  10. 블루투스 제어 라즈베리 파이 로봇 만들기 - 오디오 피드백 포함