マイコン電子工作&プログラミング スターターブック ―Arduino、ラズパイ、ESP32の基本から電子工作のためのプログラミングまで―

「マイコン電子工作&プログラミング スターターブック」のカバー画像
著者
藤本壱(ふじもとはじめ) 著
定価
3,520円(本体3,200円+税10%)
発売日
2026.10.15
判型
A5
頁数
392ページ
ISBN
978-4-297-15919-1

概要

マイコン電子工作を始めたい&もっと楽しみたい! プログラミングを上達させたい! そんな声にお応えできる全ページカラーのガイドブックが登場。Arduino、Raspberry Pi、ESP32といった定番マイコンの基本から、実践的な電子工作のためのプログラミングまで体系的に学べます。

本書の前半では、ハードウェアの基礎知識からプログラム作りの基本ルール、開発環境の構築までを丁寧に解説します。

  • ArduinoやRaspberry Pi、ESP32など、用途に合わせたマイコンの選び方
  • マイコン向けのプログラミング環境からプログラム作りの超基本
  • PythonとArduino言語によるプログラミング環境構築方法

後半では、デバイスやモジュールを思いどおりに動かすための制御テクニックを解説します。

  • デジタル入出力、アナログ入力、PWM出力、I2CやSPIによる接続手法
  • ブラシ付きモーター・サーボモーター・ステッピングモーターといった各種モーターの制御
  • ディスプレイへの情報表示と、温度・距離・モーションなどのセンサー制御

基礎から応用までを網羅しており、ご自分の経験に合わせて着実に電子工作のレベルが上がります。「自分で作ったモノをプログラムで自由に動かす楽しさ」を、ぜひ本書によって深めてください。電子工作の第一歩を踏み出す&電子工作の奥深さを堪能する、そのための最適なスタートガイドです。

こんな方にオススメ

  • Arduino、Raspberry Pi、ESP32などの定番マイコンで電子工作を楽しみたい方
  • センサーやモーターの制御など、電子工作のための実践的なプログラミングを上達させたい方
  • 今どきの電子工作の全体像や、電子工作向けのプログラミングについて知りたい方

目次

第1章 マイコンを使った電子工作の第一歩

01 電子工作のポイント

  • 電子工作 = 電子部品を組み合わせた工作
  • アナログ電子回路とデジタル電子回路

02 マイコンを使った電子工作

  • デジタル電子回路とコンピュータの相性
  • マイコンと電子部品モジュールを使った電子工作

03 最低限知っておきたい基礎知識

  • VCCとGND
  • 電圧/電流/抵抗の関係

04 必要な道具・あると便利な道具

  • ブレッドボードとジャンプワイヤ
  • はんだごてなど、はんだ付け関連のもの
  • 抵抗
  • スイッチ

マイコン電子工作でこんなことができる

  • テレビタイマー

第2章 電子工作に適したマイコン

05 Arduino

  • イタリアで教育向けに生み出されたマイコン
  • Arduino以外の開発にも使える「Arduino IDE」
  • Qualcommによる買収と新シリーズの展開

06 Raspberry Pi

  • イギリス発祥の教育向けマイコン
  • LinuxベースのOSが動作
  • お値段は高め

07 ESP32シリーズ

  • Wi-Fiを搭載したマイコン
  • ESP32シリーズのレパートリー
  • ESP32シリーズを搭載した各種の製品

08 micro:bit

  • イギリス発の教育向けマイコン
  • ブロックベースのプログラミング環境で開発

09 Raspberry Pi Picoシリーズ

  • ArduinoやESP32に近い形態のマイコン
  • Wi-Fi付きのRaspberry Pi Pico W
  • Raspberry Pi Pico 2/Raspberry Pi Pico 2 W

10 そのほかのマイコン

  • Jetsonシリーズ
  • RDK-X3
  • Raspberry Piと似たマイコン

マイコン電子工作でこんなことができる

  • Arduboy互換機

第3章 プログラム作りの基本

11 マイコン向けのプログラミング環境

  • Arduino IDE
  • Visual Studio Code
  • Mu Editor

12 開発言語の選択

  • Arduino言語
  • Python
  • JavaScript

13 基本的なプログラムの形

  • Arduino言語での基本の形
  • Pythonでの基本の形

14 変数による情報の記憶

  • 情報を保存する入れ物 = 変数
  • 変数を作る
  • 変数に情報を記憶する
  • 文字列を変数に代入する

15 条件によって処理を分ける

  • 条件を満たしたときだけ処理を行う
  • 条件を満たさない場合に別の処理を行う
  • 複数の条件を連続して判断する

16 一定回数の繰り返し

  • 単純な繰り返しの場合
  • for文の一般形

17 条件が満たされている間繰り返す

  • while文による繰り返し
  • 繰り返しの途中で条件を判断する
  • while文を使う場面

18 関数とライブラリ

  • 処理を関数にまとめる
  • 関数の実行
  • 関数をまとめたライブラリ

