自分のウェブサイトのコンテンツを宣伝したい場合でも、単にニュースをチェックしたい場合でも、カスタムニュースティッカーをシャツに着るのは、ちょっと変わった、でも素晴らしい方法です。Raspberry Piといくつかのアクセサリを使えば、お好みのRSSフィードをスクロールするシャツを作ることができます。
当然のことながら、このデバイスはTom's Hardwareの最新ニュースの見出しを表示するように設計しました。しかし、スクリプトをインターネット上の任意のコンテンツに向けることも簡単にできます(データのダウンロードにはWi-Fiを使用します)。ニュースティッカーTシャツの作り方をご紹介します。
材料
- Raspberry Pi 3B+、3A+、または3B。アダプターを使用すれば、Pi Zero Wでも動作する可能性があります。
- Arduino Nano(または類似品)
- USBバッテリーバンク
- MicroUSB - USB Type-Aケーブル
- MiniUSB - USB Type-Aケーブル
- Adafruit Neopixel 8x8 パネル 3 枚
- ワイヤー
- ベルクロテープ
ツール
- 半田
- はんだごて
- HDMIモニター
- USBキーボード
- 3Dプリンター(オプション)
配線
ラスベガスのストリップよりも派手なTシャツを作る第一歩は、はんだごてを使うこと!はんだ付けの腕が少し鈍っていても心配はいりません。接続箇所はほんのわずかです。
まず、Adafruit Neopixel 8x8パネルを3枚用意し、表を下にして並べます。左下隅に「DOUT」「5V」「GND」とラベルの付いた3つのピンがあります。右パネルのDOUTピンから中央パネルのDINピンにワイヤーをはんだ付けします。GNDピンと5Vピンも同様にはんだ付けします。
リボンケーブルを使うと便利です。3本の配線をまとめて束ねると、ずっとすっきりします!
この手順を繰り返して、中央のパネルを左側のパネルに接続します。これですべてのNeopixelパネルが連結され、データ受信の準備が整いました。最後のはんだ付け作業は、パネルをArduinoに接続することです。
右端のパネルのDINピンからArduinoのデジタルピン6に線をはんだ付けします。次に、パネルのGNDピンをArduinoのGNDピンに接続します。次に、5VピンをArduinoの5Vピンに接続します。これではんだごての電源を切っても大丈夫です。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
注:このワイヤーにコネクタを追加することをお勧めします。シャツを着る際に、コントロールボードをライトパネルから取り外すのに非常に便利です。また、テスト中にArduino Nanoからワイヤーが抜けてしまったことがありました。NeopixelパネルとArduino Nanoボードの接続を作業しやすくしたい場合は、Nanoにブレークアウトピンを追加し、メスコネクタ付きのワイヤーを使用することを検討してください。標準的な0.1インチヘッダーで問題ありません。そうすれば、ワイヤーが抜けてしまっても、再はんだ付けせずに元に戻すことができます。
ソフトウェアの仕組み
Raspberry Piが最初に行うことは、RSSフィードに情報を問い合わせることです。今回の場合は、Tom's Hardwareの記事のタイトルを参照しています。タイトルを取得すると、Raspberry Piはタイトルをパッケージ化し、USBケーブル経由でArduinoに送信します。Arduinoは見出しを取得すると、文字を綴るためにどのLEDを点灯させるかを判断します。そして、LEDに信号を送信することで、メッセージの作成が完了します。
これらのパーツをすべて連携させるには、Raspberry PiとArduinoにコードを記述する必要があります。Raspberry Piはどのウェブサイトから情報を取得するかを知る必要があり、ArduinoはUSBケーブル経由で取得した情報をどのように処理するかを知る必要があります。
Arduinoにコードをインストールする
お使いのコンピュータにArduino IDEがインストールされていない場合は、ダウンロードとインストールを行い、ArduinoボードをUSB接続した状態で起動してください。次に、このプロジェクトのgitリポジトリ(ArduinoとRaspberry Piの両方のコードがすべて含まれたzipファイル)をダウンロードし、 Arduino IDEを使ってscrollWhenReadフォルダにあるscrollWhenRead.inoファイルを開いてください。scrollWhenRead.inoスケッチをArduinoボードに転送できます。
Raspberry Piにコードをインストールする
始める前に、Raspbianが少なくとも8GBの空き容量のあるカード上で動作している必要があります。RaspbianをRaspbianで実行していることを確認してください。RaspbianでWi-Fiに接続したら、コマンドプロンプトで次のコマンドを入力してください。
git clone https://github.com/sphawes/ledTshirt.git pip3 で feedparser をインストール pip3 で pyserial をインストール
python3 ledTshirt/sendText/sendText.pyと入力するとスクリプトが実行されます。デフォルトでは Tom's Hardware の RSS フィードが使用されます。スクリプトを編集するには、sudo nano ledTshirt/sendText/sendText.pyと入力してください。以下の行を編集することで、RSS の URL を別のサイトに変更できます。
rssLink = "https://www.tomshardware.com/feeds/rss2/articles.xml"
次の行を編集することで、サイトの名前を変更できます。
エンコード = ("Toms Hardwaren").encode('utf-8')
コードに満足し、ファイルを保存して終了したら、Raspberry Piを起動するたびにコードが実行されることを確認します。そのためには、プロンプトに以下のコマンドを入力します。
cd ~/ledTshirt sudo cp tshirt.service /etc/systemd/system/myscript.service sudo systemctl start tshirt.service
次回Piを起動すると、このスクリプトが自動的に実行されます。スクリプトはArduinoボードにテキストを送信し、Arduinoボードはそれをティッカーにスクロール表示するためのテキストとして送信します。
コードの動作とインストール方法の詳細については、このプロジェクト専用の GitHub ページをご覧ください。
仕上げ
配線とプログラミングがすべて完了しました。さあ、試してみましょう!ホットスポットがオンになっていることを確認し、Raspberry PiをUSBバッテリーバンクに接続してください。Raspberry Piが起動すると、Tom's Hardwareの素晴らしい記事のタイトルがディスプレイに流れていくはずです。
動作確認ができたので、いよいよシャツに装着してみましょう!ここで最も重要なのは、Neopixelパネルがシャツの前面から光るようにすることです。
私はカスタム3Dプリントブラケットを使用しましたが、段ボールとエグザクトナイフでも十分です。ブラケットのデザインを印刷したい場合は、Githubページをご覧ください。Neopixelパネルをブラケットに取り付ける際には、VHB(Very High Bond)テープを使用しました。これは驚くほど強力なフォームテープで、想像以上にしっかりと貼り付きます!次に、ブラケットとTシャツの内側にベルクロテープを数枚貼り付ければ、準備完了です。
次はArduino、バッテリー、Raspberry Piの取り付けです。これらを一つの「コントロールパネル」にまとめて、展示用のシャツの背面に取り付けました。次に、ごくシンプルな黒いアクリル板をレーザーカットし、VHBを使ってすべての部品を取り付けました。マジックテープをもう少し付ければ、パネルをシャツの背面に取り付けることができました。
バッテリーの重さによっては、ボードが背中から落ちてしまう可能性があります。落ちにくい場合は、シャツに大きなメッシュのジッパー付きポケットを縫い付けてみてください。また、2枚のボードとバッテリーをバックパックやウエストポーチに入れて持ち運ぶのも良いでしょう。
終わり!
これで完成です!Raspberry PiとNeopixelパネルを使って、光るカスタムTシャツが完成しました。「sendText.py」スクリプトを編集して、色々な情報を表示させてみましょう。Twitterのフォロワー数カウンターとか、就職フェアで履歴書を流すとか、あるいはちょっと面白い名言や名言を表示させたいだけとか、いろいろ考えてみてください。
皆さんの作品もぜひ見てください!Tom's Hardware フォーラムで、あなたの作品をぜひ共有してください。
写真提供: Tom's Hardware