ESP32Arduino 電子工作 プログラミング入門

書籍の概要

この本の概要

電子工作ファンに人気のマイコンArduino,そしてWiFiとBluetooth内蔵でネットワーク接続しやすいESP32。それらのマイコンでプログラムを組む際に使うのが「Arduino言語」です。
「電子工作は好きだけどプログラミングはよくわからない」あるいは「プログラミングの経験がある。それを活かして電子工作を楽しみたい」--そんなみなさまのための電子工作プログラミング入門が本書です。
ESP32とArduinoに両対応。電子工作を始めるために必要なものから,電子工作とプログラミングの関係,はじめてのプログラム作り,開発環境のインストールと,スタートから丁寧に解説します。
変数/制御構造/配列/関数/ライブラリと,確実にプログラミングの力をレベルアップしていき,実践編では「GPSロガー」「ラジコンカー」「環境計」の制作にチャレンジ。
プログラミングで,電子工作の楽しさと世界を広げましょう。

本書で身につく知識

  • 電子工作の始め方,Arduinoの開発環境の使い方
  • 変数,配列,ポインタ,条件分岐,繰り返しなどの必須構文
  • 関数を使ったデジタル/アナログの入出力制御,割り込み処理など
  • クラスとライブラリの使い方,作り方
  • サーボモーターの制御,WiFi接続など目的ごとのライブラリの使い方
  • GPSロガー,ラジコンカー,環境計の作り方

本書で作って動かすもの

  • ログを収集してディスプレイに表示するGPSロガー
     →緯度/経度/日付/時刻/速度/標高のデータを記録してOLEDディスプレイにアウトプット
  • Bluetoothで通信,衝突防止機能付きのラジコンカー
     →パソコンやAndroidからコマンドを送ってコントロール。超音波センサーによる衝突防止機能付き
  • 温度や空気の状態を知らせてくれる環境計
     → 周囲の環境(温度/湿度/気圧/空気状態)をチェックして液晶ディスプレイに表示。Google Homeを使って空気の状態を音声で通知する機能も

こんな方におすすめ

  • ESP32&Arduinoのユーザーの方
  • ESP32&Arduinoのユーザーでプログラミングを始めたい方
  • プログラミング経験を活かして電子工作を楽しみたい方

本書のサンプル

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像1

サンプル画像2

サンプル画像3

サンプル画像4

サンプル画像5

目次

  • Arduino言語をマスターして電子工作の幅を広げよう

第1章 Arduinoプログラミングの第一歩

  • 今どきの電子工作の始め方
  • プログラミングで電子工作の世界が広がる
  • Arduinoの開発環境(Arduino IDE)のインストールと使い方
  • Arduinoの最小限のプログラムの構成
  • シリアルモニタにメッセージを表示する
  • Arduino IDEで純正Arduino以外の開発を行う
  • Column Webブラウザ上で電子工作を体験できる「Circuits on Tinkercad」

第2章 Arduino言語の基本的な構文をマスターする

  • データを変数で扱う
  • さまざまな計算を行う(算術演算子の使い方)
  • 条件によって処理を分ける
  • 同じような処理を一定回数繰り返す
  • 条件を満たす間,繰り返しを続ける
  • 多数のデータを配列で効率よく扱う
  • ポインタの利用
  • 変数にアクセスできる範囲(スコープ)と寿命を理解する
  • 定数に名前を付ける
  • そのほかの便利な構文
  • Column 配線図を描くのに便利な「Fritzing」

第3章 関数の使い方

  • 関数の仕組みを知る
  • 数値を扱う関数
  • 文字列関係の処理を行う
  • データ型を変換する
  • デジタル/アナログの入出力を制御する
  • ユーザー定義関数を作る
  • 割り込みで処理を実行する
  • ESP32のDeepSleep機能を使う
  • そのほかの組み込み関数
  • Column AliExpressでパーツを安く手に入れる

第4章 ライブラリやクラスの利用と作成

  • 既存のライブラリをインストールして利用する
  • 自分でライブラリを作る
  • データをまとめる「構造体」
  • 新しいクラスを作る
  • ライブラリをクラスの形で作る
  • 既存のクラスを継承する
  • Column ESP32のそのほかの開発環境

第5章 各種のライブラリを使う

  • シリアル通信を行う
  • サーボモーターを制御する(Servo/ESP32Servoライブラリ)
  • タイマー割り込みを行う
  • キャラクタ液晶ディスプレイを使う
  • SDカードを読み書きする
  • ESP32のFlashメモリにファイルを格納する(SPIFFS)
  • ESP32をWiFiに接続する
  • ESP32をWebサーバーとして動作させる
  • ESP32から外部のWebサーバーにアクセスする
  • ESP32にローカルな名前でアクセスできるようにする
  • WiFiでESP32にプログラムを書き込む(OTA)
  • Bluetoothシリアルで通信する
  • Column データの蓄積に便利な「Ambient」

第6章 プログラム制作事例

  • GPSロガーを作る
  • ラジコンカーを作る
  • 環境計を作る
  • Column 3Dプリンタで電子工作をより楽しくしよう

著者プロフィール

藤本壱(ふじもとはじめ)

1969年兵庫県伊丹市生まれ。中学生の頃にBASIC言語でプログラミングを始め,機械語,C言語,PHP,JavaScriptなど,さまざまな言語でプログラミングを行ってきた。1993年からPC関係のフリーライターとなり,また2005年頃からCMSソフトのMovable Typeのプラグイン開発なども行っている。
2016年にRaspberry Piで電子工作を始め,その後Arduinoも使うようになり,現在では主にESP32で電子工作を行っている。「水槽の水温が下がりすぎたらスマホに通知する水温計」など,生活をちょっと便利にできそうなものを作って楽しんでいる。
また,2018年初めに3Dプリンタを導入し,本書内のラジコンカーの事例をはじめ,タンク型ロボットやライントレースロボットなど,電子工作で作ったものの筐体を出力するのに活用している。