19 オブジェクトを使ったプログラミング

  • オブジェクトの考え方
  • オブジェクトとクラス
  • オブジェクトの宣言
  • メンバ変数/メンバ関数の操作

マイコン電子工作でこんなことができる

  • チェーンプログラムロボットの改造

第4章 ビジュアルプログラミング環境での開発

20 Scratchでmicro:bitプログラミング

  • 小学校でも取り入れられているScratch
  • Scratch Linkのインストール
  • Scratch micro:bit HEXのインストール
  • Scratchとmicro:bitの接続
  • micro:bitのブロックの利用

21 MakeCodeでmicro:bitプログラミング

  • Microsoftが提供するMakeCode
  • プログラミングの手順
  • プログラムの書き込み
  • プログラムの保存と読み込み

22 UIFlowでM5Stackプログラミング

  • UIFlowはM5Stack独自のプログラミング環境
  • ファームウェアの書き込み
  • UIFlow 2.0でのプログラムの開発
  • プログラムの実行と書き込み

マイコン電子工作でこんなことができる

  • Tsumicky

第5章 Pythonでの開発

23 Pythonの特徴

  • 汎用的なプログラミング言語
  • AI関連で人気が上昇
  • インデントでブロックを表すことが必須

24 マイコンで使えるPython環境

  • MicroPython
  • CircuitPython

25 マイコンへのCircuitPythonの書き込み

  • CircuitPythonのダウンロード
  • Raspberry Pi Pico系での書き込み手順
  • ESP32系での書き込み手順
  • CircuitPythonのバージョンアップ
  • circupコマンドのインストール

26 BlinkaによるRaspberry Piでの開発

  • Blinka
  • インストール前の準備
  • Blinkaのインストール
  • インストールの確認

27 Mu Editorでの開発

  • Mu Editorのインストール
  • プログラムの開発
  • シリアルポートの通信を見る
  • プログラムの実行

28 Visual Studio Code + Raspberry Pi + Blinkaでの開発

  • Visual Studio Codeのインストール
  • Raspberry Piのホスト名の設定
  • Visual Studio CodeとRaspberry Piとの接続
  • プログラムの開発と実行

マイコン電子工作でこんなことができる

  • LEDストリップの利用

第6章 Arduino言語(C++)での開発

29 Arduino言語の特徴

  • ベースとなるC++言語
  • Arduino向けにアレンジしたC++言語 = Arduino言語

30 Arduino IDEでの開発

  • Arduino IDE
  • Arduino IDEのインストール
  • プログラムの開発
  • プログラムの書き込み

31 ボードマネージャのインストール

  • ボードマネージャ
  • ボードマネージャにボードを追加する
  • 非公式のボードを追加する
  • ボードのアップデート
  • ボードのバージョンを戻す

32 ライブラリのインストール

  • ライブラリ
  • ライブラリマネージャでライブラリをインストールする
  • ライブラリのアップデート
  • ライブラリのバージョンを戻す

マイコン電子工作でこんなことができる

  • ライントレーサー

第7章 基本的な制御

33 デジタル出力

  • デジタル出力の基本
  • ピンのモードの設定
  • ピンの番号
  • デジタル出力を行う
  • デジタル出力の例

34 デジタル入力

  • デジタル入力の基本
  • ピンのモードの設定
  • デジタル入力を行う
  • デジタル入力の例

35 プルアップとプルダウン

  • スイッチの入力が得られないことがある回路
  • プルアップ抵抗を入れる
  • マイコン内蔵のプルアップ抵抗を使う
  • プルダウン抵抗

36 PWM出力

  • PWM出力の基本
  • PWM出力を行えるピン
  • Arduino言語でのPWM出力
  • CircuitPythonでのPWM出力

37 アナログ入力

  • アナログ入力の基本
  • アナログ入力を利用できるマイコンとピン
  • Arduino言語でのアナログ入力
  • CircuitPythonでのアナログ入力

38 シリアル入出力

  • シリアル入出力の基本
  • Arduino言語でのシリアル入出力
  • CircuitPythonでのシリアル入出力
  • Raspberry Pi + Blinkaでシリアルポートを使う

39 I2Cを使った接続

  • I2C
  • I2C接続に使うピン
  • Arduino言語でのI2Cのピン番号の指定
  • CircuitPythonでのI2Cの使い方

40 SPIを使った接続

  • SPI
  • SPI接続に使うピン
  • Arduino言語でのSPIの使い方
  • CircuitPythonでのSPIの使い方

マイコン電子工作でこんなことができる

  • 電飾ピアノ

第8章 モーターの制御

41 ブラシ付きモーターの制御

  • ブラシ付きモーター
  • モーターの制御に使うモータードライバ
  • マイコンとTB6612FNGの接続
  • モーターの回転と停止
  • Arduino言語でのプログラミング
  • CircuitPythonでのプログラミング

42 サーボモーターの制御

  • サーボモーター
  • マイコンとサーボモーターとの配線
  • Arduino言語でのプログラミング
  • CircuitPythonでのプログラミング

