Skip to content

3110/raspirobots

Repository files navigation

Raspberry Piでロボットをつくろう! - コードリポジトリ

表紙私のロボット

このリポジトリの説明

このリポジトリは,『Learn Robotics with Raspberry Pi: Build and Code Your Own Moving, Sensing, Thinking Robots』(Matt Timmons-Brown著,No Starch Press,2019年)を翻訳した『Raspberry Piでロボットをつくろう!—動いて,感じて,考えるロボットの製作とPythonプログラミング—』(齊藤哲哉訳,共立出版,2021年)のコードリポジトリです。

原著のコードリポジトリであるhttps://github.com/the-raspberry-pi-guy/raspirobotsで公開されているソースコードのうち,訳本で翻訳した部分を含めて公開しています。

また,訳本を読むうえで参考になる情報や正誤情報も公開していきます。訳本に間違いを見つけた場合は,お手数ですがIssuesに登録していただけるようお願いいたします。

書籍の詳細もくじ

はじめに

  • なぜロボットをつくって学ぶのか?
  • なぜRaspberry Piなのか?
  • 本書の内容
  • 本書が想定する読者
  • 使用部品
  • さあ,始めよう!

第1章 起動する

  • Raspberry Piを入手する
    • Pi初体験
    • そのほかに必要なもの
  • Raspberry Piを設定する
    • Windows/macOSでPiのオペレーティングシステムをインストールする
    • Raspberry Piに機器を接続する
    • Raspberry Pi OSをインストールする
    • Raspberry Pi OSを設定する
  • 素晴らしきターミナルの世界
    • ターミナルを見て回る
    • 他のコンピュータからRaspberry Piに接続する
  • プログラミングとは?
    • Python入門
    • 初めての Pythonプログラムを書く
  • まとめ

第2章 電子工学の基礎

  • 電気とは?
    • 抵抗
    • オームの法則
  • LEDを点滅させる: Raspberry PiのGPIO出力
    • 部品リスト
    • LEDを配線する
    • Raspberry PiでLEDを点滅させるプログラムを書く
    • プログラムの実行: LEDを点滅させる
    • 挑戦しよう: 点滅の間隔を変える
  • ボタンから入力する: Raspberry PiのGPIO入力
    • 部品の説明
    • ボタンを配線する
    • Raspberry Piでボタンからの入力を表示するプログラムを書く
    • プログラムの実行: ボタンからの入力を取得する
    • 挑戦しよう: ボタンからの入力と LED の点滅を連動させる
  • まとめ

第3章 ロボットをつくる

  • 初めてのロボット
  • 部品リスト
    • 車台(シャーシ)
    • モーター
    • 電池
    • 電圧調整器
    • モーターコントローラ
    • 必要な道具
  • ロボットを組み立てる
    • 車台をつくる
    • モーターを取り付ける
    • ロボットを安定させる
    • 電池を取り付ける
    • Raspberry Pi,ブレッドボード,降圧コンバータを取り付ける
    • Raspberry Piに繋ぐ電源を配線する
    • モーターを接続する
  • まとめ

第4章 ロボットを動かす

  • 部品リスト
  • Hブリッジを理解する
  • ロボットを初めて動かす
    • 事前に決めた経路でロボットを動かす
    • プログラムの実行: ロボットを動かす
  • ロボットを遠隔操作する
    • Wiiリモコン
    • Bluetoothをインストールして使えるようにする
    • 遠隔操作機能をプログラミングする
    • プログラムの実行: ロボットを遠隔操作する
  • モーターの回転速度を変える
    • PWMの仕組みを理解する
    • 加速度計を理解する
    • 加速度データを調べる
    • 遠隔移動操作を突き詰める
    • ロボットの速度を変えるプログラムを書く
    • プログラムの実行: PWMを使ってロボットを遠隔操作する
    • 挑戦しよう: 遠隔操作ロボットを改良する
  • まとめ

