ちっちゃいことはいいことだ。

ラズパイゼロを使ってカメラを作っています。その中でちっちゃいモニターを使いたくて1.33インチのモニターを買ったら、接続でめちゃくちゃ梃子摺りました。

備忘録を兼ねてメモを残しておきます。

 

 

レシピ

ラズパイ本体:raspberry pi zero WH

ラズパイOS:raspberry pi os (2021/7/11現在の最新)

モニター:1.3inch IPS LCD display HAT for Raspberry Pi, 240x240 pixels, SPI interface

f:id:touchP:20210712002439j:plain

 

 

手順

同じモニターについて、接続方法が書かれた記事は既にありまして、そちらの方法で出来れば多分そっちの方がいいと思います(私は電気工作もプログラミングもズブの素人なので)。ただ、今回はなぜかその方法で上手くいかなかった為、公式を参考にしながら、適当に必要そうなところをやってみました。これであっているのかよく分かりませんが、一応動いたのでその手順です。

 

既出の記事:

Raspberry Pi Zero WHにディスプレイを接続し、デスクトップ画面を表示する方法 - Qiita

フリスクPC(その4) 遊べるように設定しよう - planetary days,

 

参考にした公式ページ:

1.3inch LCD HAT - Waveshare Wiki

 

モニターをラズパイに繋げる。

ちょっと渋いので慎重に繋げましょう。

f:id:touchP:20210712002540j:plain

 

SPI(ってなに?)を有効にする。

sudo raspi-config

上記コードを実行するとなんか設定画面が出てくるので、

 3 Interrface Options → P4 SPI

と選択

 Would you like the SPI interface to be enabled?

となんか聞いて来るので、

 <はい>

と選択します。(私はラズパイの初期設定で日本語を選択したのでこうでしたが、英語を選択すると<Yes>かもしれません。やってないので本当にそうかは知りませんが。)

その後

 The SPI interface is enabled

と表示されるので

 <了解>

とします。

(参考:公式「Enable SPI interface」)

 

なんかいろいろインストールする。

下記のコードを1行づつ実行

wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.68.tar.gz
tar zxvf bcm2835-1.68.tar.gz
cd bcm2835-1.68/
sudo ./configure && sudo make && sudo make check && sudo make install

ここはよく分かっていません。もしかしたらここはいらないかも。(というか、今この記事を書きながら参考サイトを見ていたら、必要ないんじゃないかという気持ちが強くなってきています。)

(参考:公式「Install Libraries - Install BCM2835 libraries」)

検証の結果、やっぱり必要ありませんでした。

 

ワーッとやるとモニターが光る!

良く分からないけど下記のコードを1行づつ実行

sudo apt install cmake -y
cd ~
wget https://www.waveshare.com/w/upload/f/f9/Waveshare_fbcp.7z
sudo apt install p7zip-full
7z x Waveshare_fbcp.7z
cd waveshare_fbcp
mkdir build
cd build
cmake -DSPI_BUS_CLOCK_DIVISOR=20 -DWAVESHARE_1INCH3_LCD_HAT=ON -DBACKLIGHT_CONTROL=ON -DSTATISTICS=0 ..
make -j
sudo ./fbcp

最後の行を実行するとモニターに映像が表示されるはず。

(apt-getをaptに変更。なんか最近はaptが主流らしいという話をインターネットのどこかで読んだので。)

(参考:公式「FBCP Transplant - Compile and Run」)

 

ラズパイ起動と共にモニター起動!

まず「fbcp」を「/usr/local/bin」へコピーします。

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

「rc.local」を開きます。
sudo nano /etc/rc.local

開いたら「exit0」の前に「fbcp&」を追記して保存(ここは間違えると良くないらしいです。公式ページを見て慎重に追記して下さい。)

 

これで、ラズパイの起動と共にモニターが起動するはず。

(参考:公式「FBCP Transplant - Auto-start when Power on」,

ここの一行目、公式だと「sudo cp ~/Fbcp-ili9341/build/fbcp-ili9341 /usr/local/bin/fbcp」ってなっているんだけれど、このままだと旨く行かなかった。)

 

真四角が今の流行り。

モニターが正方形なので表示もそれに合わせます。

そのためには、「config.txt」を編集するそうです。

「config.txt」を開きます。

sudo nano /boot/config.txt

開いたら下を追記します。

hdmi_force_hotplug=1
hdmi_cvt=720 720 60 1 0 0 0
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
display_rotate=0

これでいい感じに映るはず。

(ここで、公式だと追記内容の2行目は「hdmi_cvt=300 300 60 1 0 0 0」です。ただ、これだと今回のモニターにはちょうどいい感じで表示されるんだけれど、私のFullHDのモニターを繋いだ時にそっちに映りませんでした。もし、大きい画面で確認したいとなったとき不便なので変更しました。)

(参考:公式「FBCP Transplant - Set the display resolution」)

 

f:id:touchP:20210712002736j:plain

 

 

 

 

あとがき

ラズパイゼロにHQ cameraを繋いでコンデジみたいにできないかなぁと頑張っています。一応今回のモニターにプレビューを映し出して、「KEY1」でシャッターが切れるようにはなりました。あとはモバイルバッテリーがあれば外に持ち出せます。ただ、これらを収めるケースがなぁ。なにかいい方法はないでしょうか。

f:id:touchP:20210712003251j:plain

 

 

 

f:id:touchP:20210712003215j:plain

カメラの前のやよいちゃん

f:id:touchP:20210712003326j:plain

モニタに映るやよいちゃん