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

Arduino PowerPoint 포인터

구성품 및 소모품

Arduino Leonardo
× 1
IR 수신기(일반)
× 1
TV 리모컨
× 1

이 프로젝트 정보

지난번에 파워포인트 프레젠테이션을 해야 했을 때 항상 마우스를 손에 쥐고 있어야 하는 점이 매우 답답했는데, 이 기능을 위한 단순한 디자인이 아니었습니다.

"Arduino 소개"라는 제목의 새 프레젠테이션이 시작되면서 Arduino 보드의 일부 기능을 보여주고 이를 사용하여 빠른 파워 포인트 프리젠터 도구를 구축할 수 있는 가장 좋은 방법이 무엇일까 생각했습니다.

가장 먼저 떠오르는 아이디어는 "TV 리모컨을 사용하지 않는 이유는 무엇입니까?"입니다. 마우스보다 더 인체공학적인 위치에 고정되도록 디자인(이 경우).

구성 요소

이 프로젝트에는 다음이 필요합니다.

1x TV 리모컨

1x Arduino Leonardo(UNO로도 가능하지만 일부 수정이 필요함)

1x IR 센서(내 제품은 VS1838B임)

선택 사항 - perfboard를 사용하여 매우 쉬운 방패를 만듭니다.

구성 요소 연결

연결 다이어그램은 매우 쉽고 간단합니다. 센서의 GND를 Arduino의 GND 핀에 연결하고, 센서의 5V를 Arduino의 5V 핀에 연결하고, 센서의 데이터 핀을 Arduino의 디지털 핀 2에 연결합니다.

코드

코드 부분은 두 단계로 나뉩니다. 첫 번째 방법에서는 TV 리모컨에서 사용하려는 키를 읽어야 합니다. 이를 위해 리모컨에서 보내는 IR 신호를 디코딩할 수 있습니다.

두 번째 부분에서는 1단계의 정보를 사용하고 PowerPoint 포인터로 새 기능에 키를 할당합니다.

먼저 IRremote Arduino 라이브러리를 다운로드하여 올바른 폴더에 설치하세요. 여기에서 다운로드할 수 있습니다.

github 페이지에서 권장하는 설치 절차를 따르는 것을 잊지 마십시오.

1단계에서는 코드 1을 Arduino에 업로드합니다. 직렬 모니터 창을 열고 모든 것이 정상이면 TV 리모컨의 키를 누를 때마다 다른 숫자로 시작해야 합니다.

사용하려는 키에 해당하는 번호를 저장합니다. 제 경우에는 TV 리모컨의 중앙 앞 뒤로 키를 사용했습니다.

코드 2의 "If" 구조에서 내 번호를 교체하고 업로드하세요.

Arduino Leonardo를 사용하는 경우 업로드 후 선택한 TV 리모컨 키를 누를 때마다 키보드에서 앞으로 및 뒤로 화살표 역할을 합니다.

파워포인트

이제 프레젠테이션을 열고 "슬라이드 모드"에 있는 경우 TV 리모컨에서 이전에 선택한 키를 누를 때마다 슬라이드가 앞뒤로 변경됩니다.

기타 Arduino 보드

다른 Arduino 보드를 사용하는 경우 이 프로젝트를 빌드하는 것도 가능하지만 몇 가지 변경이 필요하다고 생각합니다.

가장 큰 차이점은 ATmega328과 컴퓨터 간의 통신을 담당하는 Atmega8U2 또는 이에 상응하는 칩을 플래시해야 한다는 것입니다. Arduino Leonardo를 사용하면 Zero 및 DUE가 정의되고 컴퓨터에 연결될 때 기본 키보드 또는 마우스로 표시되기 때문에 이 작업을 수행할 필요가 없었습니다.

forum.arduino.cc에 이 주제에 대한 몇 가지 지원이 있습니다.

이 변경을 수행하는 경우 다른 사용자도 알 수 있도록 이 정보를 이 프로젝트 페이지에 게시하거나 알려주십시오. :)

평소와 같이 오류를 발견했거나 제안/개선 사항 또는 질문이 있는 경우 저에게 편지를 보내주십시오.

읽어주셔서 감사합니다.

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

코드

<울>
  • PPT_Pointer_Code_2.ino
  • PPT_Pointer_Code_1.ino
  • PPT_Pointer_Code_2.ino아두이노
    #include #include "Keyboard.h"int RECV_PIN =2;IRrecv recv(RECV_PIN);decode_results 결과;int key_pressed;int last_key_pressed;void setup(){ Serial.begin(9600); 불가.enableIRIn(); // 수신기를 시작하여 Keyboard.begin();}void loop() {//TV 리모컨을 읽기 위한 항목 if (irrecv.decode(&results)) { key_pressed =results.value; Serial.println(key_pressed); recv.resume(); // 다음 값 수신 } if (key_pressed ==last_key_pressed) key_pressed =0; //한 번만 확인하고 싶습니다. 어떤 키가 눌렸는지 if (key_pressed ==18105) { //원격 Keyboard.press(KEY_RIGHT_ARROW)에서 사용하려는 키에 따라 이 숫자를 변경합니다. Keyboard.releaseAll(); } if (key_pressed ==-22951) {//원격 Keyboard.press(KEY_LEFT_ARROW)에서 사용하려는 키에 따라 이 숫자를 변경합니다. Keyboard.releaseAll(); } last_key_pressed =key_pressed;}
    PPT_Pointer_Code_1.ino아두이노
    #include int RECV_PIN =2;IRrecv recv(RECV_PIN);decode_results 결과;int key_pressed;void setup(){ Serial.begin(9600); 불가.enableIRIn(); // 수신기 시작}void loop() { if (irrecv.decode(&results)) { key_pressed =results.value; Serial.println(key_pressed); recv.resume(); // 다음 값 수신 } delay(100);}

    회로도


    제조공정

    1. 레이저 포인터
    2. Raspberry Pi 범용 리모컨
    3. Arduino 스파이봇
    4. FlickMote
    5. 수제 TV B-Gone
    6. Arduino, 1Sheeld 및 Android를 사용한 범용 원격 제어
    7. 마스터 시계
    8. 나를 찾기
    9. Arduino Power
    10. Tech-TicTacToe