43 ステッピングモーターの制御

  • ステッピングモーター
  • モータードライバを通したマイコンとの接続
  • Arduino言語でのプログラミング
  • CircuitPythonでのプログラミング

マイコン電子工作でこんなことができる

  • プラレールの自動ポイント切り替え器

第9章 情報の表示

44 キャラクタディスプレイ

  • キャラクタディスプレイの基本
  • 利用前の準備
  • Arduino IDEでの利用手順
  • CircuitPythonでの利用手順

45 OLEDディスプレイ(Arduino言語の場合)

  • OLEDディスプレイの基本
  • OLEDディスプレイの接続
  • ライブラリのインストール
  • プログラムの先頭部分
  • setup関数に入れる処理
  • OLEDディスプレイへの表示

46 カラー液晶ディスプレイ(Arduino言語の場合)

  • カラー液晶ディスプレイの基本
  • マイコンとカラー液晶ディスプレイの接続
  • TFT_eSPIライブラリのインストール
  • User_Setup.hの書き換え
  • プログラムの先頭部分の記述
  • setup関数での初期化
  • 各種の描画処理

47 CircuitPythonでの液晶ディスプレイ系の操作

  • displayioによる描画
  • ライブラリのインストール
  • ライブラリの読み込み
  • ディスプレイの初期化
  • 画面への表示

マイコン電子工作でこんなことができる

  • パルスオキシメーター

第10章 センサーの制御

48 温度/気圧/湿度センサー

  • 主な温度/気圧/湿度センサー
  • DHT11/DHT22の接続
  • Arduino言語でのプログラミング
  • CircuitPythonでのプログラミング

49 モーションセンサー

  • モーションセンサーの基本
  • MPU6050とマイコンとの配線
  • Arduino言語でのプログラミング
  • CircuitPythonでのプログラミング

50 距離センサー

  • 距離センサーの基本
  • HC-SR04とマイコンとの配線
  • Arduino言語でのプログラミング
  • CircuitPythonでのプログラミング

51 色センサー

  • 色センサーの基本
  • TCS34725とマイコンの接続
  • Arduino言語でのプログラミング
  • CircuitPythonでのプログラミング

52 GPS

  • GPSの基本
  • マイコンとの接続
  • Arduino言語でのプログラミング
  • CircuitPythonでのプログラミング

マイコン電子工作でこんなことができる

  • 脈拍に連動して動く猫耳

第11章 各種のプログラミング

53 AD変換

  • AD変換モジュール
  • Raspberry Piとの接続
  • ADS1115のライブラリのインストール
  • ADS1115の初期化
  • アナログ値を得る

54 ファイルの読み書き

  • ファイルの読み書きに必要なもの
  • マイコンとSDカードモジュールの接続
  • Arduino言語でのプログラミング
  • CircuitPythonでのプログラミング

55 Wi-Fiへの接続

  • Arduino言語でのプログラミング手順
  • CircuitPythonでのプログラミング手順

56 ホスト名で接続できるようにする

  • mDNSの基本
  • Arduino言語でのプログラミング手順
  • CircuitPythonでのプログラミング手順

57 マイコンをHTTPサーバーとして動作させる(Arduino言語の場合)

  • HTTPサーバーの基本
  • プログラミングの手順
  • ESP32系/Raspberry Pi Pico WをWebサーバーとして動作させる

58 マイコンをHTTPサーバーとして動作させる(CircuitPythonの場合)

  • ライブラリのインストール
  • プログラミングの手順
  • CircuitPythonで書き換えてWebサーバーとして動作させる

59 マイコンからWebサーバーにアクセスする基本

  • 簡易HTTPSアクセス用ライブラリの組み込み
  • SSLのルート証明書の取得
  • プログラム作成の手順

60 マイコンからWebサーバーにアクセスする基本(CircuitPythonでプログラミング)

  • ライブラリのインストール
  • import文の追加
  • SSLのルート証明書の追加
  • 初期化の処理
  • Webページの情報の取得

61 スマートフォンに通知を送信する

  • IFTTT
  • IFTTTを使う準備
  • アプレットの作成
  • Arduino言語のプログラムで通知を送信する
  • CircuitPythonのプログラムで通知を送信する

マイコン電子工作でこんなことができる

  • プラレールの電動踏切

プロフィール

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

1969年兵庫県伊丹市生まれ。神戸大学電子工学科卒。中学生のころにBASIC言語でプログラミングを始め、機械語、C言語、PHP、JavaScriptなど多くの言語でプログラミングを行ってきた。1993年から2019年まではPC関係のフリーライターとして、雑誌や書籍の原稿の執筆を行ってきた。2020年からは群馬医療福祉大学の教員として勤務している。

2016年にRaspberry Piで電子工作を始め、その後Arduinoも使うようになり、現在は主にESP32で電子工作を行っている。また、ビジュアルプログラミング環境でさまざまなプログラミングを楽しむための「Tsumicky」というプロジェクトを進めている。

YouTubeチャンネル「HFChannel」(https://www.youtube.com/@HFChannel1969)で、電子工作をはじめ多くの動画を公開している。