ご存知のように、人々は2つのカテゴリに分類されます。Ctrl+ Shiftを使用してレイアウトを切り替える人と、Alt + Shiftを使用する人です。 そして、それを必要としない幸運な人がいます-レイアウトが1つだけの人(通常は英語)。 残りはthemましく、英語、ロシア語、ウクライナ語(ベラルーシ語、カザフ語など)の2つまたは3つのレイアウトに苦しんでいます。
問題は、言語を切り替えるときに、この小さな言語アイコンを常に見なければならないことです。 他のオプションがあります:
- 異なる言語で別々の組み合わせを使用します(Ctrl + 1(2.3))-異なるIDEで作業するプログラマーは、これはオプションではないことに同意します。 ニュアンスは、オペレーティングシステムのレイアウトが実際には現在のプログラムのレイアウトであり、すべてのレイアウトではないことです(誰もが気付いていなくても驚かないでしょう)。 つまり、英語レイアウトのWordが現在アクティブになっている場合、ブラウザーに切り替えると、別のレイアウトが存在する可能性があります。 また、言語が変更されていなくても、アイコンをもう一度見るか、たとえばCtrl + 1のように再度ドライブする必要があります。
- レイアウトを自動的に修正しようとするPuntoスイッチャーなどのプログラムを使用します-これは常に正しく動作するとは限らず、セットをさらに複雑にします。
- Windowsのテーマを切り替えるプログラムを使用します-誰もがマルチカラーのタスクバーやウィンドウを好むわけではありません。
アイデア
そして、LEDバックライトを備えたArduinoベースのキューブを作成してみましょう。これはテーブルの上に立って、レイアウトに応じて色を変更します。 各言語は異なる色です。 たとえば、英語は緑、ロシア語は赤、ウクライナ語は青です。 これにより、現在のアプリケーションの言語を周辺視野で見ることができます。
これは、非電子技術者にとっても難しいことではないとすぐに言わなければなりません。
ハードウェア
必要:
- Arduino Micro-ボードの利点は、マイクロUSBを備えていることです。これにより、一般的なPCケーブルで接続できます。 micro-USBでコンパクトカードを使用できます。
- RGB LED 代わりに、3つのマルチカラーLEDを使用できます。
- 3つの抵抗器220オーム。
- 「キューブ」。
何でも「キューブ」として使用できます。 私はAliexpress.comでキューブ目覚まし時計を買いました キューブ自体は次のとおりです。
私はサイズ、価格、温度センサーの形での追加使用が好きでした(立方体の時計自体は正確ではないため、役に立たない)。 他のオプションは同じAliexpress.comで見つけることができます:
今日の機能を考えると、3Dプリンターで何かを印刷することもできます。 はい、写真と一緒にフレームを使用します。
コードを書く
ここではすべてが簡単です。COMポートをループで読み取ります。 値1を読み取るとき-緑のLEDをオンにして、残りを消します。 2を受け取ったら、赤いLEDをオンにして、残りを消します。 3を受け取ったら、青色LEDをオンにして、残りを消します。
int inByte = 0; int LED_R = 5;// int LED_G = 6;// int LED_B = 9;// int RV = 255; // int GV = 255;// int BV = 255;// void setup() { Serial.begin(9600); pinMode(LED_R, OUTPUT); pinMode(LED_G, OUTPUT); pinMode(LED_B, OUTPUT); } void loop() { if (Serial.available() > 0) { delay(100); inByte = Serial.read(); if (inByte == '2') { // RU analogWrite(LED_R, RV); analogWrite(LED_G, 0); analogWrite(LED_B, 0); } else if (inByte == '1') { // EN analogWrite(LED_R, 0); analogWrite(LED_G, GV); analogWrite(LED_B, 0); } else if (inByte == '3') { //UA analogWrite(LED_R, 0); analogWrite(LED_G, 0); analogWrite(LED_B, BV); } } }
はんだ付け
さらに簡単に。 共通ピンをグランド(GND)に接続します。 残りは、図に示すように、対応するピンを備えた220オームの抵抗器を通ります。
コネクタ用の穴を事前にカットして、キューブに取り付けます。
ソフトウェア部
これはもう少し複雑です。 言語を変更する場合、対応する値(1または2または3)をCOMポートに送信する必要があります。
プログラマ以外の場合、以下はこれを行うWindowsプログラムへのリンクです。 プログラムで唯一のことは、Arduinoが接続されているCOMポートを指定することです。 これは、デバイスマネージャーで見つけるのは難しくありません。 起動後、プログラムはトレイに最小化されますが、Windowsの起動時に自動実行するために追加する必要があります。
このプログラムは、Delphiで書かれていますが、現時点では次のものはありません。
- 自動ポート検索機能。 これは簡単です。起動時に、Arduinoはコードを送信し、プログラムはポートを反復処理し、読み取られると停止します。
- 言語選択。 このプログラムは、ロシア語、英語、ウクライナ語でのみ機能します。 コードで任意の言語を示すことができます。
- 自動起動プログラム。
結果
興味深いことに、Windowsでは、言語切り替えの組み合わせを押してから少し遅れがあります。 この場合、キューブはインジケーターよりも高速に動作するため、非常に便利です。 私はこのシステムを1年以上使用してきましたが、それなしではどのように機能するか想像できなくなりました。
→ プログラムのダウンロード
投稿が気に入ったら、上記の不足している機能を追加してプログラムを完成させます。