88
Raspberry Piで動くテレプロンプターの作り方

コンテンツクリエイターにとって、テレプロンプターの選択肢は数多くありますが、手頃な価格のものの多くは、スマートフォンアプリを使う必要があり、操作が面倒だったり、カメラの設定と相性が悪かったりする追加のハードウェアが必要だったりします。しかし、Pythonコード、基本的な電子部品、3Dプリント部品を使えば、Raspberry Piで動作するテレプロンプターを自作することも可能です。 

必要なもの: Raspberry Pi テレプロンプター

  • ラズベリーパイ 4B
  • 3つの触覚モーメンタリーボタン
  • スライドスイッチ
  • Adafruit パーマプロト HAT
  • Adafruit TFP401 HDMI/DVIデコーダー(タッチパネル非搭載)40ピンTTLブレークアウト
  • 5インチ 40ピン 800x480 TFTディスプレイ(タッチスクリーンなし)
  • HDMI-マイクロHDMIケーブル
  • 黒PLAフィラメント
  • ワイヤーとはんだごて

Raspberry Pi テレプロンプターのソフトウェアセットアップ:依存関係とスクリプトのインストール

Pythonコードにはいくつかの依存関係があります。Tkinterとpynputの2つのライブラリと、AdafruitのBlinkaレイヤーをインストールする必要があります。

1.  ターミナルでapt-getコマンドを使ってTkinterをインストールします。Tkinterは基本的なグラフィカルユーザーインターフェースを作成するためのPythonライブラリで、ここではプロジェクトのテレプロンプターアプリケーション部分を作成するために使用されています。  

sudo apt-get install python-tk

2. pip3 を使用して Pynput をインストールします。Pynput はキーボードとマウスのシミュレーターである Python ライブラリです。このプロジェクトでは、Tkinter で作成したテキストボックスのマウススクロールをシミュレートするために使用します。

pip3 install pynput

3. Linux搭載シングルボードコンピュータ用のAdafruit CircuitPython互換レイヤーであるBlinkaをインストールします。Blinkaを使えば、CircuitPythonライブラリをPythonライブラリと併用することも可能です。基本的な設定は、以下の3つのコマンドを入力するだけです。

sudo pip3 install --upgrade adafruit-python-shell wget https://raw.githubusercontent.com/adafruit/Raspberry-Pi-Installer-Scripts/master/raspi-blinka.py sudo python3 raspi-blinka.py

問題がある場合は、Adafruit のBlinka インストール ガイドを参照してください。

4.私のgithub ページから3 つの .py ファイルをすべてダウンロードし、/home/pi ディレクトリに配置します。 

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

Raspberry Pi テレプロンプター用 Python スクリプト

テレプロンプター用のソフトウェアには、上記でダウンロードした2つのPythonスクリプトと1つのBashスクリプトが含まれています。最初のPythonスクリプトは、Tkinterで記述されたテレプロンプターアプリ本体です。このコードは、スクリプトを表示できるスクロール可能なテキストボックスを作成します。アプリの横にはボタンがあり、クリックするとテキストファイルを開いてテキストボックスに読み込むことができます。アプリでスクリプトを開いている間に編集が必要な場合は、テキストボックスに直接入力できます。

Raspberry Pi-Powered Teleprompter

