ラズパイ3B+でLEDJ

はじめに

このアカウントを見て興味を持ったのでやってみます。
LEDJ同好会 (@teamLEDJ) | Twitter

用意するもの

  • ラズパイ

  • LEDパネル
    amazonに安いのがありますが、ピカリ館のほうは店舗チェック済みの商品らしいです。
    LEDマトリクスパネル - akibaLED ピカリ館

  • 電源
    定格に合ったACアダプタ切ってLEDパネル付属のコネクタにくっつけました

  • メス-オスのジャンパ線
    またはコネクタ

配線

パネルが1枚の場合は😄のみ配線してください。 github.com

制御ライブラリ導入手順

  1. Raspbian LiteをSDカードに書き込む
    Desktopだといろんなドライバとかライブラリとか設定とかが邪魔して表示が乱れました(原因多すぎてよくわかってない)
    参考 FAQ>Ghosting Issue Examples
    開発者もLiteがいいよって言ってます GitHub - hzeller/rpi-rgb-led-matrix: Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO
    セキュリティの設定などしたら次へ進みましょう

  2. ライブラリのダウンロード
    gitコマンドやUSBなどで任意のディレクトリにrpi-rgb-led-matrixを保存

  3. コンパイル・デモ実行

cd rpi-rgb-led-matrix
make
cat <<EOF | sudo tee /etc/modprobe.d/blacklist-rgb-matrix.conf
>blacklist snd_bcm2835
>EOF
 
sudo update-initramfs -u
sudo reboot
sudo ./demo 

次のようなオプション一覧が表示されれば成功です。

Expected required option -D <demo>
usage: examples-api-use/demo <options> -D <demo-nr> [optional parameter]
Options:
    -D <demo-nr>              : Always needs to be set
    -t <seconds>              : Run for these number of seconds, then exit.
    --led-gpio-mapping=<name> : Name of GPIO mapping used. Default "regular"
    --led-rows=<rows>         : Panel rows. Typically 8, 16, 32 or 64. (Default: 32).
    --led-cols=<cols>         : Panel columns. Typically 32 or 64. (Default: 32).
    --led-chain=<chained>     : Number of daisy-chained panels. (Default: 1).
    --led-parallel=<parallel> : Parallel chains. range=1..3 (Default: 1).
    --led-multiplexing=<0..9> : Mux type: 0=direct; 1=Stripe; 2=Checkered; 3=Spiral; 4=ZStripe; 5=ZnMirrorZStripe; 6=coreman; 7=Kaler2Scan; 8=ZStripeUneven; 9=P10-128x4-Z (Default: 0)
    --led-pixel-mapper        : Semicolon-separated list of pixel-mappers to arrange pixels.
                                Optional params after a colon e.g. "U-mapper;Rotate:90"
                                Available: "Rotate", "U-mapper". Default: ""
    --led-pwm-bits=<1..11>    : PWM bits (Default: 11).
    --led-brightness=<percent>: Brightness in percent (Default: 100).
    --led-scan-mode=<0..1>    : 0 = progressive; 1 = interlaced (Default: 0).
    --led-row-addr-type=<0..2>: 0 = default; 1 = AB-addressed panels; 2 = direct row select(Default: 0).
    --led-show-refresh        : Show refresh rate.
    --led-inverse             : Switch if your matrix has inverse colors on.
    --led-rgb-sequence        : Switch if your matrix has led colors swapped (Default: "RGB")
    --led-pwm-lsb-nanoseconds : PWM Nanoseconds for LSB (Default: 130)
    --led-pwm-dither-bits=<0..2> : Time dithering of lower bits (Default: 0)
    --led-no-hardware-pulse   : Don't use hardware pin-pulse generation.
    --led-slowdown-gpio=<0..2>: Slowdown GPIO. Needed for faster Pis/slower panels (Default: 1).
    --led-daemon              : Make the process run in the background as daemon.
    --led-no-drop-privs       : Don't drop privileges from 'root' after initializing the hardware.
Demos, choosen with -D
    0  - some rotating square
    1  - forward scrolling an image (-m <scroll-ms>)
    2  - backward scrolling an image (-m <scroll-ms>)
    3  - test image: a square
    4  - Pulsing color
    5  - Grayscale Block
    6  - Abelian sandpile model (-m <time-step-ms>)
    7  - Conway's game of life (-m <time-step-ms>)
    8  - Langton's ant (-m <time-step-ms>)
    9  - Volume bars (-m <time-step-ms>)
    10 - Evolution of color (-m <time-step-ms>)
    11 - Brightness pulse generator
Example:
    examples-api-use/demo -t 10 -D 1 runtext.ppm
Scrolls the runtext for 10 seconds

結果

P6-16×32のLEDパネルです。

sudo ./demo -D 0 --led-rows=16 --led-cols=16

f:id:mats12345:20190626113953g:plain

以降

BluetoothWi-Fi使ってスマホかPCをコントローラみたいにしたいな〜