Arduinoで電子工作1

今更ですがワンチップマイコンボードのArduinoを使って電子工作で遊んでみました。


マイコンは汎用のCPUと違い、組み込みで使われることを想定して作られています。組み込み用途では部品数が多くなると回路が大きくなったり、金額が高くなったりしてしまうので、CPU、メモリ(SRAM)、ストレージ(Flash)、IOまでワンチップになっていること。(ものによってはアナログ入力やアナログ出力も備えている。)処理性能を抑えて低消費電力であること。低発熱であること。非常に低価格(1個数百円)であること、などの違いが挙げられます。

Arduinoって何?って話からになると思いますが、Atmel(現在はMicrochipに合併されてますが)が作っているAVRという8ビットマイコンを搭載したマイコンボード(開発用ボード)でハードウェアもソフトウェアもオープンソースになっています。

開発環境(IDE)も無償で公開されていてC言語によく似た言語で開発が出来るので手を出しやすい(※1)ということとと、アナログ(※2)/デジタル(※3)の入出力、PWM(※4)の出力が容易に扱えるので電子工作素人でも色々なデバイスを制御してみることができる、中国で互換機が作られていて安価に(安いものなら$3程度)入手が出来ます。
また、Arduinoならばワンチップマイコンにプログラムを書き込む装置(プログラマーとかICE)が無くてもUSBで直接パソコンに接続できるように作られています。ですのでパソコンに開発環境をインストールしてマイコンボードを接続すれば、プログラムを作って書き込むことまでできますので、それらと比較してもとても簡単です。

(※1) 少なくともHDL言語を使ってFPGAでハードウェアそのものを作るよりは圧倒的に敷居が低いはず
(※2) ここでは連続的に電圧が変化する電気信号(0V〜5V)の事を指す Wiki
(※3) ここでは0Vと5Vなど2つの状態だけの電気信号を扱う事を指す Wiki
(※4) 日本語ではパルス幅変調という。ここではパルス幅を変化させることでデジタル信号を使ってアナログ信号を作り出す事を指す Wiki

で、そのArduinoを触って遊んでみる・・・ってのが今回の話です。

まず最初にArduinoを使ってなにを作るかとなると、単にLEDを点滅させるだけの「Lチカ」をやってみるのが王道らしいのでその通りやってみました。


進め方

  1. Arduino UNO(互換機)を買う
  2. Arduino IDE(ソフトウェア)をパソコンにインストールする
  3. Lチカするスケッチ(プログラム)を作る
  4. Arduino UNOにスケッチを送り込んで実行する
  5. Arduino UNOと外付LEDを接続する


1.Arduino UNO R3(互換機を買う)

Arduinoも使っているマイコンチップの違いや回路構成の違いなどで色々バリエーションがありますが、まず触ってみようとした場合に良いのがArduino UNO R3です。

Arduino UNO R3はATmega328Pというマイコンを搭載した開発用ボードで、パソコンからマイコンにプログラム(Arduinoではスケッチという)を書き込む回路も組み込まれたものです。USBから電源もバスパワーで供給されるので、Arduino UNO R3とパソコンをUSBで接続するだけで、他に外部電源を接続したり、マイコン書き込み用の機器(AVRプログラマー)を接続しなくとも使えます。

安く買うならAliExpressが安いですが、他にもAmazonで買うとか、秋月電気通商で買うとか、千石電商で買うという方法があります。
Arduino UNO R3(オリジナル)を買うのであれば、それが一番ですが若干お値段が高く(¥3000程度)なります。互換機であれば安く(¥1000程度)なりますが注意点があって、マイコンとUSBを変換する回路としてオリジナルと同様なATmega 16U2というマイコンを搭載しているパターンと、中華USBコンバーター(CH340G)を搭載しているパターンがあります。

Arduino Uno R3.jpg
これがオリジナルのArduino UNO R3です。ちょっと値段が張ります(¥3000程度)が、安心感があります。マイコン(ATmega328P)がICソケットで実装されているため、取り外して差し替えたりすることができます。UNO R3でプログラムを書き込んで希望の動作をするようになったATmega328Pのチップを自分で作った電子回路に取り付けてそのまま使うという事ができます。またUSBコンバーターとしてマイコン(ATmega16u2)が搭載されているので、そのプログラム(スケッチ)を書き換えて活用する人も居ます。

Elegoo UNO R3.jpg
これがElegooのArduino UNO R3互換機(ATmega 16U2搭載)です。安い(¥1000程度)で買えます。もっと安い場合もあります。オリジナルと差異が無いので無用なトラブルは避けることができます。

KKHMF UNO R3.jpg
これがKKHMFのArduino UNO R3互換機(CH340搭載)です。非常に安く(¥500以下)で売っている場合もあります。USB変換のチップが違うためUSB接続時点でトラブったり、ATmega16U2を書き換えて使う事ができない、ATmega328Pのチップを取り替えることができない・・・という違いがあります。

次に揃えておくと良いのが、ソルダーレス・ブレットボードで「はんだ付け」をせずに電子部品を差し込んで回路を組むことができます。色々と部品を取り替えたり、結線を替えたりしながら色々と試してみることができるので電子回路を作成するときの評価をするために使います。

あと必要に応じて、ブレッドボードの配線をするための線(ジャンパーワイヤ)、電子部品なんかが必要です。

ブレッドボード.jpg ソルダーレス・ブレッドボードです。

ジャンパーワイヤ.jpg
ジャンパーワイヤです。

カーボン抵抗.jpg
電子部品(カーボン抵抗)です。

発光ダイオード.jpg
電子部品(発光ダイオード、LED)です。

2.Arduino IDE(ソフトウェア)をパソコンにインストールする

Arduino IDEはArduinoの公式サイトからダウンロードすることができます。Windows版、Mac版、Linux版があります。環境に合わせて使います。

ArduinoIDEのスクリーンショット.png
Arduino IDEを立ち上げると空のスケッチが表示されます。その画面です。ここにスケッチを書き込んでいって、コンパイルして、Arduinoに転送する・・・って流れになります。