4D Systemsの概要

最近、トレーニングセッションタイマが必要なプロジェクトに関わりました。このプロジェクトでは、タッチスクリーンディスプレイを使用し、自己完結型で、複数ユーザーのドングルとのペアリングが要求されました。これは、デバイス上でのプログラミング、ドングルのワイヤレス制御、およびディスプレイ上でのセッション状態の表示機能をサポートするソリューションを意味しました。この記事では取り上げませんが、リアルタイムクロックやメッシュネットワークトランシーバのような支援コンポーネントもいくつか含まれています。

必要とされる機能がわかれば、それに見合うオプションはいろいろあります。ArduinoやPICベースのマイクロコントローラを含め、好きな数だけマイクロコントローラを使用するという方法があります。あるいは、Raspberry Piのような単一のボードコンピュータを使用することもできるでしょう。いずれにせよ、コントローラには、ディスプレイ、リアルタイムクロック、データストレージ用のマイクロSDカード、および選択したメッシュネットワークトランシーバと通信するのに十分なI/Oも必要となるでしょう。マイクロコントローラとの組み合わせが、タッチスクリーンディスプレイには必要です。スケジュールに余裕をもたせるため、ディスプレイは大きめのものがよいでしょう。その結果、好ましいサイズは7インチ前後でしょう。

上記のオプションはみな、何とか動作するでしょうが、あれこれと制限があるでしょう。小さなArduinoとPICのオプションは、このタイプのプロジェクトを処理する能力は十分に持っていますが、すぐにI/Oを使い果たすでしょう。Raspberry Piや類似のシングルボードコンピュータは、アプリケーションにとってはほとんどやり過ぎでしょうが、ベーシックなマイクロコントローラに比べるといくつかの利点があります。いずれにせよ、これらのオプションはみな、グラフィックユーザーインターフェース(GUI)設計と同じぐらいの難易度になるでしょう。マイクロコントローラとシングルボードコンピュータを両方使ってGUIを作成するオプションもありますが、どれもこれも私たちが選択した製品ほどには使いやすくも直感的でもありません。

4D SystemsのGen4-uLCD-70DCT-CLB(DigiKey部品番号1613-1277-ND)と4D SystemsのGen4-PA(DigiKey部品番号1613-1210-ND)および4D Workshop(DigiKey部品番号1613-1393-ND)の組み合わせは、このプロジェクトに最適なソリューションでした。このディスプレイは、Diablo16プロセッサで動作します。このプロセッサは、I/Oも充実しており、SPI、I2C、シリアル、デジタル、アナログデバイスとのインターフェースが可能です。その上、ディスプレイは画像ストレージ用にオンボードのマイクロSDカードを使用しますが、これはプログラミングの際にデータストレージとしてアクセスすることができます。

このプロジェクトは4D Workshopで開始されました。最初のステップは、新しい4D Systems Projectを作成し、適切なディスプレイを選択することでした。それから、ディスプレイをセットアップする環境の選択が重要になります。オプションとして、Designer、ViSi、ViSi Genie、Serialがあります。このプロジェクトでは、ディスプレイグラフィックスをViSi Genieで設定し、コードをViSiに移植して4DGLコードにアクセスできるようにしました。

ViSi Genieは、簡単かつ直感的な方法で完全なグラフィック開発を可能にします。ソフトウェアは、単一のページまたはフォームから開始します。ここから、ディスプレイ背景、ボタン、数字、ゲージ、I/O、入力、ラベル、マジック、プリミティブ、システム/メディアオブジェクトを配置してプロジェクトに統合できます。オブジェクトを選択してフォームに配置すると、オブジェクトインスペクタでさらに編集できます。オブジェクトの名前を変更し、オブジェクトインスペクタのデフォルトビューからプロパティを編集できます。画面上のLEDを切り替えるボタンのように、オブジェクトからの単純なコマンドが必要な場合は、「events」と呼ばれるオブジェクトインスペクタの2番目のページで対処できます。複数のフォームが必要な場合は、Designerの上部にあるSystem/Mediaツールバーから簡単に追加できます。プロジェクトはコンパイルできます。また機能をチェックするため、プロジェクトは上部のツールバーからいつでもディスプレイに読み込むことができます。テストでは、フラッシュ書き込み回数の浪費を避けるため、デフォルトのデスティネーションを「Run RAM」に設定することを推奨します。これは[Project]タブで変更できます。

すべてのグラフィックスが開発され、すべてのフォームが設​​定された後、プロジェクトはViSiに移植され、その結果、ディスプレイのWYSIWYG(What You See Is What You Get=見たとおりのものが結果に反映されること)と4DGL IDEコーディング環境が実現されました。これこそが、Diablo16の内部機能を使用して、すべての「より重い」コーディングが作成された場なのです。時間と日付の保持用のRTCを実行するために、I2Cバスをセットアップしました。メッシュネットワークトランシーバとの通信用のすべてのI/Oは、この環境でプログラミングされ、ピンを動かす複数のイベントがありました。この特殊なプロジェクトでは、電源サイクルによって保持されるディスプレイ上のオンボードマイクロSDカードに書き込まれる一連の変数の保持が必要でした。また、タイマを実行するためのすべての比較コードが、この環境でプログラムされていました。

結論として、4D Systemsのソフトウェアとディスプレイは強力かつ使いやすいオプションです。ViSi GenieおよびViSiのシンプルなプログラムインターフェースと自動コード生成により、グラフィック開発が迅速に行えます。内蔵のDiablo16プロセッサは、ボード上のコードを実行するか、または別のデバイスとインターフェース接続してより手の込んだプロジェクトを実行するために、多くのI/Oおよび通信方法を提供します。

著者について

Image of 4D Systems

オーストラリアに拠点を置く4D Systemsは、インテリジェントグラフィックディスプレイモジュールの開発と製造におけるグローバルなリーダー企業です。4D Systemsは、最先端のOLEDおよびLCD技術を使用して小型でコスト効率の良いインテリジェントディスプレイモジュールおよびアクセサリを設計し製造しています。4D Systemsのディスプレイモジュールは、スタンドアロンの機能性を、可能性のある多くのアプリケーションに提供する組み込みカスタムグラフィックスプロセッサを特長としています。4D Systemsは、医療、航空、軍事および車載用部門への同社製品の実装に成功してきました。

More posts by 4D Systems
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum