Kitaya lab

ラズベリーパイ5のセットアップ




ラズパイ5はラズパイ4の後継デバイスで処理速度が向上しています。しかしながら電源の必要電流も上がっているので(3A→5A)、5V 3Aの電源を用意してください。
ここの解説では2025/10/1にリリースされた64bit Debian version 13 (trixie)を用いて解説を行います。
これ以降のバージョンでも恐らくこの解説通りに操作すればセットアップできると思いますが、上手く行かなかったらこのバージョンをRaspberry Pi OSのArchiveから見つけてイメージをインストールしてください。

ラズパイに電源ゲーブル、キーボード、マウスを接続し、wifiを設定してください。wifiが無ければランケーブルをラズパイに接続して下さい。電源ケーブルにスイッチがある場合はそれも入れてください。
SDカードをラズパイにセットしてラズパイ本体の電源ボタン(本体側面)を押すと初期設定の画面が現れます。この時入力したユーザー名とパスワードは後でrealVNCを用いたリモートデスクトップで必要になるのでメモしておいてください。



初期設定が完了したらこのようにディスクトップが表示されます。




システムアップデート


ここをクリックしてコンソールを起動



ターミナルが現れます。ラズパイではターミナルからプログラムをインストールします。



まずはラズパイのソフトを最新版に更新します。ターミナルに下記のコマンドを入力してください。

sudo apt update

と半角で入力してEnterを押してください。ターミナルを用いたインストールではインストール中にDo you want to continue?的なメッセージでプロセスが止まることがあるのでそのような時は対応するキー(大抵はy)を入力し、Enerを押してプロセスを進めてください。



処理が終わったら同様に以下のコマンドも入力してください。

sudo apt upgrade -y




オンスクリーン キーボードのインストール



キーボードレスにするとスペースを節約できるのでソフトキーボードをインストールします。
ターミナルを開いてください。

sudo apt install onboard


Onboardがバーチャルキーボードのソフトです。OnboardはUniversal accessから起動できます。






OpenCVのインストール


次にカメラのキャプチャーにひつようなpythonプラグインであるOpenCVをインストールします。
ターミナルに以下のコマンドを入力してください。

sudo apt install python3-opencv


もしインストールが成功したか調べたい場合はコンソールに以下のコマンドを入力してください。バージョン番号が出れば成功しています。
なお最後のコマンドのアンダーバー(__)は1文字ではなく2文字ですので注意してください。

python3
import cv2
cv2.__version__



確認が終わったら下記のコマンドでpythonを終了します。

exit()




画面スリープ機能のオフ


ラズベリーパイはデフォルトの設定だと一定時間経つと画面がスリープするのですが、これだと困るのでこの機能を切りましょう。

Raspberry Pi Configurationを起動します。



DisplayタブのScreen BlankingをDisableにしてラズベリーパイを再起動してください。





Arduinoのエディタのインストール


ラズパイからArduinoへプログラムを送る際に必要なArduinoのエディタを以下のコマンドでインストールします。

sudo apt install arduino

もしここでE: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).というエラーが出た場合、以下のコマンドを実行してください。

sudo apt --fix-broken install
sudo apt install arduino





オペラントハウスの導入


オペラントハウスのソフトをここからダウンロードしてディスクトップに解凍します。




この画面になったら上矢印を押して1つ前の階層へ移動してください。


OperantHouseのフォルダをディスクトップへドラッグ&ドロップすればディスクトップへコピー出来ます。



Arduinoへオペラントハウス用の動作プログラムを転送します。
OperantHouse -> SerialConnectionWithPython16にあるSerialConnectionWithPython16.inoを開きます。



ポートがArduino Unoに設定されている事を確認します。



Servo用のライブラリーをインストールします。



servoと検索して最新版のServoライブラリーをインストールします。



このような選択肢が出たらInstall allを選択



次にビルド&転送ボタンを押してプログラムを転送します。



