工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Raspberry PiとArduinoで作るWeb駆動型LEDアニメーション

部品と材料

部品数量備考
Raspberry Pi 3 Model B1
Arduino UNO1Nanoも可。大量LED駆動ならMega推奨
NeoPixelストリップ (WS2812B等)1任意のWS2812系LEDストリップ

使用アプリ・サービス

プロジェクト概要

プロジェクト概要

Arduino Light Animation (ALA) は、最小限の労力でLEDを制御し、カラフルなアニメーションを実行するArduinoライブラリです。30種類以上のプリセットアニメーションと複数のカラーパレットを提供。詳細はブログを参照。

本プロジェクトではRaspberry Pi 3を追加し、スマホやPCのWebブラウザからアニメーション・色・速度を制御できるWebページを提供します。AlaWebのデモ動画をご覧ください。

必要な主要コンポーネントは3つ:

ArduinoとRaspberry Piに慣れていればシンプルなプロジェクトです。セットアップ手順を2ステップに分けて解説します。

配線

WS2812 LEDストリップの接続は簡単。全LEDを駆動する十分な電源が必要です。非常に短いストリップ(10個以下)ならUSBポートから直接給電可能ですが、長い場合は適切な電源を用意してください。まずはArduino 5Vピンから給電する方法を推奨(動画参照)。

Raspberry PiとArduinoで作るWeb駆動型LEDアニメーション
USB給電での基本配線(10個以下推奨)

より多くのピクセルを駆動する場合は外部電源必須。計算式:各RGB LEDは全点灯白で60mA消費。例:2m、60LED/mのストリップなら 2 × 60 × 60mA = 7.2A の5V電源が必要。

Raspberry PiとArduinoで作るWeb駆動型LEDアニメーション
外部電源使用時の配線(Arduino 5Vピン経由でArduinoにも給電)

※ Arduino 5Vピンに給電すると電圧レギュレーターと保護回路をバイパスするため注意。詳細はこのガイド参照。WS2812配線の詳細はこちら。

Arduinoセットアップ

  1. ArduinoをPCのUSBポートに接続
  2. Arduino IDEでライブラリ・マネージャ(スケッチ>ライブラリをインクルード>ライブラリを管理)を開き、最新のALAライブラリをインストール
  3. RgbStripSerial例を開く(ファイル>スケッチ例>ALA>RgbStripSerial)し、NUM_PIXELS定数が手元のLED数と一致するか確認。10個超の場合は改良版配線を使用
  4. Ctrl+Uまたはスケッチ>アップロードで書き込み。問題時はツール>ボード/ポートを確認
  5. シリアル・モニタ(ツール>シリアル・モニタ)を開くとウェルカム・メッセージ表示
Raspberry PiとArduinoで作るWeb駆動型LEDアニメーション
改行コード「Newline」、ボーレート 9600 に設定

動作テスト(シリアル・モニタからコマンド送信)

スペースなしで以下を入力:

面白いですよね? 以下のコマンド・リファレンスで様々な組み合わせを試せます:

では、スマホから制御してみましょう。

Raspberry Piセットアップ

Raspberry Piで小型Webサーバーを稼働し、WebブラウザからLEDストリップを制御できるようにします。同じアプリケーションはPython 3が入った任意のPCでも動作します。

前提条件:Raspberry Piが最新Raspbian OS(Stretchでテスト済み)で稼働中、インターネット接続済み。

Pythonライブラリ・インストール

sudo pip3 install pyserial flask

プロジェクト・ディレクトリ作成とコード取得

mkdir /home/pi/AlaWeb
cd /home/pi/AlaWeb
wget https://github.com/bportaluri/AlaWeb/archive/master.zip
unzip master.zip

実行

ArduinoのUSBポートをRaspberry Piに接続。AlaWebアプリがUSBシリアルでArduinoと通信します。

cd AlaWeb-master
sudo python3 AlaWeb.py

AlaWebは全USBシリアル・ポートを列挙し、Arduinoを自動検出。ループする場合は中断し、ポート名を指定:

sudo python3 AlaWeb.py /dev/ttyACM0

成功時の出力例:

Raspberry PiとArduinoで作るWeb駆動型LEDアニメーション

表示されたURLをWebブラウザで開くと、LEDストリップを制御するボタン満載のWebページが表示されます。

Raspberry PiとArduinoで作るWeb駆動型LEDアニメーション
Webブラウザからアニメーション・色・速度を制御

Enjoy!

コード

回路図

Raspberry PiとArduinoで作るWeb駆動型LEDアニメーション
Raspberry PiとArduinoで作るWeb駆動型LEDアニメーション
Raspberry PiとArduinoで作るWeb駆動型LEDアニメーション

製造プロセス

  1. Samsung SAMI、Arduino UNO、Raspberry Piで高速・信頼性の高い火災検知システムを構築
  2. Raspberry Piと湿度センサーで作る自動エアロポニックスシステム
  3. Raspberry Pi と Python でロボットを構築:完全ガイド
  4. Arduino & Raspberry Pi でインターネット制御ビデオストリーミングロボットを構築
  5. gatoBot:Raspberry Pi Zero WでWeb操作・ライブ映像ストリーミングロボット
  6. Arduino Nano 33 IoT製 フライトシミュレーター2020用コックピットパネル - LCD&CDI表示
  7. Microsoft Flight Simulator 2020用Arduinoスイッチ&LEDパネル
  8. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  9. スマートArduino四足歩行ロボットの製作:ステップバイステップガイド
  10. Arduino & MPU6050:SG90 & MG996Rサーボの精密制御
  11. Bolt IoTとArduino UNOでLED輝度をシームレス制御