espressif ESP32の機能をDali Clockプロジェクトで探求する
Espressif ESP32の機能をDali Clockプロジェクトで探求する。 ESP32—Espressif Systemの非常に人気があり強力なESP8266 WiFiモジュールに続く—は、前任者よりもさらに能力が高いです。注目すべき点は、最大240 MHzで動作する32ビットのデュアルコア処理ユニットと、WiFiとBluetooth双方による無線通信です。 また、静電容量式タッチセンシング、I2Sデータ転送、オーディオフェーズロックループ(PLL)機能、2つのデジタル-アナログコンバーター(DAC)出力も備えています。これらの機能は、異なるESP32のバリエーションによって多少異なることに注意してください。
Adafruit Huzzah23 (上) と DFRobot Firebeetle (下)
ESP32をコンポジットビデオクロックで使用する
ESP32の具体的な使用例として簡単に実装でき、しかも印象的なものとして、Marcio L. TeixeiraによるDali Clockビルドを考えてみましょう。このセットアップでは、コンポジット入力を持つ古いテレビとESP開発ボードを使用して、画面上に変形する時計を表示します。 境界を押し広げるプロジェクトとして、これは巨人の肩の上に立つようなものであり、Dali Clockのコンセプト(1979年にXerox Alto用に作成されたもの)を、1980年代のポップアートを模したスクロールする夕焼けのシーンと組み合わせています。技術的には、複数のハードウェアハックやハッカーが功績を残しています。そしてもちろん、ESP32なしでは実現できません。最後に、Salvador Dali自身のオリジナルの芸術的なインスピレーションも欠かせません。 その資格としての印象的な要素にもかかわらず、この時計をセットアップするには次のものが必要です:
- ESP32開発ボード
- RCAプラグ
- (2本)コネクターワイヤー
- USB電源
- コンポジット対応テレビまたはモニター
ビデオディスプレイ
セットアップ: コードをロードして接続
設定を行うためには、GitHubからコードをダウンロードし、Arduino IDEを使用してESP32に転送します。このプロセスの詳細な指示はこちらにあります。 Arduino IDEでESP32ボードを使用するための機能を追加するには、環境設定を開き、「https://dl.espressif.com/dl/package_esp32_index.json」を追加ボードマネージャURLセクションに入力します。 これが完了したら、開発ボード(この場合はAdafruit ESP32 FeatherまたはFireBeetle-ESP32)と適切なシリアルポートを選択し、コードをESPにロードします。
ビデオディスプレイ
Adafruit Huzzah32 ボードの GND ピンを RCA プラグの外部バレルに接続します。 次に、別のワイヤーを A1 DAC1 ピンからプラグの中央ポストに接続して、TV のコンポジットビデオ入力に入力します。標準のオス-オス プラグに接続するためにワニ口クリップを使用することもできますし、これを非常に安全にするためにスクリューターミナルプラグも利用できます。また、RCA ケーブルをハックして配線を露出させることもおそらく可能です。 RCA ジャックをテレビ/モニターに挿入し、開発ボードに電源を接続し、テレビを正しい入力ソースに切り替えます。 すると、画面上に溶けた数字のダリ風時計が表示され、現時点ではおそらく不正確な時間を表示しています。この状況を修正するには、携帯電話やコンピューターから ESP32 が生成する「ESP32 Dali Clock」WiFi ネットワークにログオンし、ブラウザーインターフェースを通じて設定を構成します。正しく設定されれば、自宅のネットワークを通じてアクセスできます。時間は NTP/タイムゾーン経由で自動的に設定することができ、手動で入力することも可能です。
デバイスの接続
時計は時間ではなく日付を表示するようにシフトすることもできます。HuzzahボードのA5 4とA4 36にワイヤーを接続し、指で両方に触れることでこの機能を有効にします(FireBeetleでは試していませんが、可能なはずです)。また、1日の間に色を変えるように設定することもでき、とても楽しいです。
使用されているESP32の特徴
デスクトップの速度が以前と比べて目覚ましく速くなっていることに加えて、この構成はESP32のいくつかの特徴を見事に強調しています:
- WiFi接続 - ウェブインターフェースと時間設定に使用
- RCAプラグ
- I2C/DAC/PLL - 電圧レベル出力と色のコンポジットビデオに必要な精密なタイミングを可能にします
- 容量性タッチセンシング - ワイヤーに触れると瞬間的に日付表示を変更
- デュアルコアプロセッサ - グラフィックス処理とビデオ信号出力は1つのコアによって処理され、タイミングを乱す可能性のあるWiFi/ウェブインターフェースは2番目のコアで実行されます
限界を押し広げる
こちらの別のビデオによると、このビルドと似たセットアップの仕組みを紹介していますが、ESP32はスペックにはコンポジットビデオ機能が実際には記載されていません。それにもかかわらず、デジタル-アナログ変換(DAC)が可能で、I2Sプロトコルを利用できることにより、レトロフューチャリスティックなビデオハッキングに非常に強力で汎用性があります。 MarcioがESP32のPLL機能を利用してカラー出力にアップグレードすることができた方法についての詳細情報は、このGitHubページにあります。 非常に限られたサンプルで、1枚のボードと1台のテレビで試したところ、Adafruit Huzzah32のディスプレイは非常によく機能しました。FireBeetleは、出力ピンを整理して、同様に機能しましたが、一時的な同期の問題がいくつかあります。 2つのボードをさらに詳しく見てみると、Huzzah32はESP32-WROOM-32E WiFiモジュールを使用しており、DFRobotボードはESP32-WROOM-32Dを使用しています。ほぼ同等ですが、-32Eは内部でいくつかの改善があり、特にクリスタルオシレーターとの相互作用によってCPUのタイミングを指示する方法に関する改善があります。 設計の些細な違いで-32Dと-32Eがテレビで異なる表示になる可能性があります。それでも、ESPの限界を創造的に活用する場合を除いて、大多数のケースにおいては、どちらのモジュールも所定のタスクを非常によくこなします。ただし、ESP-32のフルパワーを必要とする生産用途がある場合は、どのESP-32を使用するかを検討することが重要であることを思い起こさせる良い機会です。
記事タグ