次にオペラントハウスを起動しましょう。
ラズパイではpythonプログラムはThonnyで実行できます (pythonファイルはデフォルトでThonnyで開くように設定する事をお勧めします)。



OperantHouseフォルダにある最新のOperantHouse*.pyをロードします。



念のため冒頭のGeneral settingが以下のようにラズパイモード、シングルモニタモード、飼育解析モード、カメラによるタッチ検出モードになっているか確認して下さい。
違っていたら直してSaveしてください(半角入力)。



Runボタンを押せばオペラントハウスが起動します。



このような画面が出ます。
TouchWinボタンを押してパネルウィンドウを非表示にし、CamSizeボタンを押してカメラウィンドウを拡大します。



カメラウィンドウに映像が映っていればOKです。



以下のボタンを押し、報酬cue、 赤外線照明、天井照明の切り替え、サーボの動作が起きるか確認します。


問題がなければオペラントハウスのインストールは完了です。メインウィンドウ左のExitボタンかThonnyのStopボタンを押してプログラムを終了してください。




ディスクトップの色変更


ディスクトップに明るい色があるとマウスの気が散るのでディスクトップの色を黒くします。
何もない所を右クリックしてDesktop Preferencesを選択します。



以下のように変更してOKを押します。


これで黒くなりました。


なおここまで作業してきたようにラズパイのセットアップは手間が掛かるのでこの時点で止めたSDカードを作り、今後装置を増やす際はそのSDカードからコピーすることをお勧めします。
詳しくは左のメニューのTipsを見て下さい。




リモートデスクトップの設定


オペラントハウスはタッチモニターしかない場合、実験中に操作することが困難です。そのため基本的にrealVNCと呼ばれるリモートデスクトップソフトを介して操作用PCから操作します。realVNCはRaspberry Pi Configuration



InterfacesタブのVNCをオンにしてOKを押してラズパイを再起動します。



再起動後にタスクバーの右側にこのようなアイコンが出たらOKです。



次にネットワークのアイコン(LANケーブル接続の例。Wifiだと別のアイコンになります)をクリックして表示されたIPをメモしてください(これはインターネット上のラズパイの住所のような物です。デフォルト設定だとラズパイを再起動する度にこの番号は変わってしまうため、もし変えたくないのであればIPを固定する設定を解説サイトなどを参考にして行ってください)。



次に操作用PC(同じ建物内にある必要あり)にrealVNCをインストールします。ラズパイを登録するためNew connectionを選択します。



先ほどメモしたIPアドレスとデバイス名を入力します。デバイス名はRealVNCで表示される名前であり適当で構いません。



OKを押し、登録されたデバイスを開くとユーザー名とパスワードを聞かれます。ラズパイを初回起動したときに設定したユーザー名とパスワードを入力してください。



なおユーザー名はコンソールでwhoamiと入力すると確認できます (Raspberry Pi ConfigurationにあるHostnameは別物なので注意)。
パスワードはRaspberry Pi Configuration→SystemのChange Passwordで変えられます。



なおrealVNCでは同じ建物内(LAN)であれば無料ですが、建物外(自宅)からのアクセス(インターネット経由)であれば有料アカウントを作る必要があります。もしお金を掛けずに自宅からアクセスしたい場合は自宅PCから操作用PCまでのChrome remoteで繋ぎ、そこからrealVNC経由でオペラントハウスを操作してください。




以上でラズパイの設定は完了です。


ここから先は用途によって作業が異なります。
@タッチパネルのみ使う場合 → オプションパーツ - 赤外線カメラ検出 へ進んでください。
Aレバーモジュールも使う場合 → オプションパーツ - レバーモジュールへ進んでください。
B赤外線センサーバー(NNAMC3460PCEV)を使う場合 → オプションパーツ - 赤外線センサーバー検出 へ進んでください。

@とBのどちらにすれば良いか分からない場合は取り敢えず@を試してみて下さい(Bは隣り合ったマスクホールが縦長かつ近接している場合のみ必要です)。