その後のその後

iOSエンジニア 堤 修一のブログ github.com/shu223

【書評】Prototyping Lab 第2版 ―「作りながら考える」ためのArduino実践レシピ

著者の小林 茂 先生、およびオライリー・ジャパン社より『Prototyping Lab 第2版 ―「作りながら考える」ためのArduino実践レシピ』をご恵贈いただきました。



Arduinoを使ったチュートリアル・レシピをまとめたクックブックで、約7年前に刊行された同名の書籍の大幅改訂版です。2017年1月に刊行されたばかりで、Amazonで購入できます。


Prototyping Lab 第2版 ―「作りながら考える」ためのArduino実践レシピ (Make: PROJECTS)
小林 茂
オライリージャパン
売り上げランキング: 32,308


Kindle版はないようですが、オライリーの公式サイトにて電子版を購入することもできます。

書籍の概要 / 目次

本書はタイトルに「プロトタイピング」とある通り、ハードウェアで何かつくりたいものが浮かんだときに、Arduino & Processing でサクッとつくってみようという考え方の実践手法を紹介する本です。


なので、◯◯(プロダクト名)みたいなものをつくってみよう、みたいな話ではなくて、互いに組み合わせて再利用しやすいレシピをメインに構成されています。

  • 入力
    • レシピ 1:自然光の明るさを測りたい
    • レシピ 2:距離を測りたい(赤外線センサ)
    • レシピ 3:距離を測りたい(超音波センサ)
    • レシピ 4:振動を測りたい
    • レシピ 5:直線上の位置を測りたい
    • レシピ 6:圧力を測りたい
    • レシピ 7:曲がり具合を測りたい
    • レシピ 8:温度を測りたい
    • レシピ 9:傾きを測りたい
    • レシピ 10:動きを検出したい
    • レシピ 11:方位角を測りたい
    • レシピ 12:人が動いたことを検知したい
    • レシピ 13:何かがタッチしたことを検出したい
    • レシピ 14:タッチパネルを使いたい
  • 出力
    • レシピ 15:光をコントロールしたい
    • レシピ 16:モノを叩いて音を出したい
    • レシピ 17:モノを振動させたい
    • レシピ 18:モノを動かしたい(角度を変える)
    • レシピ 19:DCモータをコントロールしたい
    • レシピ 20:DCモータをコントロールしたい(センサによるコントロール付き)
    • レシピ 21:小型のディスプレイで情報を提示したい
    • レシピ 22:AC100V機器のオンオフをコントロールしたい
    • レシピ 23:サウンドを再生したい
  • データ処理
    • レシピ 24:入力から不要な変動を取り除きたい
    • レシピ 25:アナログ入力をデジタル的にいくつかの範囲に分割したい
    • レシピ 26:ある状態になった後、一定時間が経過してから処理を行いたい
    • レシピ 27:環境ごとにセンサの値をキャリブレーションしたい
    • レシピ 28:ある状態になった瞬間に処理を行い、その後一定時間の変化を無視したい
    • レシピ 29:複数の入力がある状態にマッチしたかどうか判断したい
    • レシピ 30:時間変化を伴う入力があるパターンにマッチしたかどうかを判断したい
    • レシピ 31:状態遷移をわかりやすく記述したい
  • ネットワーク接続
    • レシピ 32:スマートフォンと無線で接続したい
    • レシピ 33:ローカルなトリガによりネットワーク上でアクションを起こしたい
    • レシピ 34:ネットワーク上のトリガによりローカルでアクションを起こしたい

そんなわけで、ひとつひとつのレシピを順番にやっていくという読み方よりも(それもいいと思いますが)、何かつくりたいものを頭に思い浮かべつつ、その要素技術となるレシピをピックアップして読んでいく、という読み方ができるようになっています。


もちろん、レシピを紹介するクックブックパートの前には、ArduinoやProcessingの開発環境のセットアップから、

  • Arduino IDEのセットアップ
    • Arduinoについて
    • ドライバのインストール
    • Arduino IDEの起動と動作確認
  • Processing IDEのセットアップ
    • Processingについて
    • ProcessingでArduinoボードと通信するための準備

(2章:開発環境を整える)


電子回路の基礎(それこそオームの法則から)、揃えておくと便利な電子部品や工具の紹介、

  • 電子回路の基礎知識
    • 電圧〜電流〜抵抗
    • オームの法則
  • 実際に回路を組んでみよう
    • ブレッドボードとジャンパワイヤ
    • 主な電子部品について
    • 実際に回路を組んでみよう
    • オームの法則、ふたたび
    • スイッチで LEDをオン/オフする
  • 自分のツールボックスを整備しよう
    • そろえておくと便利な電子部品
    • そろえておくと便利な工具
    • ブレッドボード以外で利用できるモジュールについて
    • センサ用ケーブルの作り方

