TV 리모컨을 사용하여 Arduino 기반 홈 자동화 시스템을 설계하는 방법은 무엇입니까?

홈 자동화 시스템은 현대 세계에서 가장 빠르게 성장하는 개념입니다. 스마트 홈 오토메이션은 가전 제품 전환, 보안 경보 모니터링, 차고 문 자동화 등과 같은 집의 다양한 전자 매개 변수를 제어하기 위해 단일 장치를 사용하는 개념입니다.



TV 리모컨을 이용한 자동화 시스템

이 프로젝트에서는 간단한 TV 리모컨을 사용하여 간단한 홈 자동화 시스템을 만듭니다. 이 TV 리모컨은 마이크로 컨트롤러 보드에 연결된 모든 기기를 제어합니다.



TV 리모컨을 사용하여 홈 자동화 시스템을 만드는 방법은 무엇입니까?

이미 시장에 나와있는 홈 오토메이션 시스템은 비용이 많이 듭니다. Arduino 보드를 사용하여 다양한 가전 제품을 연결하고 TV 리모컨으로 제어 할 수 있습니다. 이것은 비용이 매우 낮고 집을 자동화하는 효율적인 방법입니다. 이제 한 발 더 나아가 프로젝트를 시작하기위한 정보 수집을 시작하겠습니다.



1 단계 : 구성 요소 수집

프로젝트를 시작하는 가장 좋은 방법은 구성 요소 목록을 만들고 이러한 구성 요소에 대한 간략한 연구를 진행하는 것입니다. 그 이유는 구성 요소가 빠졌다는 이유만으로 프로젝트 중간에 머물고 싶어하는 사람이 없기 때문입니다. 이 프로젝트에서 사용할 구성 요소 목록은 다음과 같습니다.



  • TSOP 1738 IR 수신기
  • 리모콘
  • 브레드 보드
  • 점퍼 와이어

2 단계 : 구성 요소 연구

이제 우리가 사용할 구성 요소를 알았으므로 회로 작동 방식을 더 잘 이해하기 위해 간략하게 연구하겠습니다.

Arduino Nano는 다양한 회로에서 다양한 작업을 수행하는 마이크로 컨트롤러 보드입니다. 그것은 C 코드 이사회에 어떤 작업을 어떻게 수행해야하는지 알려줍니다. 13 개의 디지털 I / O 핀이있어 13 개의 다른 장치를 작동 할 수 있습니다. 13 개 이상의 장치를 제어하려면 Arduino Mega를 사용하십시오.

Arduino Nano



TSOP 1738은 리모컨 용 IR 모듈입니다. 반송파 주파수는 38kHz입니다. 신호를 감지 한 다음 복조하는 광 검출기로 구성됩니다. 출력은 Arduino 또는 다른 마이크로 컨트롤러 보드에서 직접 사용됩니다.

TSOP 센서

릴레이 모듈은 스위칭 장치입니다. 두 가지 모드로 작동합니다. 상시 개방 (NO)일반적으로 닫힘 (NC) . NO 모드에서는 Arduino를 통해 릴레이에 HIGH 신호를 보내지 않는 한 회로가 항상 끊어집니다. NC 모드는 반대입니다. 릴레이 모듈을 켜지 않으면 회로는 항상 완전합니다. 아래 표시된 방법으로 전기 제품의 양극선을 릴레이 모듈에 연결했는지 확인하십시오.

릴레이 모듈

표준 TV 리모컨에는 전원 버튼과 모든 숫자 키가 있습니다. 이 숫자 키는 전기 제품의 전환에 사용됩니다.

3 단계 : 회로 만들기

이제 모든 구성 요소가 어떻게 작동하는지 알았으므로 계속해서 회로를 만들기 시작하겠습니다.

  1. 브레드 보드를 가져다가 Arduino Nano 및 TSOP 1738을 삽입합니다.
  2. Arduino를 통해 TSOP 1738 모듈과 릴레이 모듈의 전원을 켭니다. 연결 TSOP1738의 핀을 Arduino의 핀 11에 연결하고 릴레이 모듈의 핀을 Arduino에 연결합니다. 두 개의 전기 제품 만 제어하고 있으므로 여기서는 릴레이 모듈 만 사용하고 있습니다. 더 많은 기기를 제어하려면 마찬가지로 더 많은 릴레이 모듈을 연결하십시오.

    회로도

4 단계 : Arduino 시작하기

