AI に聞いてみる

Arduino / Arduino UNO / ESP32 / ESP32-WOOMB / M5Stack … などあらゆるものがあるので調べてみます。

これらを AI に聞いて調べます。

マイコンと開発ボードの違い

マイコン

MicroController は CPU メモリ I/O など、コンピュータの基本的な機能を1つの半導体チップについてまとめたもの。 これ単体を直接プログラミングするのは難しい。プログラム書き込みを行う装置が別途必要だからである。

Atmel ATmega328P, Espressif Systems ESP32 などが有名。

モジュール

マイコンチップ単体では扱いづらいため、マイコンチップを動かす周辺部品を1つの基板にまとめたものを Module とよぶ。 単体のマイクロチップよりも扱いやすくなり、かつ他のモジュール・基板と組み合わせやすくなる。

ESP32-WROOM-32 などが有名。

開発ボード(マイコンボード)

マイコンチップやモジュールを組み合わせた、もっともプログラミングや回路接続がやりやすい、組み込み済み基板。書き込み装置もついてくる。 これをつかってマイコンを学び始めるのが簡単。

Arduino UNO, ESP32 DevKitC, Raspberry Pi Pico などが該当する。

Platform

ソフトウェアやコミュニティ。 Arudiono や ESP-IDF などが有名。

Arduino はマイコンチップではないの?

Arduino はマイコンチップではなく、オープンソースの電子工作全体の 1 つの Platform である。

Arduino は以下の 2 つに該当する。

  1. hardware
    1. Arduino Uno など、開発ボード
  2. software
    1. Arduino IDE

ATmega328P はどのような部品で構成されている?

ATmega328P の CPU は 8bit の AVR RISC プロセッサコアで構成されている。 AVR は Atmel 社が開発している 8bit のマイクロコントローラの総称。

https://ja.wikipedia.org/wiki/Atmel_AVR

メモリは ATmega328P 内に組み込まれており、 Atmel 社がそのまま開発している?

Arduino 開発ボードはどこが製造している?

https://www.arduino.cc/Í

Imgur

Arduino UNO など、 Arduino から始まるものについては Arduino 社が開発している。

Imgur Imgur Imgur

必ずしも Atmega 社の マイクロコントローラを使っている、というわけではなく ESP32 や ARM など様々なマイクロコントローラを利用している。

Arduino とは本当にただのプラットフォームや製品群であり、実態の CPU は ESP32, Atmel ATmega のようなそれぞれ異なっている、という理解でよさそう。

Arduino マイコンボードと互換性のあるものはどういうものがあるか?

Arduino UNO R3 など、有名な Arduino マイコンボードなどはその回路図などが公開されている。 そのため、サードパーティによってそれらに互換性のあるマイコンボードが開発・販売されている。

たとえば Keyestudio UNO R3 や ELEGOO UNO R3 が存在する。 Arduino Uno R3 と同じレイアウトであるため、同じようなプログラムを書いて使える。

https://xtech.nikkei.com/atcl/nxt/column/18/01109/020600039/

ESP32 の開発郡について

ESP32 自体はマイコンチップである。 それに必要最低限の部品(フラッシュメモリ・アンテナなど)を追加したのが ESP-WROOM-32 などである。

実際にそのモジュールをより使いやすくする開発ボードとして、 ESP32-DevKitC や M5Stack などがある。

どうして Arduino IDE で ESP32 のプログラムが開発できるのか

もともと Arduino IDE は Arduiono 開発ボード(マイコンボード)を開発するための IDE だった。 しかし、異なるアーキテクチャのマイコンも開発できるように拡張されている。

https://www.youtube.com/watch?v=5JwJ9QcmK_8 https://zenn.dev/from_f/books/c88ddde6c21f66/viewer/a5c0b2

M5Stack とは?

Imgur

https://m5stack.com/

M5Stack は ESP32 マイコンチップを利用した開発ボードの ブランド のこと。

Arduino 開発マイコンボードと異なり、最初から LED ・ボタン・ディスプレイが配線されている。

M5Stack Core, M5StickC, M5Atom, M5Paper など様々なシリーズが存在する。