RaspberryPiとArduinoを使用したWeb制御のLEDアニメーション
コンポーネントと消耗品
> ![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
アプリとオンラインサービス
> ![]() |
|
このプロジェクトについて
プロジェクトの概要
Arduino Light Animation(ALA)は、最小限の労力でLEDを制御し、カラフルなアニメーションを実行するためのArduinoライブラリです。ライブラリは、30を超える事前定義されたアニメーションといくつかのカラーパレットを提供します。 ALAライブラリの詳細については、私のブログをご覧ください。
このプロジェクトでは、Webブラウザを使用してスマートフォンまたはPCからアニメーション、色、速度を制御できるWebページを提供するRaspberry Pi3ボードを紹介します。これがAlaWebの動作の短いビデオです。
このプロジェクトに必要なコンポーネントはほとんどありません。
- WS8212 RGBLEDストリップ :このストリップには、1線式インターフェースを使用して個別にアドレス指定できる複数のRGB LEDが含まれているため、各RGBLEDの色を完全に制御できます。
- Arduino :有名なマイクロコントローラーボードは、私のALAライブラリを実行して、USBシリアルポートを介してRaspberryPIからコマンドを受信するLEDストリップを駆動します。 Arduino Uno、Nano、Megaボードを使用できます。
- ラズベリーPI :この小さなPCは、照明とアニメーションのパラメータを制御するためのWebページを提供します。
ArduinoとRapberryPIボードに精通している場合、プロジェクトは非常に簡単です。セットアッププロセスをガイドするために、プロジェクトを2つのステップに分割しました。
配線
WS8213LEDストリップは非常に簡単に接続できます。これらすべてのLEDを駆動するのに十分な電力が必要です。非常に短いストリップ(10個以下のLED)の場合は、USBポートから直接電力を供給することもできますが、長いストリップの場合は、適切な電源を提供する必要があります。出発点として、上のビデオでわかるように、Arduino5Vピンを使用してLEDストリップに電力を供給することをお勧めします。
- ArduinoGNDピンからWS2812GNDへ
- Arduino5VピンからWS28125Vへ
- Arduinoピン6からWS2812Ctrl / Dinピン

より多くのピクセルを駆動したい場合は、より多くの電力を提供する必要があります。計算は簡単です。各RGBLEDは、完全な明るい白で60mAを消費します。たとえば、60 LED /メートルで2mの長さのストリップを駆動するには、2m * 60ピクセル/ m * 60mA =7,2Aを提供する5V電源が必要になります。
電源、Arduinoボード、WS8212ストリップをこのように接続します。
- ArduinoGNDおよびWS2812GNDへの電源GND
- 5VからArduino5VピンおよびWS28125Vに電力を供給
- Arduinoピン6からWS2812CTRLピン

Arduinoに電力を供給しているArduino5Vピンに電力を供給するため、バレルコネクタの2番目の電源に接続する必要がないことに注意してください。 5Vピンは電圧レギュレータと保護をバイパスするため、この接続方式を使用する場合は十分に注意してください。詳細については、このガイドをご覧ください。
WS8212 LEDストリップの配線方式の詳細については、このガイドをお読みください。
Arduinoのセットアップ
ArduinoボードをPCのUSBポートに接続します。 Arduino IDEを開き、ライブラリマネージャーを起動して([スケッチ]> [ライブラリを含める]> [ライブラリの管理])、最新の ALAライブラリをインストールします。 。
RgbStripSerial を開きます 例([ファイル]> [例]> [ALA]> [RgbStripSerial])を選択し、 NUM_PIXELS 定数の定義は、RGBストリップのLEDの数と一致します。 10ピクセルを超えるピクセルを駆動する場合は、改善された接続スキームを使用する必要があることに注意してください。
これで、 Ctrl + U を押して、スケッチをボードにアップロードできます。 Arduino IDEから、またはアップロードを選択します スケッチメニューのアクション。スケッチのアップロードで問題が発生した場合は、[ツール]メニューでボードの種類とポートを確認してください。
Arduinoシリアルモニターを開くと([ツール]> [シリアルモニター])、次のようなウェルカムメッセージが表示されます。
<図>
右下で終わる「改行」行を設定し、ボーレートが9600に設定されていることを確認します。
次に、スペースを入れずに次のコマンド(太字)を試してください。
- A =101 -LEDをオンにします
- A =251 -「ラーソンスキャナー」アニメーションを実行する
- P =2 -レインボーパレットを設定します
- A =242 -別のアニメーション
かっこいいですよね?
この短いリファレンスに従って、さまざまなコマンドと組み合わせを試すことができます:
- A =[アニメーションコード] -アニメーションを設定します。利用可能なアニメーションコードは、AlaLed.hヘッダーファイルにリストされています。
- B =[明るさ] -明るさを設定します。 [0-100]の範囲内である必要があります。
- D =[期間] -アニメーションサイクルの期間をミリ秒単位で設定します。標準値は500〜5000です。
- C =[色] -色を設定します。 E8A240のような16進数のRGB表現である必要があります。
- P =[パレット] -パレットを設定します。 [0-5]の範囲内である必要があります。
スマートフォンからアニメーションを制御しましょう。
ラズベリーPIのセットアップ
プロジェクトのこの部分では、Rapberry Piボードをセットアップして、小さなWebサーバーを実行し、WebブラウザーからLEDストリップを制御します。同じアプリケーションは、Python3がインストールされているすべてのPCで実行できることに注意してください。
前提条件は、Raspberry PIがすでに構成され、最新のRaspbian OS(Stretchでテスト済み)を実行していて、インターネットに接続されていることです。
最初に、次のコマンドを使用してPython3用のライブラリをいくつかインストールする必要があります。
sudopip3インストールpyserialフラスコ
プロジェクトのホームディレクトリを作成します:
mkdir / home / pi / AlaWebcd / home / pi / AlaWeb
AlaWeb gitリポジトリをLightStripディレクトリにダウンロードし、解凍します。
wget https://github.com/bportaluri/AlaWeb/archive/master.zipunzip master.zip
これで、すべてのソフトウェアの準備が整い、セットアップが完了しました。 ArduinoUSBポートをRaspberryPIに接続します。ダウンロードしたばかりのAlaWebアプリケーションは、USBシリアル接続を介してArduinoボードと通信します。
cd AlaWeb-mastersudo python3 AlaWeb.py
AlaWebアプリケーションはすべてのUSBシリアルポートを一覧表示し、Arduinoを自動的に検出しようとします。ループが続く場合は、実行を中断し、次のようにポート名を渡してみてください(必要に応じてポートIDを置き換えます):
sudo python3 AlaWeb.py / dev / ttyACM0
すべて問題がなければ、次のように表示されます。
<図>
Webブラウザーを開き、表示されたURLに接続します。 WebブラウザからLEDストリップを制御できるボタンでいっぱいのWebページが表示されます。
お楽しみください!
<図>
コード
AlaWeb
AlaWebは、Webブラウザからアニメーションを制御するためにPythonとFlaskで記述されたtiniWebサーバーです。https://github.com/bportaluri/AlaWebALA
Arduino Light Animation(ALA)は、LEDとLEDストリップを使用したライトアニメーションの開発を簡素化するArduinoボード用のライブラリです。詳細については、次のページにアクセスしてください:http://yaab-arduino.blogspot.it/p/ala.htmlhttps: //github.com/bportaluri/ALA 回路図



製造プロセス
- Samsung SAMIIO、Arduino UNO、RaspberryPiで数分で火災探知機を作る
- ラズベリーパイと湿度センサーを備えたエアロポニックス
- RaspberryPiとPythonを使用したロボットの構築
- ArduinoとRaspberryPiを使用してインターネット制御のビデオストリーミングロボットを構築する
- ビデオ付きRaspberryPiWeb制御ロボット
- フライトシミュレータ用のArduinoを備えたLCDパネル
- FS2020用のArduinoを備えたスイッチ/ LEDパネル
- LEDを制御するBluetoothを搭載したArduino!
- Arduino Quadruped
- ArduinoとMPU6050によるサーボモーターの制御
- BoltとArduinoを使用したLEDの明るさの制御