新しいものづくりがわかるメディア

RSS


書籍紹介:「ラズパイ自由自在 電子工作パーツ制御完全攻略」 その道のプロが伝える「トラブル脱出法」

Raspberry Pi(ラズパイ)を使った作例を書籍やWebで見かけ、作ってみて無事に動けば、これは大きな喜びです。しかし残念ながら、「なぜか動かない」こともあります。私もよく「なぜか動かない」を体験します。動かなかったとき、対応方法が分かれば電子工作への理解がより深まる第一歩になります。『ラズパイ自由自在 電子工作パーツ制御完全攻略』(松岡貴志 著/日経BP)は「なぜか動かない」に直面したときに、しっかり対処できるスキルを身に付けるための書籍です。

図1 本書の目的(資料提供:松岡貴志氏) 図1 本書の目的(資料提供:松岡貴志氏)

本書のお薦めポイント~「動いて終わり」からの卒業

「ラズパイ電子工作を成功させるための、試行錯誤のヒントがたくさん掲載されている」これが、「ラズパイ自由自在 電子工作パーツ制御完全攻略」の最大のお薦めポイントです。

著者 松岡貴志さんはIoTデバイス開発を仕事にしているプロエンジニアです。メイカー系の展示会に行くと、ブースにいる松岡さんを見かけることがあります。自らが開発したデバイスを中心に、IoTについて来場者の方に笑顔で語ってくれます。私はIoTデバイスの開発を手掛けており、以前から松岡さんにメイカーフェアなどでお会いして電子工作への知識/技術の深さに大変感銘を受けていました。

