マイコンとは?電子工作 初心者が使えるようになるポイント

blog

ちまたで、マイコン、マイコンって言われてるけど、
マイコンは何が出来て、何が嬉しいのか良く分からないですよね。
(え!聞いたことない?聞いたことない人もこんな世界もあるんだ~、と思って見て行ってください。)

この記事の中では、マイコンとは何ぞや?を説明し、
マイコンを使えるようになる為に、知っておくべき1つのポイントをお伝えしますね。

最終的に、マイコンを使って電子工作を行い、
モノづくりの楽しさを体験頂ければ嬉しいです!

マイコンとは

マイコンを一言で言うと、
電気機器のなかに入っている、電子部品を制御する小さなコンピュータです。
マイコンにプログラムを書き込むと、電子部品を思い通りに動かせます。

マイコンとは、マイクロコントローラ(microcontroller)の略称で、
小さなコントローラ(モノを制御する)という意味です。

マイコンは、色んな電気機器の中に入っています。
例えば、テレビ、エアコン、冷蔵庫、洗濯機などの家電に入っています。
他にも、マイコンが使われている電気機器を探してみてください。
お子さんと一緒に探すと楽しいと思いますよ。

マイコンの特徴は、
同じマイコンでも、プログラムを変えるだけで、
マイコンの動きを変えることが出来ます。
つまり、
同じマイコンでも、電気製品に応じて、
電子部品の制御を変えることが出来るということです。

具体的に、マイコンがどのようなことを行っているかと言うと、
洗濯機を例にとると、
電源ボタンを押すと、洗濯機の電源を入れたり、
洗濯ボタンを押すと、洗濯を始めたりといった、
電子部品の制御を行ってます。

もう一つ。マイコンを別の見方で見ると、
マイコンは、人間でいうところの頭脳になります。
目や舌や手で触った感触を頭脳に送り、
頭脳で考えた結果を、手や足に伝えて行動します。

マイコンの役割

マイコンの役割について深堀りしてみます。

マイコンの処理の流れは、
・入力装置からの情報を取得し、
・取得した情報を計算し、
・計算した結果で出力装置を制御する。
となります。

上記のマイコンの処理から、マイコンの役割は大きく分けて、
・入力
・演算
・出力
の3つに分けることが出来ます。

入力装置の種類

マイコンが情報を取得する入力装置として、
例えば以下があります。

・スイッチ(ボタン)
ボタンを「押した」 or 「押してない」 で処理を変える時に使用します。

・気温センサーなどのセンサー系
「気温」、「湿度」、「光度」などの外部情報を取得したい時に使用します。
他にも、人感センサーは、人が居るか or 居ないか を判断することが出来ます。

・マイク
「音データ」を取得する時に使用します。

・タイマ
「特定の時間」に処理を実行したい時に使用します。

・割り込み
「外部からのイベント」が発生した時に、処理を実行したい時に使用します。
例えば、スイッチを押した時に割り込みを発生させることが出来ます。

・通信
外部からの通信を受け付ける仕組み(WebAPI)を設けることで、要求を受け付けます。

演算

演算とは、プログラムで書いた処理のことです。
例えば、以下があります。

・スイッチが押されていたら、LEDを付ける
・気温を、液晶に表示する
・7時になったら、アラームを鳴らす

出力装置の種類

マイコンが制御する出力装置の種類として、
例えば以下があります。

・LED
演算の結果、LEDを点けるか、消します。
例えば、電源が入っていることを示す為にLEDを付けます。

・液晶(テレビ)
入力装置から取得した気温情報や、演算した結果を液晶に表示します。

・スピーカー
音で通知したい場合、スピーカーから音データを出力します。

・モーター
モノを動かしたい場合、モーターを使ってモノを動かします。

マイコンの機能

マイコンには、外部機器を制御する為に、たくさんの足(ピン)が付いています。
ピンそれぞれに、色々な機能が割り当てられています。
それでは、ピンに割り当てられている機能についてお話ししていきますね。

