스크린 세이버가 작동하지 않는 장치를 만들었습니다.

8384 단어 Arduino

소개



넷 서핑하고 있으면 「 스크린 세이버의 동작을 막는 USB 어댑터 「닌자」가 오랜만에 입하 」라고 하는 기사를 발견했습니다.
생각해 보면, 사무실에서는 시간에 따라 자동으로 PC를 잠그는 설정으로 하고 있습니다만, 재택 근무에서는 그 필요도 없습니다.
Arduino를 사용하면 간단하게 만들 수 있다고 생각했기 때문에, 집에 남아 있던 Arduino 호환기(?)로 만들어 보았습니다.

가정하는 사용 환경은 다음과 같습니다.
  • OS: Windows, Mac, Linux
  • 드라이버를 설치하지 않고 사용할 수 있습니다
  • 찌르는 것만으로 동작을 시작한다

  • 사용한 것



    이번에는 Digispark의 USB Development Board을 사용했습니다. 보드와 USB 커넥터가 일체로 되어 있어 케이블 등을 사용하지 않고 접속할 수 있는 것입니다.
    ATTINY85라고 하는 마이크로컴퓨터가 사용되고 있어, 「Digispark ATTINY85」로 검색하면 다양한 메이커의 것이 히트합니다.

    나는 eBay에서 3개 AU$8.95(당시의 일본 엔으로 777엔)로 구입했습니다.
    eBay라면 도착하는데 시간이 걸리므로, 서둘러 있는 분은 조금 비싸지만 아마존 로 구입하는 것도 좋다고 생각합니다.

    USB Micro 케이블을 사용하는 유형 도 있으므로, 기호로 선택해 주셨으면 좋겠습니다.


    개발



    이번에는 Windows10에서 개발하고 있습니다. 다른 OS에서는 동작이 약간 다를 수 있습니다.

    준비



    보드에 쓰려면 "Arduino IDE"이 필요하므로 설치하십시오.

    Digispark 보드에 쓰려면 Arduino IDE에서 설정이 필요합니다.
    Digispark의 Wiki에 절차가 기재되어 있으므로 기재대로 진행합니다.
    ht tp // // ㎢ s mp. 코 m / ぃき / ぢぎ s ぱ rk / 츠토리아 ls / 콘 c 친g

    설정을 눌러 나온 화면의 '추가 보드 관리자 URL'에 다음 URL을 추가합니다.http://digistump.com/package_digistump_index.json


    보드 관리자에서 "Digistump AVR Boards"를 추가합니다. 다운로드가 시작되고 조금 시간이 걸립니다.


    보드에서 Digispark (Default - 16.5mhz)를 선택합니다.


    일부 환경에서는 쓰기에 드라이버가 필요할 수 있습니다. GitHub에서 구할 수 있으므로 OS에 맞게 설치하십시오. htps : // 기주 b. 코 m / ㎢ s mp / ㎢ s m 파 r 즈의 / t ree / ms r / 및 ls

    쓰기시주의 사항



    이 보드는 쓰기 전에 PC에서 분리해야 합니다.
    Arduino IDE에서 "마이컴 보드에 굽기"를 선택한 후 다음 메시지가 표시되므로 찌릅니다.
    Running Digispark Uploader...
    Plug in device now... (will timeout in 60 seconds)
    

    쓰기가 성공하면 다음 메시지가 표시됩니다.
    >> Micronucleus done. Thank you!
    

    코드



    마우스 커서를 5초마다 위아래로 움직이는 코드를 썼습니다.
  • 마우스 커서를 위로 움직입니다 (LED를 끕니다)
  • 100ms 기다린다
  • 마우스 커서를 아래로 움직입니다 (LED를 켜십시오)
  • 5초 기다린다
  • 1로 돌아가기

  • 라는 흐름이 되고 있습니다.
    작동 중임을 알 수 있도록 LED가 깜박입니다.
    MOUSE_MOVE_AMOUNT 에서 마우스 이동량, TIME_INTERVAL_S 로 처리 간격(위 흐름에서 4초)을 조정할 수 있습니다.MOUSE_MOVE_AMOUNT 를 100으로 바꾸면 동작하는 모습을 확인할 수 있습니다.

    수중에 있던 MacBook Pro와 개발한 Windows와는 다른 Windows 머신에서 동작을 확인할 수 있습니다. 드라이버 설치도 필요하지 않습니다.

    GitHub에서도 공개하고 있으므로 좋으면 Star를 누르면 텐션이 올라갑니다.
    htps : // 기주 b. 코 m / 마 rc0468 / BぉckSc Reensaゔぇr
    #include <DigiMouse.h>
    
    #define MOUSE_MOVE_AMOUNT 1
    #define TIME_INTERVAL_S 5
    
    int time_interval_ms = TIME_INTERVAL_S * 1000;
    
    void setup()
    {
      pinMode(0, OUTPUT); //LED on Model B
      pinMode(1, OUTPUT); //LED on Model A  
      DigiMouse.begin();  //start or reenumerate USB
    }
    
    void loop()
    {
      DigiMouse.moveY(MOUSE_MOVE_AMOUNT);
      digitalWrite(0, LOW); // LED OFF
      digitalWrite(1, LOW);
      DigiMouse.delay(100);
    
      DigiMouse.moveY(-1 * MOUSE_MOVE_AMOUNT);
      digitalWrite(0, HIGH); // LED ON
      digitalWrite(1, HIGH); 
      DigiMouse.delay(time_interval_ms);
    }
    

    좋은 웹페이지 즐겨찾기