第5章 障害物を避ける

  • 障害物検知の方法を理解する
    • 超音波距離センサーによるアナログ物体検知
    • HC-SR04の仕組みを理解する
  • 障害物までの距離を測定する
    • 部品リスト
    • 分圧器で電圧を下げる
    • HC-SR04を配線する
    • Raspberry Piで距離を取得するプログラムを書く
    • プログラムの実行: 障害物までの距離を測定する
  • ロボットに障害物を回避させる
    • 超音波距離センサーHC-SR04を取り付ける
    • ロボットに障害物を避けさせるプログラムを書く
    • プログラムの実行: ロボットに障害物を避けさせる
    • 挑戦しよう: 障害物回避プログラムを改良する
  • まとめ

第6章 光と音で華やかにする

  • Raspberry PiロボットにNeoPixelを取り付ける
    • NeoPixelとRGB表色系
    • 部品リスト
    • NeoPixel Stickを配線する
    • ソフトウェアをインストールする
    • ライブラリのサンプルコードを設定する
    • サンプルコードを実行する
    • Wiiリモコンプログラムを使ってNeoPixelを操作する
    • プログラムの実行: NeoPixelをWiiリモコンで操作する
    • 挑戦しよう: 色とパターンを派手にする
  • Raspberry Piロボットにスピーカーを取り付ける
    • 3.5mmスピーカーの仕組みを理解する
    • スピーカーを接続する
  • Wiiリモコンプログラムに警笛音を追加する
    • ソフトウェアをインストールする
    • ターミナルから音を鳴らす
    • Wiiリモコンプログラムを使って音を鳴らす
    • プログラムの実行: NeoPixel,効果音,Wiiリモコンの操作
  • 障害物を避けるプログラムにビープ音を追加する
    • 障害物を避けるプログラムにビープ音を組み込む
    • プログラムの実行: 障害物を避けるときにビープ音を鳴らす
    • 挑戦しよう: 別のプロジェクトに効果音を追加する
  • まとめ

第7章 線をたどる

  • 走路をつくる
  • 線をたどるための理論
  • 赤外線センサーを使って線を見つける
    • 部品リスト
    • TCRT5000線追従センサーモジュールを配線する
    • Raspberry Piで線を見つけるプログラムを書く
    • プログラムの実行: 線を見つける!
  • ロボットに線をたどらせる
    • 2個目のTCRT5000モジュールを配線する
    • センサーを取り付ける
    • ロボットに線をたどらせるプログラムを書く
    • プログラムの実行: ロボットが線をたどる!
  • まとめ

第8章 コンピュータビジョン——色のついたボールを追いかける

  • コンピュータビジョンの役割
  • 部品リスト
    • 目標物: 色のついたボール
    • 公式Raspberry Piカメラモジュール
  • カメラモジュールを接続して設定する
    • カメラを取り付ける
    • カメラとVNCを有効にして画面の解像度を設定する
  • テスト撮影する
    • VNCを使ってPiのデスクトップを遠隔から操作する
    • VNC Viewerをインストールして接続する
    • Raspberry Pi カメラモジュールを使って写真を撮影し表示する
  • ロボットにボールを追いかけさせる
    • 色のついた物体を認識するために必要な理論を理解する
    • ソフトウェアをインストールする
    • 目的の色の色相値を調べる
    • HSVテストプログラムを実行する
    • ロボットにボールを追いかけさせるプログラムを書く
    • プログラムの実行: ロボットが色付きのボールを追いかける!
  • まとめ

次のステップ

  • Raspberry Pi Guy
  • お気軽に連絡を!
  • 他のウェブサイト
  • 同好会・イベント
  • 書籍・出版物

Raspberry Pi の GPIO ピン配置図

抵抗値の計算方法

はんだ付け

  • 必要なもの
    • はんだ
    • はんだごて
    • こて台とこて先クリーナー
  • 部品をはんだ付けする
    • はんだ付けの準備
    • こて先を錫メッキする
    • 部品の準備
    • 完璧な接合部のはんだ付け
  • まとめ