이전에 Arduino IDE에서 작업 한 적이 없더라도 Arduino IDE 설정 단계가 아래에 나와 있으므로 걱정하지 마십시오.

  1. Arduino 보드를 PC에 연결하고 제어판을 엽니 다. 클릭 하드웨어와 사운드. 지금 열다 장치 및 프린터 보드가 연결된 포트를 찾으십시오. 제 경우에는 COM14 하지만 컴퓨터마다 다릅니다.

    포트 찾기

  2. 도구 메뉴를 클릭하고 보드를 Arduino Nano (AT Mega 328P) .

    설정 보드

  3. 도구 메뉴를 다시 클릭하고 이전에 제어판에서 확인한 포트를 설정합니다.

    포트 설정

  4. 동일한 도구 메뉴에서 프로세서를 다음과 같이 설정하십시오. ATmega328p (이전 부트 로더) .

    프로세서 설정

  5. 리모컨에서 보낸 데이터를 디코딩하려면 A 코드 Arduino에 대한 특수 라이브러리가 필요합니다. 이 라이브러리는 아래 링크의 코드와 함께 첨부됩니다. 라이브러리 goto를 추가하려면 스케치> 라이브러리 포함> ZIP 라이브러리 추가 . 상자가 나타납니다. 컴퓨터에서 ZIP 폴더를 찾고 확인을 클릭하여 폴더를 포함합니다.

    라이브러리 포함

  6. 아래 첨부 된 코드를 다운로드하고 업로드 버튼을 클릭하여 Arduino Nano 보드에 코드를 굽습니다.

    업로드

클릭 다운로드 버튼을 눌러 코드를 가져옵니다.

5 단계 : 코드

코드는 이해하기 매우 쉽지만 아래에 간략하게 설명되어 있습니다.

1. 무효 설정 () INPUT 또는 OUTPUT 핀을 초기화하는 기능입니다. 이 기능은 또한 다음을 사용하여 전송 속도를 설정합니다. Serial.begin () 명령. Baud Rate는 마이크로 컨트롤러의 통신 속도입니다.

2. 무효 루프 () 루프에서 반복적으로 실행되는 함수입니다. 이 루프에서 마이크로 컨트롤러 보드에 수행 할 작업과 수행 방법을 알려주는 코드를 작성합니다.

3. TV 리모컨에서 데이터를 보낼 때 Arduino는이 데이터를 디코딩해야합니다. 이를 위해 우리는 특별한 라이브러리를 포함했습니다. #포함 <IRremote.h>. 이 라이브러리의 함수는 원격에서 전송 된 각 키의 데이터를 디코딩하는 데 사용됩니다.

#include int RECV_PIN = 11; IRrecv irrecv (RECV_PIN); decode_results 결과; void setup () {Serial.begin (9600); irrecv.enableIRIn (); } void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); irrecv.resume (); } 지연 (100); }

위의 코드는 리모컨에서 보낸 값을 읽고 해당 HEX 값으로 디코딩합니다. 이 코드는 Arduino IDE의 IRremote 라이브러리 예제에서 가져 왔습니다. 이 코드는 다운로드 링크에도 이름으로 첨부되어 있습니다. test.ino 위에 제공된. 모든 숫자 키를 눌렀을 때이 함수의 출력은 다음과 같습니다.

풀다

4.에서 code.ino 위의 다운로드 링크에 첨부 된 아두 이노의 핀이 초기화됩니다. 에서 무효 루프 () 기능, 리모컨의 버튼을 누르면 처음에 그릇된 조건이 진실 각 릴레이가 켜져 있습니다. 같은 버튼을 다시 누르면 부울 상태가 전환되고 릴레이가 꺼집니다. 전원 버튼은 모든 릴레이를 켜거나 끕니다.

void loop () {if (irrecv.decode (& results)) {Serial.println (results.value, HEX); 지연 (100); if (results.value == 0x40BD00FF) {i =! i; digitalWrite (IN1, i); } if (results.value == 0x40BD807F) {j =! j; digitalWrite (IN2, j); // 지연 (200); } if (results.value == 0x40BD28D7) {m =! m; digitalWrite (IN1, m); digitalWrite (IN2, m); digitalWrite (IN3, m); digitalWrite (IN4, m); // 지연 (200); } irrecv.resume (); // 다음 값 받기 // delay (100); }}

이것이 TV 리모컨으로 제어되는 간단한 홈 오토메이션 시스템을 만드는 전체 절차였습니다. 이제 가전 제품 수에 따라 릴레이 모듈을 연결하여 나만의 Smart Home Automation System을 즐길 수 있습니다.