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

아두이노 메가와 센서를 활용한 인터랙티브 넥시온 HMI 프로젝트

부품 및 소모품

아두이노 메가 2560 1개
아두이노 메가 프로토 실드 1개
넥시온 HMI 디스플레이 2.4인치 1개
SD 카드 리더 1개
DHT22 온도 센서 1개
BME280 대기 센서 (스파크펀) 1개
DS3231 RTC 모듈 1개
RXB6 433MHz 슈퍼헤테로다인 수신기 1개
저항 10k옴 1개
저항 475옴 1개
NE555 타이머 1개
AC-DC 5V 전원 공급 장치 1개

필수 도구 및 기계

앱 및 온라인 서비스

프로젝트 소개

넥시온 디스플레이가 아두이노의 프로그램 공간을 절약할 수 있을까?

화려한 그래픽으로 시선을 사로잡는 프로젝트를 만들고 싶지만, 아름다운 그래픽은 컨트롤러 메모리(그래픽 라이브러리 루틴용)와 외부 저장소(SD 카드 등, 이미지 저장용) 같은 많은 리소스를 필요로 합니다. 아두이노 컨트롤러는 리소스가 제한적이어서 풍부한 그래픽 프로젝트에는 완전히 적합하지 않습니다. 넥시온 디스플레이를 사용하면 이미지용 외부 저장소가 필요 없고 메모리 요구사항을 크게 줄일 수 있습니다.

컨트롤러 관점에서 넥시온 디스플레이는 일반적인 흑백 LCD 디스플레이보다 리소스를 더 많이 쓰지 않는 단순한 시리얼 장치입니다. 그렇다면 아두이노 우노와 넥시온 화면으로 기상 관측소를 만들 수 있을까요?

답은 "정확히 그렇지는 않다"입니다. 만들 수는 있지만 컨트롤러 메모리 부족으로 기능이 매우 제한적입니다. 히스토리 그래프 같은 건 포함할 수 없죠. 풍부한 기능을 갖춘 기상 관측소를 만들려면 더 고급 마이크로컨트롤러가 필요합니다.

이 글에서는 매력적인 그래픽과 데이터 로깅을 갖춘 기상 관측소를 만들고, 여러 무선 기상 센서에서 데이터를 수신하는 방법을 보여드리겠습니다. 이 기상 관측소는 넥시온 디스플레이와 아두이노 메가 2560을 기반으로 합니다.

주요 아이디어

이미 오레곤 사이언티픽 THGN123N 같은 외부 기상 센서가 있다고 가정해 봅시다. 이 외부 센서들로부터 기상 데이터를 수신하고, 온도·습도·대기압을 표시하며, 주기적으로 데이터를 SD 카드에 저장하고 과거 데이터 그래프를 그리는 중앙 장치를 만듭니다. 또한 기압 변화를 기반으로 일기 예보도 수행합니다.

이 기상 관측소의 주요 특징은 작은 아이콘 대신 배경 그림 전체로 일기 예보를 보여준다는 점입니다.

디스플레이 구현 기법

넥시온 디스플레이의 큰 단점은 투명 이미지를 펌웨어에서 지원하지 않는다는 것입니다. 그래서 둥근 요소를 만들 수 없습니다. 텍스트 위젯 내부에 '잘린' 배경을 사용해 커스텀 이미지 위에 텍스트 데이터를 표시해야 합니다. 제 경우 디스플레이 배경이 바뀔 때 모든 텍스트 위젯의 배경도 그에 맞춰 변경해야 합니다. 따라서 각 일기 예보마다 완전히 다른 화면 여러 개를 만들어야 합니다.

기압 변화를 이용해 맑음, 흐림, 비(눈) 세 가지 예보 타입을 만들고, 낮/밤 두 기간을 고려하면 총 8가지 화면이 필요합니다:

이 모든 화면은 넥시온 에디터로 넥시온 디스플레이 내부에 생성합니다. 모든 화면은 온도·습도·기압용 텍스트 필드 위젯 이름을 공유합니다. 컨트롤러가 화면을 업데이트할 때 원하는 배경의 해당 화면을 먼저 선택한 뒤, 디스플레이 위젯 내의 센서 데이터를 업데이트합니다.