起動時にプログラムを実行する

  • rc.local ファイルを編集する
  • 実践例

訳者あとがき

索引

部品表

Supply chain, shortages, and our first-ever price increase(「サプライチェーン,欠品,そして初めての値上げ」,2021年10月20日)に書かれている通り,世界的な半導体不足のため,Raspberry Piが手に入りにくい状況が続いています。特に,本書で使っているRaspberry Pi 3B+に関しては,一時的ですが他のモデル(Pi 3B,Compute Module 3/3+)の生産を優先する措置が取られています。しばらくはRaspberry Pi 3Bの方が入手しやすい状況が続くと思われますので,3Bを入手することをお勧めします。

2023年8月11日現在,入手しにくい状況は改善されていていますが,多くの販売サイトでRaspberry Pi 3B/3B+が販売終了になっています。Raspberry Pi 3A+やRaspberry Pi Zero WHあたりを利用することをお勧めします。

※販売状況は2023年8月11日現在

部品 購入先 販売状況
Raspberry Pi 3A+ https://ssci.to/4110 在庫あり
https://www.marutsu.co.jp/pc/i/2238096/ 納期30日程度
Raspberry Pi Zero WH https://ssci.to/3646 売り切れ
https://www.marutsu.co.jp/pc/i/1320453/ 在庫あり
Raspberry Pi 3 Model B+ https://ssci.to/3920(OKdo製) 販売終了
https://ssci.to/3850(Element14製) 販売終了
https://www.marutsu.co.jp/pc/i/1345410/(RS版) 販売終了
https://www.marutsu.co.jp/pc/i/1349448/(Element14版) 販売終了
Raspberry Pi 3 Model B https://ssci.to/3050 販売終了
https://www.yodobashi.com/product/100000001003445642/(アイ・オー・データ製) 販売終了
https://www.yodobashi.com/product/100000001003445642/(アイ・オー・データ版) 販売終了
公式 Raspberry Piカメラモジュール V2(500万画素→800万画素) https://ssci.to/8940 在庫あり
公式 Raspberry Piオフィシャルマウス https://ssci.to/6426 在庫あり 在庫あり
公式 Raspberry Piオフィシャルキーボード https://ssci.to/6425 在庫あり
400穴ブレッドボード https://ssci.to/313 在庫あり
抵抗コンデンサLED詰め合わせパック https://ssci.to/1218 販売終了
ジャンパワイヤー オス-メス https://ssci.to/209 在庫あり
メス-メス https://ssci.to/56 在庫あり
オス-オス https://ssci.to/57 在庫あり
モーメンタリ式押しボタン https://ssci.to/38 在庫あり
電池ホルダー(単三×6) https://www.marutsu.co.jp/pc/i/65884/ 在庫あり
降圧コンバータ(LM2596) https://www.marutsu.co.jp/pc/i/25649540/ 在庫あり
モーターコントローラチップ(L293D) https://www.marutsu.co.jp/pc/i/13014388/ 5営業日程度
JetBot Chassis Kit V2 https://ssci.to/6944 在庫あり
Wiiリモコン 中古 https://item.rakuten.co.jp/iimoreuse/169/ 在庫あり
超音波距離センサー(HC-SR04) https://ssci.to/6080 在庫あり
抵抗キット 1/4W(20種計500本入り) https://ssci.to/1084 在庫あり
NeoPixel Stick 本体 https://www.marutsu.co.jp/pc/i/829719/ 在庫あり
ピンヘッダ https://www.marutsu.co.jp/pc/i/60528/ 在庫あり
3.5mmスピーカー https://amazon.jp/dp/B075NXYGKX 在庫あり
線追従センサー(TCRT5000ベース) https://store.shopping.yahoo.co.jp/stk-shop/73010615.html 在庫あり

正誤表

間違いのご連絡はこちら

※2022年8月11日(金)現在

版数 ページ 修正前 修正後 報告者
初版

About

共立出版『Raspberry Piでロボットをつくろう!』コードリポジトリ

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages