見出し画像

Waveshere 1.44inch LCD HATの画面が消える問題を解決する

私の作品では、基本的に小型ディスプレイに映像を流してひたすらループさせている。今回はこの小型ディスプレイについて。

上記のWikiを参考にセットアップし一見問題なく動いていたが、展示をしてみると自宅で動作確認した時には気づかなかった画面の消灯がたびたび起こった。しかも時間が経つにつれて消灯が頻繁になったりする。

キーボードやボタンなどを押していればおそらく画面の消灯は起きないので、実際の需要のほどはわからないが、このディスプレイを映像を流すために使っているごく少数の方がここに辿り着いて解決に至ればとても嬉しい。

結論から言うと、上記のwikiに記載されている

cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH44_LCD_HAT=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 ..

https://www.waveshare.com/wiki/1.44inch_LCD_HAT

これが問題だったようだ。
-DBACKLIGHT_CONTROL=ON
これがバックライトのコントロールに関係していて、よくわからないタイミングで映像が途切れる要因になっているっぽい!
この記述を消して、以下のようにする。

cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH44_LCD_HAT=ON -DSTATISTICS=0 ..

以降はWikiの通りで、画面がブランクしなくなった。
たった1行のことが原因だったりするけど、今回も特定に時間がかかった。

sudo cp ~/waveshare_fbcp/build/fbcp /usr/local/bin/fbcp

あとwikiではfbcpをコピーするときの記述がこうなっているけど、

sudo cp ~/Waveshare_fbcp/build/fbcp /usr/local/bin/fbcp

実際はWaveshareのWは大文字なので注意(気づくまで地味に時間を取られた)

ほか、基本はWiki通り進めばOK。

バージョンの問題なのか、lgpioのインストールとC codesの部分でエラーが起きてしまうので飛ばしてやってるが、特に問題なく動くので省いて良さそう。多分デモを動かすために必要っぽいけどpythonの方だけでも確認できるから重要ではないのかも。

プログラミングの理解があまり深くないので、ツッコミとかもいただけたら助かります。
この記事がいつか誰かの役に立てば幸いです。


いいなと思ったら応援しよう!