(画像提供:Tom's Hardware)

2つ目のPythonスクリプトは、外部デジタル入力を使ってテレプロンプターアプリを制御するためのものです。このプログラムでは、pynputライブラリとBlinkaを使用して、マウスのスクロール入力とボタン操作をシミュレートしています。これは、Tkinterスクリプトの制御インターフェースと考えることができます。

スイッチをオンにすると、pynputがスクロールを開始し、テレプロンプターが動作します。スクロール速度を増減するためのボタンが2つあります。さらに、テレプロンプターアプリをRaspberry Pi上でフルスクリーン表示とウィンドウ表示に切り替えるボタンも1つあります。

2つのPythonスクリプトを同時に実行するには、bashスクリプトを使用します。bashスクリプトはターミナルから「sudo ./tele.sh」で起動します。 

Raspberry Piテレプロンプターの配線

Raspberry Piのテレプロンプターを制御するボタンとのインターフェースとして、Adafruit Perma-Proto HATを使用しています。これはブレッドボード型の基板で、Raspberry Piで使用する回路を簡単にはんだ付けできます。電源、グランド、GPIOピンがそれぞれ独立して配置され、ラベルが貼られています。 

Fritzingの回路図は、3つのボタンとスライドスイッチの配線方法を説明しています。Perma-Proto HATの左上にある2つのボタンはテレプロンプターの速度を制御し、右側にある1つのボタンはフルスクリーンモードとウィンドウモードを切り替えます。

Raspberry Pi-Powered Teleprompter

(画像提供:Tom's Hardware)

スイッチはテレプロンプターの起動/停止を制御します。また、HDMIデコーダーボードはPerma-Proto HATからグランドと5V電源を供給できます。それ以外の場合は、USB経由で電源供給する必要があります。

Raspberry Piテレプロンプターの3Dプリント

テレプロンプター本体を作るには、3Dプリントしたパーツが3つ必要です。.STLファイルは私のGitHubページからダウンロードできます。2つの大きなパーツをはめ合わせることで、テレプロンプターの本体部分を作ることができます。片側には三脚マウントと、デジタル一眼レフレンズを取り付けるための切り欠きがあります。もう片側には、反射アクリル、スクリーン、Raspberry Piを取り付けるためのマウントと切り欠きがあります。 

パーツを黒で印刷するか、後から塗装することが重要です。アクリルにスクリーンの反射が見える程度に、黒く塗る必要があります。 

3 つ目の 3D プリント部品は、Raspberry Pi からのビデオ信号を伝送する 5 インチ HDMI モニターで使用される HDMI デコーダー ボード用の PCB マウントです。

Raspberry Pi テレプロンプターの組み立て 

部品を 3D プリントしたら、組み立てます。

1. Raspberry Pi の前面 3D プリント部品の前面取り付け穴に、  2 つの M2.5 スタンドオフと 2 つの M2.5 ナットを取り付けます。

Raspberry Pi-Powered Teleprompter

(画像提供:Tom's Hardware)

2.   3D プリント部品の下部に、4 つの M3 ナットとネジを使用して HDMI デコーダー PCB 用の PCB マウントを取り付けます。

Raspberry Pi-Powered Teleprompter

(画像提供:Tom's Hardware)

3. M2.5スタンドオフ2本を使って、Raspberry PiをM2.5スタンドオフに取り付けます。Raspberry Piはテレプロンプターの前面に取り付けるので、アクセスが容易です。

Raspberry Pi-Powered Teleprompter

(画像提供:Tom's Hardware)

4. Perma-Proto HAT を Raspberry Pi の GPIO ヘッダーに配置し、 2 本の M2.5 ネジでM2.5 スタンドオフに固定します

Raspberry Pi-Powered Teleprompter

(画像提供:Tom's Hardware)

5. 5インチスクリーンを3Dプリントパーツに挿入しフレキシブルコネクタをケースの底部に慎重に通します。コネクタは簡単に破損する可能性があるため、注意してください。次に、コネクタをHDMIデコーダボードのスロットに挿入します。

Raspberry Pi-Powered Teleprompter

(画像提供:Tom's Hardware)

6. HDMI デコーダー ボードを4 本の M3 ネジで 3D プリントされた PCB キャリアに取り付けます。

Raspberry Pi-Powered Teleprompter

(画像提供:Tom's Hardware)

7. Raspberry PiとHDMIデコーダボードをHDMIケーブルで接続します。ケーブルはどれでも使えますが、モジュラー式のリボンケーブルを使うとコンパクトにまとまります。ただし、画面のコネクタと同様に壊れやすいので、取り扱いにはご注意ください。

Raspberry Pi-Powered Teleprompter

(画像提供:Tom's Hardware)

これでテレプロンプターのハードウェアの組み立ては完了です。

8.アクリル板を約109mm×127mmに切り取ります。安全ナイフなど、アクリル板に適したカッティングツールを使用してください。切り取ったアクリル板を3Dプリントしたパーツのスロットに差し込みます。  

Raspberry Pi テレプロンプターのディスプレイ設定

最後のステップは、Raspberry Piのディスプレイを反転させて、画面にミラーリングし、アクリル板にも正しく映るようにすることです。そのためには、/boot/config.txtファイルを少し編集します。変更内容は以下にリストしますが、サンプルのconfig.txtファイルでも確認できます。

1. /boot/config.txt を開いて編集します

sudo nano /boot/config.txt

2. dtoverlay=vc4-kms-v3d という行の先頭に # 記号(コメントアウト)を付けて、 FKMS グラフィックドライバを無効にします。通常はこの方法は推奨されませんが、レガシーグラフィックを使用すると、表示の反転や反転をより細かく制御できます。 

3. 「特定のHDMIモードを強制する」セクションが以下のようになっていることを確認し、800 x 480の解像度を強制します。HDMIデコーダーにはスケーリング機能がないため、画面の解像度も800 x 480に強制されます。

# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 800 480 60 6 0 0 0

4.表示を反転するには、config.txt の下部にdisplay_rotate=0x20000 という行を追加します。

display_rotate=0x20000

5.保存して Pi を再起動します

再起動後、Pi のディスプレイはミラーリングされますが、アクリルに正しく表示されるので、テレプロンプターとして使用できるようになります。

Raspberry Piテレプロンプターの使用

Raspberry Pi テレプロンプターには、いくつかの異なるワークフローがあります。VNC または SSH を使用して Pi にリモートアクセスし、ビデオスクリプトをロードしてコードを実行したり、ワイヤレスキーボードとマウスを使用してテレプロンプターのディスプレイを Pi のモニターとして使用したりできます。 

さらに、起動時に毎回bashスクリプトを実行するように設定することもできます(スクリプトの実行方法については、Raspberry Piの起動をご覧ください)。どのような使い方をしても、動画やプレゼンテーション中に使えるコンパクトでオープンソースのテレプロンプターとして利用できます。