Arduinoを使用したテーブル上の色付きキューブの形のキーボードレイアウトインジケーター

''







ご存知のように、人々は2つのカテゴリに分類されます。Ctrl+ Shiftを使用してレイアウトを切り替える人と、Alt + Shiftを使用する人です。 そして、それを必要としない幸運な人がいます-レイアウトが1つだけの人(通常は英語)。 残りはthemましく、英語、ロシア語、ウクライナ語(ベラルーシ語、カザフ語など)の2つまたは3つのレイアウトに苦しんでいます。







問題は、言語を切り替えるときに、この小さな言語アイコンを常に見なければならないことです。 他のオプションがあります:









アイデア



そして、LEDバックライトを備えたArduinoベースのキューブを作成してみましょう。これはテーブルの上に立って、レイアウトに応じて色を変更します。 各言語は異なる色です。 たとえば、英語は緑、ロシア語は赤、ウクライナ語は青です。 これにより、現在のアプリケーションの言語を周辺視野で見ることができます。







''







これは、非電子技術者にとっても難しいことではないとすぐに言わなければなりません。







ハードウェア



必要:









何でも「キューブ」として使用できます。 私は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で書かれていますが、現時点では次のものはありません。









結果



''









興味深いことに、Windowsでは、言語切り替えの組み合わせを押してから少し遅れがあります。 この場合、キューブはインジケーターよりも高速に動作するため、非常に便利です。 私はこのシステムを1年以上使用してきましたが、それなしではどのように機能するか想像できなくなりました。







プログラムのダウンロード







投稿が気に入ったら、上記の不足している機能を追加してプログラムを完成させます。








All Articles