写真1 ある展示会での松岡さん(撮影:からあげ氏) 写真1 ある展示会での松岡さん(撮影:からあげ氏

トラブルシューティングのノウハウは、松岡さんが本書の中で最も伝えたかったことの一つです。実際に作例の過程でトラブル(=動かない)に遭遇し、それをどのように解決したかが詳細に説明されています。他の書籍などとは違い、「なぜ動かないのか」に焦点を当てた解説が多数掲載されており、読者のラズパイ電子工作ステップアップのヒントになる一冊です。

また、本書では単なるセンサーの作動原理や作例だけではなく、センサーやデバイスを異なる条件で動かした場合どうなるかについて、著者が行った多くの実験結果が掲載されています。広範囲な実験方法や結果からは、センサーの使用方法について大変深い知識を得られます。

本書は全ページフルカラーで図解も多く、初心者にもとても分かりやすいのも大きな特長です。学習図鑑を見たときのような、分かりやすさとワクワク感を与えてくれます。どのページにも、松岡さんが体験から得たノウハウを伝えるための工夫で満ちあふれています。掲載されているコードもカラー。本書のサンプルコードはPythonで書かれています。コードの役割についての注釈はていねいに書かれていて、本書で初めてPythonに触れる人にも分かりやすく書かれています。

本書の内容~ ラズパイ電子工作への実践的なアプローチ。

前半(10章まで)は、「動かしてみる」がテーマです。制作例を中心にさまざまな電子工作用パーツの動かし方などを紹介しています。それぞれの作例には、必ずパーツリストやサンプルプログラムが掲載されています。後半(11章)は、「ラズベリーパイのIO詳解」として、デジタル入出力や通信の原理原則、「なぜ動くのか」「なぜ動かないのか」について対応するための知識を紹介しています。

図2 本書の構成(資料提供:松岡貴志氏) 図2 本書の構成(資料提供:松岡貴志氏)

Lチカから深まっていく学び

前半の作例からLチカ(1章)を選び、本書の手順に従って制作してみました。実はこのLチカの作例で書かれている内容に、感銘を受けました。多くの書籍やウェブサイトで紹介されている、LEDが光って終わりの作例でなく、さまざまな角度から深堀りされています。

本書で紹介されている作例は「入口は簡単に、だんだん学びを深めていく」よう工夫されています。また「やってみたけどエラーが出た」など、松岡さんが制作過程で直面したトラブルとその解決方法についても掲載されています。

1章では、LEDを発光させる際に、明るさを制御する二つの方法について学べます。Lチカを初めに紹介している電子工作の本をよく見かけますが、本書では光れば終わりではありません。LEDの明るさを変えるには、一つには順電流の大きさによって、もう一つはパルス幅変調(PWM)を使ってソフトウェアで明るさを制御する方法があります。私は、PWMによってLEDの明るさを調整する方法を試しました。

図3 LEDの順電流と明るさの変化(「ラズパイ自由自在 電子工作パーツ制御完全攻略」P7より引用) 図3 LEDの順電流と明るさの変化(「ラズパイ自由自在 電子工作パーツ制御完全攻略」P7より引用)

掲載されている内容に従って、ラズパイのコマンドを使ってPWMの出力数値を10%、70%で調整したときのLEDの明るさ変化を下記の写真としました。

写真2は、本書の作例通りにLEDを接続したところ。写真3と4はPWMの出力数値を、それぞれ10%、70%に調整して発光させたところ。 写真2は、本書の作例通りにLEDを接続したところ。写真3と4はPWMの出力数値を、それぞれ10%、70%に調整して発光させたところ。

著者が伝えたかったこと~「なぜ動く」「なぜ動かない」

後半は、ラズパイと電子パーツとつなぐ方法を解説する技術的な内容で、よく使われるインターフェースについて詳しく説明されています。

各インターフェースの特徴と仕組み、入出力のための具体的なPythonプログラムも掲載しています。 実際にトラブルが発生しやすい部分も網羅して、「なぜ動かないのか」について対応するためのヒントが満載です。 いままでなんとなく使っていた各種インターフェースを理解することで、電子パーツのデータシートを参考に自分でパーツを選びラズパイに接続して操作できるようになることをゴールにしています。

後半で紹介されている内容の中から、15章のI2Cの項目で触れられている、加速度センサー「ADXL345」を使用して物体の動きを検出し、その加速度を測定する作例で松岡さんの試行錯誤の過程を紹介します。

本書では、当初WiringPi(ワイヤリングパイ)というライブラリを使用して加速度データの読み取りを試みましたが、期待通りのデータ取得ができないという問題が発生しました。その後、データ取得の精度に問題があることを特定した松岡さんは、pigpioライブラリを使うことで解決しています。精度の高いデータが取得できるようになったことで、物体の動きを正確に捉え、その動きがセンサーによってどのように検出されるかを詳細に分析することができたのです。

この検証プロセスは、読者に非常に貴重な教訓を提供してくれます。一つは「適切なツールの選択」についてです。 電子工作では、目的に合ったセンサーやライブラリの選択が重要です。まさかI2C用のライブラリが適合しない、という結論にはなかなか思い当たることはできないかもしれません。しかし、常に別のアプローチを試す柔軟性も必要です。

もう一つはトラブルシューティングの重要性です。加速度センサーの実験を通じて、問題発生時の原因追究と解決策の探求方法を身に付けることが、電子工作のスキル向上に不可欠であることが強調されています。なかなかすぐにゴールに到達できないケースも多々あるでしょう。しかし、「問題解決に向けた試行錯誤」こそが、電子工作の楽しさの一つなのかもしれません。

17章 UARTについて

後半で紹介されている内容のうち、17章のUART(ユニバーサル非同期受信送信)についての説明は、松岡さんがもっとも力を入れて執筆された内容であるとのことです。図4に松岡さんが要約した資料を掲載します。

図4 UARTの3種類(フレームの区分け方、資料提供:松岡貴志氏) 図4 UARTの3種類(フレームの区分け方、資料提供:松岡貴志氏)

UARTのフレームの説明方法は、本書では非常にユニークな方法となっています。本書では図4に示されている内容のほかに、実際の通信フォーマットをデータシートから見つける方法や、それぞれのセンサーに使用されている通信方式などの説明もあり、難解な通信方式の中身を深く学べます。

まとめ

私が「ラズパイ自由自在 電子工作パーツ制御完全攻略」から学んだことは、トラブルシューティングも含めた電子工作への多面的なアプローチです。Lチカの章で学んだPWMが13章で再び登場し、さらに深く掘り下げられているように、一つの作例で学んだことが別の作例で役に立ち、そして、トラブルに対してもいろいろな角度で考え、解決するためのプロのアプローチ方法を知りました。

まさに、読み終わるころには一気に電子工作の視界が開けそうな内容です。

著者からひとこと(松岡貴志さんより)

「ラズパイ自由自在 電子工作パーツ制御完全攻略」を書評いただき、ありがとうございます。本書は「思うように動かないときに解決できる電子工作のスキルを身に付けてもらいたい」という想いを詰め込んだ電子工作の本です。

近年、初心者でも扱いやすいマイコンボードが登場して、電子工作を楽しむハードルが下がりました。ラズパイにI2C温度センサーを結線してネットからPythonコードをダウンロードすれば、IoT温度計出来上がり! みたいな。便利な世の中になりましたね。しかし、機能をアップしようとするとうまくいかないことがほとんどだと思います。温度範囲の広いセンサーに変えたいけどパーツが分からないとか、センサーを変えると温度が取れなくなったなど。

このような事態を解決するには、パーツ、インターフェース、データシートの3つの経験、スキルが必要と考えています。本書はこのうちの2つ、パーツとインターフェースを取り上げています。本書を参考に手を動かすことで経験とスキルが身に付くことでしょう。

ぜひ本書を手に取って、一緒に電子工作を楽しみましょう。

■ラズパイ自由自在 電子工作パーツ制御完全攻略

著者:松岡 貴志
出版社:日経BP  価格:3190円(税込)

※取材協力:松岡 貴志氏、日経BP
記事初出時に写真提供のクレジットに誤りがありました。訂正してお詫びいたします。

おすすめ記事

 

コメント

ニュース

編集部のおすすめ

連載・シリーズ

注目のキーワード

もっと見る