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

Arduino, 1Sheeld 및 Android를 사용한 범용 원격 제어

구성품 및 소모품

Arduino UNO
× 1
1쉴드
× 1
IR 수신기(일반)
× 1
LED(일반)
× 1

이 프로젝트 정보

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

이 프로젝트는 Android 모바일을 사용하여 TV, 위성 수신기 및 스테레오를 제어하는 방법을 보여줍니다. 리모컨 대신 사용하세요.

기본적으로 이 기술을 리모컨으로 작동하는 다른 모든 장치에 적용할 수 있습니다. . 각 기기의 리모컨을 사용하는 대신 모바일로 집에 있는 모든 기기를 제어하고 싶었습니다.

이제 모바일에서 단 하나의 애플리케이션으로 홈 원격 장치를 원하는 만큼 제어할 수 있습니다!


먼저 , 이 단계에서 해야 할 일은 Google Play 스토어에서 Android 애플리케이션을 다운로드하는 것입니다. 신청

그럼 , 리모컨을 디코딩해야 합니다.

리모콘 핸드셋의 송신기는 사용자가 핸드셋의 버튼을 누르면 적외선 펄스 스트림을 보냅니다. 송신기는 종종 리모콘 핸드셋의 끝 부분에 내장된 발광 다이오드(LED)입니다. 적외선 펄스는 해당 버튼에 고유한 패턴을 형성합니다. 장치의 수신기가 패턴을 인식하고 장치가 그에 따라 응답하도록 합니다(Wikipedia).

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

간단히 IR 라이브러리를 다운로드해야 합니다. 아두이노용

해당 라이브러리의 예에서 IRrecvDump를 찾을 수 있습니다. 예(세 번째 이미지에 나와 있음). 리모콘의 데이터를 인코딩하는 데 사용되는 코드입니다.

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

업로드 후 Arduino에 대한 이 코드는 직렬 모니터를 열고 TV 리모컨의 아무 버튼이나 누르면 다섯 번째 이미지 이미지와 같은 것을 찾을 수 있습니다.

네 번째 이미지와 같이 리모컨의 각 버튼을 나타내는 16진수 코드를 찾을 수 있습니다. 기능에 해당하는 16진수를 기록해 두십시오(예:20DFC03F ,32는 전원 버튼을 나타냄).

참고 , "알 수 없는 인코딩"이 표시되면 버튼을 다시 누르십시오.


이제 장치에 명령을 전송하는 데 사용되는 코드를 업로드해야 합니다. 코드를 찾을 수 있지만 리모컨에 따라 약간의 변경이 있을 수 있습니다.

여기서 해야 할 일은 16진수 값으로 바꾸는 것입니다. (0x20DF10EF로) ) 전원 버튼, 볼륨 업/다운 버튼 및 원하는 기타 버튼에서 얻은 값으로.

1Sheeld 모바일 애플리케이션에는 원격 제어 인터페이스가 없기 때문에 KeyPad shield를 사용했습니다. 리모컨으로 키보드 실드를 선택할 수 있습니다. 훨씬 더 많은 기기에서도 사용할 수 있습니다.


테스트

드디어 , IR LED를 사용합니다. 핀 3에서 아두이노에 넣고 그림과 같이 장치 앞의 옆에 놓습니다.

이제 1Sheeld 모바일 애플리케이션을 열고 쉴드와 연결한 다음 키패드 쉴드를 선택하세요. 이 모든 것이 동영상에 나와 있습니다.

이제 휴대폰의 버튼을 누르면 전원 켜기, 볼륨 높이기, 볼륨 낮추기 등의 해당 작업이 수행됩니다.


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

코드

<울>
  • 리모컨 코드
  • 원격 제어 코드C/C++
    이 코드는 키패드 실드의 여러 버튼을 사용하여 TV를 켜고 끄고, 위성 수신기 채널을 변경하고, 스테레오를 제어합니다.
    #include #include IRsend irsend;void setup( ) { OneSheeld.begin();} 무효 루프(){ 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); // Sony TV 전원 코드 delay(40); } }}

    제조공정

    1. Arduino와 스마트폰을 사용한 DIY 전압계
    2. IoT를 사용하여 로봇 팔 원격 제어
    3. Raspberry Motor Shield를 사용한 Android 제어 장난감
    4. Arduino를 사용한 주파수 및 듀티 사이클 측정
    5. Firmata 및 Xbox One 컨트롤러를 사용하여 Arduino Rover 제어
    6. 볼트와 Arduino를 사용하여 LED 밝기 제어
    7. Arduino를 사용한 간단하고 스마트한 로봇 팔
    8. Alexa 및 Arduino IoT Cloud를 사용하여 TV 전체 제어
    9. Arduino 및 RDA8057M을 사용하는 FM 라디오
    10. iOS 및 Android에서 Arduino의 깜박이는 LED