ArduinoPowerPointポインター
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 |
このプロジェクトについて
前回PowerPointプレゼンテーションを行う必要があったときは、マウスを手に持っているのは非常にイライラしました。この機能のシンプルなデザインではありませんでした。
「Arduinoの紹介」というタイトルの新しいプレゼンテーションが登場したので、Arduinoボードの機能のいくつかを示してから、それを使ってクイックパワーポイントプレゼンターツールを構築するための最良の方法を考えました。
ポップスの最初のアイデアは、「テレビのリモコンを使ってみませんか?」です。マウスよりも人間工学的な位置に保持されるように設計します(この場合)。
<図>
コンポーネント
このプロジェクトには、次のものが必要です。
1xテレビリモコン
1x Arduino Leonardo(UNOでも可能ですが、いくつかの変更が必要です)
1x IRセンサー(私のはVS1838Bです)
オプション-perfboardを使用して非常に簡単なシールドを作成します
<図>コンポーネントを接続する
接続図は非常に簡単で、センサーからArduino GNDピンにGNDを接続し、センサーからArduinoの5Vピンに5Vを接続し、センサーからArduinoのデジタルピン2にデータピンを接続します。
<図>
コード
コード部分は2つのステップに分かれています。最初のものでは、使用したいキーをテレビのリモコンから読み取る必要があります。このため、リモコンから送信されたIR信号をデコードできます。
第2部では、ステップ1の情報を使用して、PowerPointerポインターとして新しい機能にキーを割り当てます。
まず、IRremote Arduinoライブラリをダウンロードして、正しいフォルダにインストールします。そこからダウンロードできます。
githubページで推奨されているインストール手順に従うことを忘れないでください。
ステップ1では、コード1をArduinoにアップロードします。シリアルモニターウィンドウを開きます。すべて問題がなければ、テレビのリモコンのキーを押すたびに異なる番号から始めてください。
<図>使用するキーに対応する番号を保存します。私の場合、テレビのリモコンの中央の前方キーと後方キーを使用しました。
コード2の「If」構造の番号を置き換えてアップロードします。
<図>Arduino Leonardoを使用している場合、アップロード後、選択したTVリモコンのキーを押すたびに、キーボードからの前後の矢印として機能します。
<図>
PowerPointの場合
次にプレゼンテーションを開きます。「スライドモード」の場合、テレビのリモコンから前に選択したキーを押すたびに、スライドが前後に変わります。
その他のArduinoボード
他のArduinoボードを使用している場合は、このプロジェクトをビルドすることも可能だと思いますが、いくつかの変更を行う必要があります。
大きな違いは、ATmega328とコンピュータ間の通信を担当するAtmega8U2または同等のチップをフラッシュする必要があることです。 Arduino Leonardoでは、ゼロとDUEを定義してコンピューターに接続すると、ネイティブのキーボードまたはマウスとして表示されるため、これを行う必要はありませんでした。
forum.arduino.ccでこのテーマに関するサポートがいくつかあります。
この変更を行う場合は、他のユーザーにも通知されるように、この情報をこのプロジェクトページに通知するか、投稿してください:)
いつものように、間違いを見つけた場合、または提案/改善や質問がある場合は、私に書いてください。
読んでくれてありがとう。
コード
- PPT_Pointer_Code_2.ino
- PPT_Pointer_Code_1.ino
PPT_Pointer_Code_2.ino Arduino
#include#include "Keyboard.h" int RECV_PIN =2; IRrecv irrecv(RECV_PIN); decode_results results; int key_pressed; int last_key_pressed; void setup(){Serial.begin(9600); irrecv.enableIRIn(); //受信機を起動しますKeyboard.begin();} void loop(){// TVリモコンを読み取るためのものif(irrecv.decode(&results)){key_pressed =results.value; Serial.println(key_pressed); irrecv.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 Arduino
#includeint RECV_PIN =2; IRrecv irrecv(RECV_PIN); decode_results results; int key_pressed; void setup(){Serial.begin(9600); irrecv.enableIRIn(); //レシーバーを起動します} void loop(){if(irrecv.decode(&results)){key_pressed =results.value; Serial.println(key_pressed); irrecv.resume(); //次の値を受け取ります} delay(100);}
回路図
製造プロセス