HID リレー、有線キーボードから Bluetooth プロジェクトへの学習: 失敗した試行を記憶する
組み込みを学び始めて最も不快な点の 1 つは、コンピューターのポートが十分にないことです。私のコンピュータには 2 つの USB ポートと 1 つの TypeC ポートがあり、マウスとキーボードを USB ポートに接続し、stm32 と 51 も USB ポートに接続する必要があります。
次に、書き込むときは、キーボードのプラグを抜いてから最初に書き込みます。コードが間違っている場合は、キーボードを接続して再度入力し、接続を外して書き込み、キーボードを接続して入力してから接続を外します。
その後、セカンドコントロールキーボードを購入しましたが、感触はアリスよりもはるかに悪いです。
新しいマウスとキーボード (コンピューターでさえも) を購入したくありません。偶然にも、私は同じアイデアを持った組み込み型の前任者を見つけ、彼は有線のキーボードから Bluetooth へのデバイスを開発しました。
使用される主な開発ボードは arduino pro mini です。成功すれば、プロジェクトを成功させるのは初めての経験になります。ですから、この興味深いプロジェクトは試してみる価値があると思います。
チップ、ハードウェア、電気はんだごてを購入することから始め、ホームセンターに何度も足を運び、何列ものピンをはんだ付けし、左手の親指にやけどや穴をあけるという 2 倍の代償を払い、そして最後に――
私は失敗しました。
それをより良く改善したり、成功を達成しようとするのではなく、なぜ失敗したときにそれについて話さなければならないのでしょうか?
5月は本当に忙しいので。コースの宿題の要件に加えて、大小さまざまな課外活動があり、コードを作成し、ビデオを作成し、テストをテストします... 本当に時間がないことはわかっています。少なくとも今のところ、彼を直すために費やす。
しかし、これは私の最初のプロジェクトであり、失敗したとしても、この小さなことは私にとって大きな価値があります. また、そこから多くのことを学びました。
そこで私は、この「失敗」の経験の要約を書き留めて、彼に一時的にセミコロンを付けることにしました。いつか将来、私がもっと能力を発揮できれば、段ボール箱からこのガジェットを取り出して修理し、この記事を完成させることができるかもしれません.
材料の選択
-
メイン開発ボード: arduino pro mini、3.3V。これまで遊んだarduinoボードと比べて、pro miniは小型で消費電力が少ないので、有線キーボードのBluetoothコンバーターを設計するのに使用すると、コンパクトになるだけでなく、電力も節約できます。
-
USB Host Shield 2.0 拡張ボードは USB インターフェイスを提供し、arduino などにマウス、キーボード、U ディスクの接続などの USB ホスト機能を持たせることができます。通信に使用できる spi インターフェイスもあります。
- FTDI社製の汎用USBインターフェース変換IC FT232RL。USBインターフェースを標準のシリアルインターフェースに変換できます。
- ブルートゥースモジュール。
- ブレッドボード、ブレッドボード電源モジュール。
回路図
簡単な原則:
まず、ミニボードはコンピューターと通信できません.FT232RLを介して、コンピューターのUSBインターフェースをarduinoが受信できるI2Cシリアルインターフェースに変換する必要があります. このようにして通信焼き付けを行うことができる。
その場合、キーボードからの入力データを arduino に直接送信することはできません。USB ホスト シールドを介してデータを変換できます。また、データを USB で受信できるシリアル インターフェイス タイプに変換することもできます。
溶接
画像ソース:モジュールに USB サポートが追加された USB Host Shield Mini - schaepher - 博客园 (cnblogs.com)
まず、USB ホスト シールドの Vcc-2k2 部分を切り取り、arduino に接続します。
あなたはなぜこれをやっているのですか?キーボードは 5V で給電する必要がありますが、USB ホスト シールドの Vcc は 3.3V に接続されているため、それを切断して arduino の 5V ピンに接続する必要があります。
そこで、Vcc以上の穴をハンダ付けし、引き出し用のワイヤーを接続し、しばらくしてarduinoに接続します。
- arduino pro mini の場合、すべてのピン ヘッダーを直接はんだ付けし、USB ホスト シールドのすぐ前に差し込むだけです。ワイヤは右下隅の RAW ピンに接続されています。
- FT232RL と Arduino Pro mini を 6 本のメス - メスのデュポン ワイヤで接続します。または、写真のようにピンの列をはんだ付けします。
- ブレッドボードに Arduino Pro mini の下側ピンヘッダーを挿入し、ブレッドボードを 3.3V 電源に接続します。
RAW と GND は引き出され、3.3V と GND に接続されます。FT232 と arduino の両方がオンになっていて、arduino がまだ点滅している場合は、プログラミングの準備ができていることを意味します。(USB ホスト シールドを有線キーボードに接続します)
燃焼
コードのダウンロード:
https://github.com/felis/USB_Host_Shield_2.0
-
コード パッケージを arduino フォルダーの下の libraries フォルダーに解凍します。
-
arduino の電源を入れ、例のプロジェクトを開きます。
- パソコンと FT232 をリンクし、プログラムをダウンロードします。ダウンロード プロセス中、FT232 の黄色のライトが激しく点滅し、点滅後にダウンロードが成功します。
シリアル ポートを開きます。
おお~ここで失敗しました。正常に実行されている場合は、start が表示され、キーが押された後にキー情報がリアルタイムで出力されます。
反射する
ここでの私の質問は多いかもしれません。ボタンを押してもボタン情報が出力されないため、シリアルモニタの文字化けの問題だけでなく、リンク回路の問題もあり、データ転送エラーとなります。
しかし、この試みと記録を通じて、少なくとも私は電気はんだごての使い方を学び、これらのハードウェアについてある程度理解しました。今後機会があれば、別のモジュールから学び、プロジェクトのコードロジックを勉強し、問題の原因を徐々に調査することができます〜
おやすみなさい、HIDリレーです。