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

아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기

부품 및 소모품

부품 수량
아두이노 우노 (Arduino UNO) 1
1Sheeld 1
IR 수신기 (범용) 1
LED (범용) 1

프로젝트 소개

이 프로젝트는 기존 리모컨 대신 사용하는 방법을 보여줍니다.

이 프로젝트는 안드로이드 모바일로 TV, 위성 수신기, 오디오 시스템을 제어하는 방법을 보여줍니다.

기본적으로 이 기술은 리모컨으로 작동하는 모든 기기에 적용 가능합니다. 각 기기의 리모컨 대신 휴대폰 하나로 집 안의 모든 기기를 제어할 수 있으면 좋겠다고 생각했습니다.

이제 휴대폰의 단 1개 애플리케이션으로 원하는 만큼 많은 집 안 리모컨 기기를 제어할 수 있습니다!

첫째, 구글 플레이 스토어에서 안드로이드 애플리케이션을 다운로드해야 합니다. 애플리케이션

둘째, 리모컨 디코딩을 해야 합니다.

리모컨 손전등의 송신기는 사용자가 손전등의 버튼을 누를 때 적외선 펄스 스트림을 보냅니다. 송신기는 주로 리모컨 손전등의 앞쪽에 내장된 발광 다이오드(LED)입니다. 적외선 펄스는 해당 버튼 고유의 패턴을 형성합니다. 기기의 수신기는 이 패턴을 인식하고 기기가 해당 동작을 수행하도록 합니다(위키피디아).

따라서 각 버튼의 고유 패턴을 알아야 합니다.

간단히 아두이노용 IR 라이브러리를 다운로드하세요.

그 라이브러리의 예제에서 IRrecvDump 예제를 찾을 수 있습니다(세 번째 이미지 참조). 이 코드는 리모컨에서 데이터를 인코딩하는 데 사용됩니다.

IR 수신기를 배선해야 합니다. 그림과 같이:
1- 그라운드
2- 5V
3- 핀 11

이 코드를 아두이노에 업로드한 후 시리얼 모니터를 열고 TV 리모컨의 아무 버튼이나 누르면 다섯 번째 이미지 같은 결과를 볼 수 있습니다.

네 번째 이미지에서 볼 수 있듯이, 리모컨 각 버튼을 가리키는 16진수 코드를 찾을 수 있습니다. 이 16진수 숫자를 해당 기능에 맞춰 적어두세요 (예: 20DFC03F, 32는 전원 버튼).

참고, "unknown encoding"이 뜨면 버튼을 다시 누르세요.

아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기

이제 장치에 명령을 전송하는 코드를 업로드해야 합니다. 코드는 있지만 리모컨에 따라 작은 수정이 필요합니다.

여기서 해야 할 일은 16진수 값을 (0x20DF10EF)처럼 전원 버튼, 볼륨 업/다운 버튼 등 원하는 버튼에서 얻은 값으로 교체하는 것입니다.

1Sheeld 모바일 애플리케이션에 리모컨 인터페이스가 없어 키패드 실드를 리모컨 컨트롤러로 사용했습니다. 더 많은 기기를 위해 키보드 실드를 선택할 수도 있습니다.

아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기

테스트

마지막으로, 아두이노 핀 3에 IR LED를 연결하고 장치 앞에 놓으세요.

이제 1Sheeld 모바일 애플리케이션을 열고 실드와 연결한 후 키패드 실드를 선택하세요. 이 모든 과정이 비디오에 나와 있습니다.

이제 휴대폰에서 버튼을 누르면 전원 켜기, 볼륨 업/다운 등 해당 작업이 수행됩니다.

아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기
아두이노, 1Sheeld, IR 제어로 만능 안드로이드 리모컨 만들기

코드

리모컨 제어 코드 (C/C++)

키패드 실드의 여러 버튼을 사용하여 TV 켜기/끄기, 위성 수신기 채널 변경, 오디오 제어.

#include 
#include 

IRsend irsend;

void setup() {
  OneSheeld.begin();
}

void loop() {
  if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(0)) {
    irsend.sendNEC(0x20DF10EF, 32);
  } else if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(1)) {
    irsend.sendNEC(0x20DFC03F, 32);
  } else if (Keypad.isRowPressed(0) && Keypad.isColumnPressed(2)) {
    irsend.sendNEC(0x20DF40BF, 32);
  } else if (Keypad.isRowPressed(1) && Keypad.isColumnPressed(1)) {
    irsend.sendNEC(0x41048B7, 32);
  } else if (Keypad.isRowPressed(1) && Keypad.isColumnPressed(0)) {
    irsend.sendNEC(0x410C837, 32);
  } else if (Keypad.isRowPressed(2) && Keypad.isColumnPressed(0)) {
    for (int i = 0; i < 3; i++) {
      irsend.sendSony(0xa81, 12); // 소니 TV 전원 코드
      delay(40);
    }
  }
}

제조공정

  1. 아두이노와 스마트폰으로 만드는 스마트 전압계 – 초간단 DIY 프로젝트
  2. 원격 IoT 제어 커스텀 로봇 팔: 아두이노 MKR1000과 심링크(Simulink) 활용
  3. 라즈베리파이 모터 쉴드로 만드는 안드로이드 제어 원격 주행 로봇
  4. 아두이노 우노로 정밀 주파수 & 듀티 사이클 측정기 만들기
  5. 펌마타(Firmata)와 엑스박스 원 게임패드로 아두이노 로버 원활하게 제어하기
  6. 볼트 IoT와 아두이노 우노로 구현하는 무선 LED 밝기 제어 (PWM 6채널)
  7. 스마트 아두이노 제어 로봇 팔 제작: 쉬운 DIY 튜토리얼
  8. 아두이노 IoT 클라우드로 알렉사와 TV 제어하기: 단계별 가이드
  9. 아두이노 나노와 RDA8057M으로 소형 FM 라디오 만들기
  10. 와이파이/이더넷으로 iOS·안드로이드 앱에서 아두이노 LED 제어하기