テキストテレポーター
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
アプリとオンラインサービス
> |
| |||
|
このプロジェクトについて
これはHacksterに関する私の最初のプロジェクトであり、あるデバイスから別のデバイスに貼り付ける必要のあるテキストをコピーする手間を省くためのものです。貼り付けたいものを自分でメールまたはテキストメッセージで送信し、メールまたはFacebookを開いてそのテキストをコピーすることがありました。 Googleは現在、ChromeとGoogleアカウントを持っている場合にデスクトップに貼り付けることができるサービスを提供していますが、私はどのデバイスでも機能する全体的なソリューションを作成したいと考えていました(そして、主にArduinoをいじくり回して、シンプルでありながら便利なプロジェクト)。このプロジェクトはかなり簡単で、Arduinoを使用したことがなくても、誰でも作成できます。したがって、この問題に直面したと感じた場合は、このプロジェクトを自由に試してみてください。このプロジェクトを理解するために必要なすべてのことを説明しました。
ステップ1:必要な部品 <図> <図> <図> <図>
このプロジェクトでは、 Arduino Micro を使用します ただし、 ATmega32u4 で任意のArduino互換ボードを使用できます ヒューマンインターフェイスデバイスとして機能できるため、メインプロセッサとして(HID);この場合、キーボード。 Microchip社のSAMD21やSAMD51などの他のプロセッサでこのプロジェクトをテストしたことはありません。
また、Arduinoボードをプログラムするには、ブレッドボードといくつかのジャンパー線、HC-05 Bluetoothモジュール、およびマイクロUSBタイプBケーブルが必要です。
これらの部品以外に、プロジェクトをテストするには明らかにラップトップとスマートフォンが必要です。
ステップ2:回路図 <図>
シリアル通信を使用して、ArduinoMicroをHC-05モジュールに接続します。 Arduinoには2つの通信ポートがあります。 シリアル インターフェイスはコンピュータ(シリアルモニター)間の通信用に予約されているため、シリアル1 を使用します ArduinoとHC-05モジュール間で通信するためのインターフェース。接続は非常に簡単です:
- HC-05のRX ArduinoMicroのTX に移動します
- HC-05のTX ArduinoMicroのRX に移動します
- HC-05のGND ArduinoMicroのGND に移動します
- HC-05のVCC + 5VのArduinoMicro に移動します
キーは使用しません および州 HC-05のピン。
接続後、ビルドは次のようになります:
<図>
ステップ3:コードを理解する
/ *プロジェクト名:Text Teleporter
*あるデバイスからBluetooth経由で文字列形式のテキストを受信し、別のデバイスに入力(貼り付け)します。
*対象:Arduino Micro / Leonardo / Due / Pro Micro(ATMega 32U4)
*作成者:Advik Singhania
*作成日:2020年10月11日; 11:23 AM IST
* /
// Arduinoが
//キーボードを制御して文字列を貼り付けるためのキーボードヘッダーファイル
#include "Keyboard .h "
void setup(){
// bluetoothのシリアルポートを開きます:
Serial1.begin(9600);
//の制御を初期化しますキーボード:
Keyboard.begin();
}
void loop(){
//着信シリアルデータを確認します:
if(Serial1。 available()> 0){
//着信シリアルデータを読み取ります:
String a =Serial1.readString();
//テキストを入力します:
Keyboard.print(a );
}
delay(10); // 10ミリ秒の遅延
}
最初に、 Keyboard.h
を使用することをコンパイラに通知する必要があります。 ArduinoMicroで利用可能なHID関数を使用するためのライブラリからのヘッダーファイル。コンパイラはこのヘッダーファイルをプログラムにリンクし、ボードにアップロードします。
デフォルトの setup()
機能、モジュールに接続するためのシリアルポートを開くプロセスを開始します。 9600
デフォルトのボーレートです。 HC-05Bluetoothモジュールで使用されるデータ伝送の速度。次に、使用するキーボードを初期化します。かなり自明です。このブロックは1回だけ実行され、Arduinoのリセットボタンを押すことで再実行できます。
loop()
関数はその中のコードを繰り返し続けるので、貼り付けたいテキストを何度でも送信できます。 Arduinoが接続があり、Serial1インターフェースを介してデータを送信する準備ができていることを検出した場合、変数 a
を宣言します。 データ型の String
Serial1(bluetooth)に送信されるテキストを文字列として保存し、 Keyboard.print()
を使用します キーボードを制御し、文字列を入力する関数 a (コピーされたテキスト)。 if
条件は else
を必要とせずに機能します ブロックすれば、条件が失敗した場合に何も書く必要がないので、それで害はありません。
このコードは、こちらのGitHubリポジトリでも入手できるので、修正があれば歓迎します。コードを記述したら、正しいボードを選択していることを確認してください およびポート ツールメニューからアップロードをクリックします(アップロードする前にHC-05のRXおよびTXワイヤーを取り外します)。
ステップ4:すべてを構成する
コードをアップロードしたら、RX線とTX線を再度接続します。スマートフォンのBluetooth設定に移動し、スキャンリストに HC-05が表示されているかどうかを確認します。 それをタップすると、 1234 のパスワードが要求されます デフォルトで。
接続に成功したら、このアプリまたはターミナルモードを提供できるその他のBluetoothクライアントをインストールする必要があります。
<図> <図> <図>アプリは、以前にオンになっていない場合はブルートゥースをオンにするように求めます。はい/許可をタップします。 次に、2つのリストが表示されます:デバイスに接続 および利用可能なデバイス。 HC-05は最初のリストの下にリストされているはずです。それをタップし、接続の下にあります オプションについては、ターミナルモードをクリックしてください 。成功すると、コピーしたテキストを貼り付けることができるコマンドボックスに入力が表示されます。
NEXT PROTOTYPES でBluetoothシリアルコントローラーアプリを使用することもできます。 ここでは、右上の[接続]ボタンをクリックして、HC-05を見つける必要があります。デフォルトのインターフェースは横向きで、テキストを入力するための多くのボタンと小さな端子ボックスがあります。 x をタップする必要があることに注意してください 何か新しいものを入力したい場合は、テキストを送信した後、左下のボタンをクリックしてください。
Enterキーを押す前に、必ずメモ帳を開くか、テキストを貼り付ける場所にカーソルを移動してください。画面にテキストを入力する必要があります。ここで重要なのは、Arduinoがキーボードを制御し、作業中は他に何も入力できないことです。
ステップ5:完了。次は何ですか?
このプロジェクトを作成し、永続的にしたい場合は、Bluetoothモジュールを使用してPCBにはんだ付けし、便利な状況に備えて自作のデバイスとして保管できます。ただし、CMDにコマンドを入力するなど、危険な可能性のある悪意のある使用法もあります。したがって、注意してください。 OTGケーブルをお持ちの場合は、ArduinoのUSBケーブルを携帯電話に接続できます。同じように機能するはずです。お時間を割いてこのプロジェクトを作っていただきありがとうございます。フィードバックの下にコメントして、疑問がある場合は質問してください。できる限りお答えします。
コード
- テキストテレポーターコード
テキストテレポーターコード Arduino
ArduinoIDEでコードをコピーします。 [ツール]メニューから適切なボードとポートを選択したかどうかを確認し、[アップロード]をクリックします。/ *プロジェクト名:テキストテレポーター*あるデバイスからBluetooth経由で文字列形式のテキストを受信し、別のデバイスに入力(貼り付け)します端末。 *対象:Arduino Micro / Leonardo / Due / Pro Micro(ATMega 32U4)*作成者:Advik Singhania *作成日:2020年10月11日; 11:23 AM IST * /// Arduinoがキーボードを制御して文字列を貼り付けるためのキーボードヘッダーファイル#include "Keyboard.h" void setup(){// Bluetoothのシリアルポートを開く:Serial1.begin (9600); //キーボードの制御を初期化します:Keyboard.begin();} void loop(){//着信シリアルデータをチェックします:if(Serial1.available()> 0){//着信シリアルデータを読み取ります:String a =Serial1 .readString(); //テキストを入力します:Keyboard.print(a); } delay(10); // 10ミリ秒の遅延}
回路図
製造プロセス