最初に深く話をしても良く分からないと思うので、
こんなのがあるんだな程度で。

あと、これらの機能は、マイコンの種類で付いていたり、付いていなかったりするので、
目的のモノを作る際に、機能の有無はマイコン選定に欠かせません。

汎用I/O

汎用I/O(GPIO:General Purpose Input/Output)とは、汎用入出力のことで、
特定の機能に限定されず、信号の入出力に使用出来ます。

信号の出力は、電圧を掛けている時は、そのマイコンの電源電圧となり、
Raspberry Piの場合は、3.3Vとなります。
この電圧が掛かっている状態を、HIGH と表します。
電圧を掛けていない場合は、0Vとなり、LOW と表します。

AD・DAコンバータ

ADコンバータ(Analog to Digital Converter)は、任意の電圧をデジタル値に変換します。
アナログ信号が取りうる電圧値は無限にあります。
その無限に存在する電圧値を、HIGHとLOWの2値だけでなく、256などの数値として変換します。

DAコンバータ(Digital to Analog Converter)は、ADコンパ―タの逆で、任意の電圧を出力します。

シリアル通信

シリアル通信とは、1ビットずつデータを送信する方式のことです。
シリアル通信の種類には、I2C、SPI、UARTなどがあります。
それぞの種類を簡単に説明します。

・I2C

I2C通信では、2本の信号線を使います。
用途は、マイコンと複数のデバイス間とのデータのやり取りを行います。

複数のデバイスとデータのやり取りを行う為の仕組みとして、
管理をするデバイスをマスター、それ以外はスレーブとなります。
マスターは、スレーブアドレスを使って、複数のスレーブデバイスの中から、
特定のスレーブデバイスとデータのやり取りを行います。

・SPI

SPI通信では、4本の信号線を使います。
用途は、I2Cと同じく、マイコンと複数のデバイス間とのデータのやり取りを行います。

I2C同様、管理をするデバイスをマスター、それ以外はスレーブとなります。
ただ、I2Cと異なるのは、複数のスレーブデバイスの中から、特定のスレーブデバイスを選択する方法です。
SPIでは、SS(Slave Select)と呼ばれる信号線を使って、特定のスレーブデバイスを選択します。

・UART

UART通信では、1 or 2本の信号線を使います。
用途は、1対1のマイコンどうし間でのデータのやり取りを行います。

I2C、SPIと異なり、データ転送用のクロック信号線を持ちません。
そこで、どのタイミングでデータの送受信を行えばいいかを、
事前にデバイス間で通信速度(ボーレート)を決めておきます。

・PWM

PWM(Pulse Width Modulation)とは、「パルス幅変調」と呼ばれ、
1周期中の HIGHレベル と LOWレベル の電圧の幅を変えることで、
制御デバイスに掛ける電圧を変化させ、モーターなどを制御します。

文字だけだと良く分からないですよね・・・
今後、モーター制御の記事を書く時に図に書いて説明しますね。
その時、一緒に動かしながら勉強しましょうね。

マイコンの種類

マイコンには色んな種類があります。
その中でも、電子工作で有名なマイコンと、
それぞれの用途・特徴をお伝えしますね。

あなたのやりたいこと、作りたいモノに応じて、マイコンを選んでみてくださいね。

最後に、私がお薦めするマイコンを書いてます。

Raspberry Pi

ひとことで言うと、やりたいことは何でも出来ますw

  • LEDやモータなどの電子部品を動かすことが出来る
  • 無線に接続出来るので、IoT 機器や、インターネットアプリ(Webアプリ)の作成が可能
  • 言語は、主にPython,Java,Scratch。他にも CやC++など
  • Linux OS 搭載
  • 無線あり(Wifi、BLE)

Arduino

ひとことで言うと、LEDやモータなどの電子部品を動かすことが得意

  • 電子部品を簡単に動かすソフトが充実
  • C言語をベースにしたArduino言語
  • OSなし
  • 無線なし

micro:bit