메인 화면 데이터

메인 화면은 세 영역으로 나뉩니다. 최상단 줄에는 내부 센서 데이터(실내 온도·습도, 대기압, 현재 시간·날짜)가 표시됩니다. 실내외 기압은 동일하다고 가정하므로 컨트롤러는 메인 모듈 내부의 기압 센서 하나로 정확한 대기압을 측정합니다.

화면 왼쪽 절반에는 메인 센서 데이터(온도·습도)가 항상 표시되어 편리합니다. 메인 센서 ID는 설정 화면에서 정의할 수 있으며, 사용 가능한 센서 ID 목록에서 선택합니다. 모든 외부 센서가 컨트롤러로 신호를 보낼 때까지 약 2분 정도 기다려야 합니다.

화면 오른쪽에는 모든 외부/내부 센서 데이터(센서 ID, 온도, 습도)가 주기적으로 변경되며 표시됩니다. 컨트롤러는 최대 4개의 외부 센서를 지원합니다. 외부 센서가 하나뿐이면 내부 센서 데이터도 오른쪽 화면에 함께 표시됩니다.

내장된 고정밀 RTC 모듈(DS3231)로 실제 시간과 날짜를 얻어, 센서 데이터를 타임스탬프와 함께 SD 카드에 로깅하고, 주야간 예보를 결정하며, 디스플레이 밝기를 제어합니다.

기타 화면

넥시온 디스플레이 내부에는 몇 가지 추가 화면이 있습니다:

메인 화면에서 현재 날짜를 터치하면 '일출' 화면으로, 현재 시간을 터치하면 설정 및 시계 조정 화면으로, 온도나 기압을 터치하면 이력 데이터 화면으로 이동합니다.

이력 로그 데이터 화면

이력 데이터 화면에는 1일 모드와 8일 모드 두 가지가 있습니다. 그래프 영역을 터치해 모드를 전환합니다.

왼쪽 툴바 메뉴에서 원하는 센서 ID를 선택합니다(내부 센서는 ID 0). 상단 툴바에서 표시할 데이터 유형(기압, 온도, 습도)을 변경할 수 있습니다.

설정 화면

설정 화면에서 다음을 할 수 있습니다:

컨트롤러 행 방지 (워치독 회로)

컨트롤러 안정성을 높이고 행업을 방지하기 위해 외부 워치독 회로를 회로도에 구현했습니다. 이 회로는 다른 프로젝트에도 적용 가능하므로 별도 그림으로 보여드립니다.

이 타이머는 약 2~3분 동안 아두이노 A2 핀으로 신호가 들어오지 않으면 아두이노를 리셋시킵니다.

결론

이 기상 관측소는 풍부한 그래픽 디스플레이로 매우 보기 좋으며, 약 반 년간 매우 안정적으로 작동했습니다.

코드

소스 코드: GitHub 저장소

회로도

완전한 회로도: GitHub 저장소

제조공정

  1. 아두이노 우노와 OLED 디스플레이로 클래식 퐁(Pong) 게임 만들기: 단계별 튜토리얼
  2. 스마트 저금통 만들기: 아두이노 나노로 동전 인식기 제어하기
  3. 아두이노 듀(Due) + 3.2″ TFT로 만드는 실시간 시계 & 온도 모니터
  4. 아두이노 블루투스로 LED 제어하기 - HC-05 & MIT App Inventor 입문 가이드
  5. 아두이노 메가와 NEO-6M GPS 모듈 연결하기: 단계별 가이드
  6. 아두이노와 노키아 5110 LCD로 만드는 DIY 전압계 - 단계별 가이드
  7. BME280 온도·습도·기압을 넥시온 터치스크린에 표시하기
  8. 아두이노 메가 2560 종합 트레이닝 키트 – 커스텀 PCB로 만드는 올인원 학습 플랫폼
  9. Nextion 디스플레이로 Fridgeye 앱 만들기: 단계별 가이드
  10. 아두이노 우노와 이더넷 실드로 정확한 태양광 복사량 측정하기