(3章:電子回路の基礎と最初の一歩)


そしてArduinoの基本的なチュートリアルがあります。

  • Arduinoの基礎知識
    • スケッチの基本的な構造とデジタル出力
    • PWMによるアナログ出力
    • デジタル入力
    • アナログ入力
    • Arduinoボードに LCDを接続する
    • LCDを自分でシールド化する
  • Arduino+PCで使う
    • Processingの場合
    • Arduino IDEを拡張する
    • ライブラリを追加する
    • ボードを追加する

(4章:Arduinoチュートリアル)


また本書の冒頭にArduinoでプロトタイピングを行うことでどのような実際のプロダクトがつくられたか、という作品紹介パートがあり、実際に各作品においてArduinoや3Dプリンタを利用したプロトタイピングの過程が紹介されていて、こんなものがつくれてしまうのか、と読んでいるだけでワクワクさせてくれます。

  • Orphe(株式会社 no new folk studio)
  • BOCCO(ユカイ工学株式会社)
  • MESH(ソニー株式会社 MESHプロジェクト)
  • 光枡(光枡プロジェクト)
  • 形骸化する言語(菅野創、やんツー)
  • METCALFシリーズ(きゅんくん)
  • NO SALT RESTAURANT(NO SALT RESTAURANT制作委員会、 aircord)
  • IRKit(大塚雅和)
  • HACKberry(イクシー株式会社)
  • ベゼリー(チームベゼリー)


(Sonyの「MESH」もArduinoから始まった)



そして、本書全体的に言えることですが、二色刷り(一部カラー)で、きれいな図が多用されていて、わかりやすく、読みやすいです。


(本として美しいので、(電子も便利だけど)個人的には紙でずっと持っていたい)

第1版との違い

初版が出版された2010年5月から執筆時点で6年経過していたそうなので、状況は何もかもが変わっています。


個人的に所有している第1版と比べてみると、まず冒頭の「作品紹介」パートは全面的に刷新されています。第1版はメディアアート的な「作品」が100%を占めていたのに対し、第2版では「製品」(量産品)が数多く紹介されています。この6年の歳月が、「Arduinoを用いたプロトタイピング」という手法を確実に浸透させ、製品を世の中に送り出すようにまでなったんだなぁと思うと感慨深いものがあります。


また2010年5月というと、iOSはまだiPhone OS 3(iOSですらない)。Core Bluetoothが最初に入ったのがiOS 5なので、BLE(Bluetooth Low Energy)はまだ浸透するどころか規格がどうのこうのというフェーズだったかと思います。そんなわけで第2版では「BLEを利用してスマートフォンと無線通信」するサンプル(レシピ32)が今回追加されています。


またWi-Fiで無線通信してウェブサービス(myThings/IFTTT/Beebotte)と連携するサンプル(レシピ33と34)や、Raspberry PiやNode-RED、3Dプリンタを使用するプロトタイピングの実例を紹介する章(第9章)も、今回新たに追加されたものです。


その他にももちろんArduino/Processingのサンプルも現行バージョンに全面更新されていますし、Arduino IDEに追加された新機能の説明も追加されています。

個人的にやりたいこと

レシピの総まとめとして、『自律型 2輪ロボットをつくる』という実践の章があります。実際にアイデアをどうやってハードウェアのプロトタイプに昇華するかという具体例を示してくれる章です。


最近友人のiOSエンジニアが「強化学習」の勉強のためにそういうものをラズパイでつくっていて、

めっちゃ楽しそう、って思ってたので、これは是非やってみたいなぁと。

おわりに

Arduinoのチュートリアル・レシピをまとめたクックブック『Prototyping Lab 第2版 ―「作りながら考える」ためのArduino実践レシピ』をご紹介させていただきました。


パラパラと眺めていると「つくりたい」モチベーションがムクムクと湧いてくる本です。初心者にもわかりやすく書かれていますので、ハードウェアを絡めたものづくりに興味のある方はぜひ一度手にとってみてはいかがでしょうか。


Prototyping Lab 第2版 ―「作りながら考える」ためのArduino実践レシピ (Make: PROJECTS)
小林 茂
オライリージャパン
売り上げランキング: 32,308