ひとことで言うと、電子工作初心者向け

  • 最初から、LED、各種センサーが搭載
  • 無線機能(BLE)が搭載され、IoT機器の作成が可能
  • 言語は、Scratch、Python
  • OSなし
  • 無線あり(BLE)

M5Stack

ひとことで言うと、回路を意識せずに電子工作を楽しみたい方向け

  • 最初から、LCD、ボタン、各種センサーなどを搭載
  • 機能の追加は、外付けモジュール接続
  • LEDやモータなどの電子部品を動かすことが出来る
  • 無線に接続出来るので、IoT機器の作成が可能
  • 言語は、Arduino言語、Python
  • OSなし
  • 無線あり(Wifi, BLE)

お薦めマイコン

私がお薦めするマイコンは、Raspberry Piです。

理由は、Raspberry Pi が出来ること(学べること)の多さに有ります。
Raspberry Pi で出来ること(学べること)は、大きく分類分けをすると、
・Linux OS
・Python
・インターネット接続
・電子部品制御
がありませす。

上記の Raspberry Pi で学べることは、
これから必要とされる技術の全てが学べると言ってもいいのではないでしょうか。

それらの技術を学びつつ、楽しくモノが作れるなんて、
ほんと、Raspberry Pi を使ってモノを作るしかないです!!!w

マイコンを使えるようになるポイント

これだけ知っていれば、マイコンを使えるようになるポイントは、
マイコンのピンの機能を知ることです。

最初にお伝えした通り、
マイコンは電子部品を制御する為のモノなので、
それぞれのマイコンで、どのような機能が備わっているかを知ることが、
マイコンを使えるポイントの一つになります。

マイコンのピンの機能は、上記の「マイコンの機能」の章でお伝えしましたね。
その中で、最も重要なのは、汎用I/Oの機能です。
その他の機能は、汎用I/Oの機能を使っているだけなのです。
あとは、各機能を使う為のソフト(ライブラリ)があるので、
マイコンの機能というより、ソフトの使い方を理解すれば、
各機能は使えるようになります。

それでは、もう少し汎用I/Oについてお話ししていきますね。
ピンには、外部からの電圧を読み取るのか、又は、マイコンから電圧を出すのか、
の機能を選択出来ます。
これが、これまで出てきた「入力」、「出力」の用語の意味です。

実際の設定としては、電圧を読み取るのか、電圧を出すのかで、
ピンの機能を、入力 又は、出力のどちらかに設定します。
入力に設定したら、ピンの値を読み取るソフトを使って、
外部からの電圧(HIGH or LOW)値を読み取ります。
出力に設定したら、マイコンから、HIGH or LOWの電圧を出すことが出来ます。

最後にまとめですが、
ピンは、入力、出力設定が出来ること、
出力設定の時は、HIGH or LOWの電圧を出すことが出来ることを憶えたおいてください。
これだけで、マイコンを段違いに使えるようになります。

最後に

如何だったでしょうか?
マイコンへの免疫が出来てきました?

そろそろ、
マイコンを使って電子工作をしてみたくなったのではないでしょうか?

電子工作をより楽しむには、作りたいものを決めることです。

以下記事では他にも色んな電子工作を作っています。
あなたが作りたいモノのヒントがあれば嬉しいです。

電子工作(Raspberry Pi でできること)
このサイトは、「モノづくりの楽しさをあなたに伝えたい」との思いで作っています。「難易度:☆☆☆」の章に、Raspberry Pi(マイコン) と Python(プログラミング言語)を使ったおもちゃの作り方を書いています。あ...

記事を更新するとTwitterでつぶやきます。
フォローしてもらうと、記事を書くモチベーションが上がります。
下のTwitterアイコンからフォローお願いします。

不明な点があればページTOPの「お問い合わせ」にてご連絡下さい。

もし一人で作るのが難しかったら、
一緒に作るサービスをしています。
お気軽に ページTOPの「お問い合わせ」にてご連絡下さい。

タイトルとURLをコピーしました