Raspberry Pi工作クイズ – 基礎からワークする力を養おう
Raspberry Piを使った工作や制御は奥が深く、初心者にとっては少し難しく感じるかもしれません。本記事では、Raspberry Piの基本的な機能や使い方について、10問のクイズを通して理解を深めていきます。GPIO、I2C、カメラ、シャットダウンなど、Raspberry Piを上手に活用するための重要なポイントを確認しましょう。Raspberry Piでものづくりを始めたい人も、より実践的な知識を得るのに役立つはずです。Raspberry Piの基礎をしっかり学んで、自分のアイデアを具現化する力を身につけましょう。
Q1 : Raspberry Piに5V出力のセンサやモジュールを接続する場合、どのように扱うべきか? Raspberry Piは5V耐性があるのでそのまま接続してよい 5V出力を直接GPIOに接続すると損傷する可能性があるため、レベルシフタや分圧で3.3Vに変換する I2C機器は全て自動的にレベル変換されるから何もしない GPIOに入る信号はどれも抵抗だけで十分保護される
説明:Raspberry PiのGPIOは3.3Vが最大許容入力で、5Vを直接入力するとピンやSoCを損傷する危険があります。5V出力のセンサを接続する場合は、単方向の信号なら抵抗分圧や論理レベル変換回路を用いて3.3Vに落とすのが一般的です。I2Cのように双方向ラインがある場合はバス用の双方向レベルシフタを使用します。電源の共通化やGND共有も重要です。製品のデータシートに従い適切な変換を行って安全に接続してください。
Q2 : サーボモータ(ホビー用)の位置制御でよく使われるPWMの周期(周波数)はどれが標準的か? 20Hz 400Hz 50Hz 1kHz
説明:一般的なホビー用サーボは約50Hz(周期20ms)のPWM信号で制御されます。角度はパルス幅で指定され、概ね1msで左端、1.5msで中央、2msで右端といった範囲が多く用いられます。したがって50Hzの周期に対してパルス幅を変えることで位置を決めます。Raspberry Piで制御する際はPWM出力を正確に生成するライブラリやPWMハードウェア、または外部サーボドライバ(例PWMドライバボード)を使うと安定した動作が得られます。
Q3 : ヘッドレスでRaspberry Piを初期セットアップする際、SSHを有効化してリモートログインを可能にする最も簡単な方法はどれか? /etc/ssh/sshd_configを編集してPermitRootLoginを有効にする SDカードのbootパーティションに空のファイル名sshを作成する raspi-configでboot後に手動でSSHをONにする(ヘッドレスでは不可) /boot/config.txtにenable_ssh=1を追記する
説明:ヘッドレス環境で最も簡単にSSHを有効にする方法は、SDカードのbootパーティション(Windowsやmacから見えるパーティション)に空のファイル名「ssh」を作成することです。このファイルが存在すると初回起動時にsystemdやスクリプトがSSHサーバを有効化し、ファイルは自動で削除されます。raspi-configでの設定はGUIやコンソールがある場合に有効ですが、ディスプレイのないヘッドレスセットアップでは事前にsshファイルを置く方法が手軽で広く使われています。
Q4 : I2Cデバイスが正しく接続されているか確認するためにRaspberry Pi上で実行する標準的なコマンドはどれか? i2cdetect -y 1 i2cscan -a 1 i2c-list-devices i2cdetect -r 0
説明:Raspberry PiでI2Cバス上のデバイスを検出する標準的なコマンドはi2cdetect -y 1です。モデルによってバス番号が異なることもありますが、一般的な現行のPi(1以降の多くのモデル)はバス1を使用します。オプション-yは対話確認をスキップし、-rは読み取りモードで詳細スキャンを行います。実行すると16進アドレス表で接続されているデバイスのアドレスが表示され、デバイスが見えない場合は配線、電源、I2Cの有効化設定を確認します。
Q5 : 一線式温度センサDS18B20をRaspberry Piで使う場合、どの通信プロトコルを利用するか? I2C 1-Wire SPI UART
説明:DS18B20は1-Wireプロトコルを使用する温度センサで、Raspberry Piではw1-gpioというデバイスツリーオーバーレイを有効にしてGPIOピン(通常GPIO4)に接続して使います。有効化後は/sys/bus/w1/devices配下にセンサのIDが現れ、そこから読み取ることで温度を取得します。1-Wireはパワーオンワイヤや複数デバイスのバス接続が可能で、専用のpull-up抵抗(4.7k程度)を用いるなど配線上の注意点があります。UARTやSPI、I2Cとは異なる単線シリアル通信方式です。}
Q6 : Raspberry PiのGPIOピン番号には主にBCMとBOARDという方式があります。物理的な40ピンコネクタのピン位置を示す番号付けはどれか? BCM(Broadcom SoCのピン番号) BOARD(物理ピン番号) wPi(WiringPiの番号) BCMの論理名(GPIO名)
説明:GPIOピンの番号付けには複数の方式があり、BCMはSoC上のGPIO信号名(例GPIO17)で、BOARDは基板上の物理ヘッダ位置を1〜40で示します。工作や配線を行う際に物理的なピン位置を指定したい場合はBOARDを使うと直感的です。たとえばヘッダの左上が1番、右上が2番となり、回路図通りにジャンパ線を接続できます。また使用するライブラリやスクリプトで番号方式を統一しないと意図しないピンに接続してしまうため、コメントやドキュメントにどの方式を使っているか明示するのが重要です。
Q7 : Raspberry PiでI2Cバスを有効にしてセンサーを接続する際、公式に推奨されている簡単な手順はどれか? /boot/config.txtにdtparam=i2c_arm=offと書く raspi-configのInterfacing OptionsでI2Cを有効化する /etc/modulesにi2c-devを追加する /etc/rc.localでi2c-toolsを起動する
説明:I2Cを使う場合、最も簡単で公式に推奨される方法はsudo raspi-configを起動し、Interfacing Options→I2Cを選んで有効化することです。これにより必要なデバイスツリーオプションが/boot/config.txtに追加され、i2c-devモジュールも有効になります。手動でconfig.txtを編集することもできますが、raspi-configは依存関係や再起動手順を自動で処理するため安全です。有効化後はi2cdetectコマンドでデバイスが見えるか確認し、pythonではsmbusやsmbus2ライブラリでデバイスと通信します。
Q8 : Raspberry Piのカメラ関連で、従来のraspistill/raspividの代替として推奨されているモダンなユーザ空間ライブラリはどれか? OpenCVのVideoCaptureインターフェース Video4Linux2(v4l2)ドライバ単体 libcamera gphoto2
説明:従来のraspistill/raspividツールは古いBroadcomスタックに依存していましたが、現在のRaspberry Pi公式サポートはlibcameraユーザ空間ライブラリに移行しています。libcameraはカメラデバイスとカメラスタックを抽象化し、複数のカメラパイプラインを統一的に扱えるように設計されています。Raspberry Pi OSではlibcamera-appsやlibcameraを利用したツールが推奨され、設定やトリミング、フォーマット指定などがlibcameraベースで実装されます。OpenCVやv4l2も併用できますが、内部ではlibcameraが橋渡しをすることが多く、最新の機能や性能チューニングはlibcamera側でサポートされます。
Q9 : Raspberry Piを安全にシャットダウンしてファイルシステムの破損を防ぎたいとき、最も適切なコマンドはどれか? sudo reboot sudo poweroff sudo halt sudo shutdown -h now
説明:安全にシステムを停止するための一般的なコマンドはsudo shutdown -h nowです。このコマンドはすべてのプロセスに終了シグナルを送り、ファイルシステムをアンマウントしてから電源を切る手順を実行します。sudo poweroffやsudo haltも類似の動作をすることがありますが、shutdownはタイミング指定やメッセージ送出など柔軟なオプションを持ち、明示的に停止を指示する際に推奨されます。重要なデータやSDカードの寿命を守るため、単に電源を抜くのではなくこのようなシャットダウン手順を用いることが望まれます。
Q10 : Raspberry Pi本体に与える標準の電圧はどれか(給電側)? 5V 3.3V 12V 9V
説明:Raspberry Piは外部から5Vの安定化電源を供給して動作します。モデルにより給電コネクタはUSB Micro-BやUSB-Cなど異なりますが、いずれも5Vで動作します。基板上には3.3Vレギュレータがあり、GPIOのロジックや各種ICは3.3Vで動作しますが、外部から直接供給すべきは5Vです。供給電流はモデルや接続機器によって異なり、Raspberry Pi 4では最低でも3A程度が推奨されます。誤って12Vや9Vを与えると基板や周辺回路を破損するため注意が必要です。
まとめ
いかがでしたか? 今回はRaspberry Pi工作クイズをお送りしました。
皆さんは何問正解できましたか?
今回はRaspberry Pi工作クイズを出題しました。
ぜひ、ほかのクイズにも挑戦してみてください!
次回のクイズもお楽しみに。