使いやすいArduino Starter Kitで「メーカー」の世界を体験しよう

著者 Art Pini

DigiKeyの北米担当編集者の提供

「メーカー」、つまり周囲の環境を知覚し、そうした環境に対応するデバイスを構築する方法を学びたいと思っている人々に対しては、実に多数のリソースが提供されています。つまり、エンジニアもそれ以外の人も対象とした創造性に富んだサブカルチャーが存在しており、そこでは誰もがエレクトロニクス、制御システム、マイクロコンピュータ、センサ、およびアクチュエータの世界についての学習や指導に参加することができるのです。この世界を初めて体験するのに最も簡単な方法の1つが、メーカーの象徴的存在であるArduinoのスターターキットを利用することです。

Arduinoは、オープンソースハードウェアおよびソフトウェアコミュニティを対象に、マイクロコントローラボードおよび関連ソフトウェアを販売しています。これらの電子回路基板では、マイクロコントローラとサポートするランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、および集積回路(IC)が組み合わせられており、オープンソースのエレクトロニクス試作プラットフォームが、しっかりした解説付きの一連のメーカープロジェクトを完成するのに必要なあらゆるコンポーネントを使用して構成されています。

この記事では、執筆者(エンジニア)の個人的な経験を基に、Arduino Starter Kitについて紹介します。

Arduino Starter Kit

Arduino Starter Kitは、15のプロジェクトを稼働させるのに必要な内容がすべてそろっています(図1)。

Arduino Starter Kitの画像図1:Arduino Starter Kitには、Arduino UNOマイクロコントローラボードと、厳選されたエレクトロニクスコンポーネント、そして、あらゆる人をインタラクティブなエレクトロニクスの世界へと案内するための、171ページの「Arduinoプロジェクトブック」が含まれています。(画像提供:Arduino)

このスターターキットでは、広く普及しているArduino UNOマイクロコントローラボードが使用されています。このマイクロコントローラボードは、Microchip TechnologyのATmega328PマイクロコントローラIC(図2)を基盤としています。

Arduino UNOボードの画像図2:Arduino UNOボードには、ATmega328Pマイクロコントローラをサポートするのに必要なすべての要素が含まれています。(画像提供:Arduino、注釈はDigiKeyによる)

UNOボードには、14のデジタル入出力ピンがあります。そのうち6つは、LEDの明るさとサウンドの大きさを制御するパルス幅変調(PWM)に対応しています。6つのアナログ入力ピンは、最大分解能における変換レートが15キロサンプル/秒(kS/s)で分解能10ビットの逐次比較型A/Dコンバータ(ADC)によってサポートされます。内蔵のクロックは、16MHzの水晶振動子を備えています。コンピュータに簡単に接続できるよう、USBポートが備わっています。また、電源は、USBポートを利用するか、オンボードの電源ジャックから供給することもできます。電源は自動的に選択されます。

UNOには通常のプログラム書き込み用のブートローダが搭載されていますが、これはバイパスが可能なため、インサーキットシリアルプログラミング(ICSP)ヘッダを使用してマイクロコントローラにプログラムを書き込むこともできます。最後に、UNOボードにはリセットボタンがついており、必要に応じてデフォルトの状態に簡単に戻すことができます。

ATmega328Pプロセッサは低消費電力の8ビットマイクロコントローラであり、高度な縮小命令セットコンピュータ(RISC)アーキテクチャ(図3)を採用しています。RISCアーキテクチャでは、シングルクロックサイクルで実行される命令が使用されるため、極めて高い実行スループットが実現されます。

Microchipの8ビットATmega328Pマイクロコントローラの機能ブロック図図3:Arduino UNOで使用されている8ビットATmega328Pマイクロコントローラの機能ブロック図。シングルサイクルの命令を高速で実行する、RISCベースのアーキテクチャを備えています。(画像提供:Microchip Technology)

ATmega328Pの特長は、32KBのフラッシュプログラムメモリ、1KBのEEPROM(電気的に消去、書き込み可能な読み取り専用メモリ)、2KBのSRAM(静的なランダムアクセスメモリ)などの不揮発性メモリをセグメント形式にしたオンボードメモリです。Arduino UNOのATmega328にはブートローダがあらかじめ書き込まれており、ユーザーは外部のハードウェアプログラマを使わずに、ATmega328に新しいコードをアップロードすることができます。このブートローダは、フラッシュプログラムメモリで500バイトを占有します。チップには、UART(汎用非同期レシーバ/トランスミッタ)、SPI(シリアルペリフェラルインターフェース)、I2C(集積回路間バス)とも呼ばれる2線式インターフェースなど、複数のシリアルデータインターフェースが組み込まれています。

Arduino Starter Kitは5か国語で利用できます。このスターターキットにはArduino UNOマイクロコントローラボードと、15の各種プロジェクトを実現するのに必要なすべての部品が含まれており、ユーザーは、171ページのArduinoプロジェクトブックの指示に従ってこれらのプロジェクトを進めていきます。このプロジェクトブックでは、Arduino UNOをすべてのプロジェクトの頭脳のように使用する上でのハードウェアとソフトウェアの両方の要素について説明しています。

デバイスおよび用語の分かりやすい説明

エレクトロニクスおよびプログラミングの世界を初めて探索する初心者がよく経験する問題の1つが、関連するデバイスや用語に不慣れであることです。Arduinoプロジェクトブックでは、最初にキットの各種部品(134の電子部品とArduino UNOボードなど)について説明することで、この問題に対処しています。このセクションでは、各タイプの部品を図示し、その機能について説明しています。最後には、各部品の回路図記号が表示されています。

初心者はエレクトロニクス試作用ボード(ブレッドボード)のことをよく理解していない場合があるため、このマニュアルには、内蔵のブレッドボードではんだ付けを行わずに部品がどのように接続されるかを説明するセクションがあります。このセクションでは、ブレッドボード上での導電バーのパターンを図示するほか、電源バスの稼働方法について説明しています。このセクションによって、キットの試作用ボードを最初に使用するときの混乱を大幅に解消することができます。

このプロジェクトブックでは、一般的なパーツの説明の後にUNOボードのレイアウトの概要が続きます。この概要では、ボードの接続、インジケータ、および対話型スイッチを中心に取り上げています。このセクションでは、その後のセクションで使用されるハードウェアについての用語が定義されています。

次のセクションでは、Windows、Mac、またはLinuxのオペレーティングシステムにおけるArduinoソフトウェアの設定に関する基本的な手順について説明しています。使用される主要なソフトウェアはArduinoの統合開発環境(IDE)で、Arduinoのウェブサイトからダウンロードすることができます。このIDEは、Arduino UNOボードにアップロードできる実行可能コードを作成するのに使用されるソフトウェア環境です。

プロジェクトを開始する

IDEソフトウェアの読み込みの後、このガイドでは、USB接続を介してUNOボードとホストコンピュータ間の接続を確立するステップが順を追って説明されます。ユーザーにとって難しい点があった場合に備えて、ArduinoのトラブルシューティングセクションおよびIDEのリファレンスセクションへの参照リンクが用意されています。この時点から、ユーザーはプロジェクトを開始できます。

各プロジェクトには、必要な部品(各プロジェクト用に「材料」として図とともに具体的に指定されています)を選択する方法と、それらの部品を試作用ボードで相互接続する方法についての詳細な指示が用意されています。たとえば、「宇宙船の操縦桿」と呼ばれるプロジェクト02では、スイッチと3つのLEDを接続して「制御盤」を作成し、スイッチを押したときのLEDの動作を決定します。マニュアルにある各プロジェクトの紹介部分には、プロジェクト完了にかかる予測時間が記載されています。この場合は45分です。このプロジェクト02の材料リストには、押ボタンスイッチ、3つのLED、3つの220Ω抵抗器、そして1つの10kΩ抵抗器が含まれています。この回路は、プレカットおよびストリップされたジャンパ線を使用して試作用ブレッドボードに接続されています。このセクションでは、新しいユーザーが今後別個のプロジェクトに取り組む場合を考慮し、抵抗器のカラーコードの読み方について1ページを割いて説明しています。

図4は、プロジェクトブックと、配線済みの回路の画像です。このプロジェクトブックでは、配線が画像と回路図の両方で表示されています。この2つを比べることで、ユーザーは回路図記号、および部品の相互接続の解釈方法を素早く理解することができます。

プロジェクトブックに掲載されている配線指示の画像(クリックして拡大)図4:プロジェクトブックに掲載されている配線指示と、試作の実際の配線およびUNOボード。指示は、画像と回路図の両方で表示されています。(画像提供:DigiKey)

プロセスの最終段階は、本プロジェクトのソフトウェア面です。Arduino UNOのATmega328Pのようなマイクロコントローラは、機械語と呼ばれる非常に低水準のプログラミング命令を使用します。機械語は、基本的には一連の二進数であり、内部ハードウェアを制御します。機械語を手動でコーディングする必要はありません。プログラミングは高水準言語で行ないます。高水準言語は数段階を経てマイクロコントローラが理解できる二進数コマンドへと翻訳され、これによりプログラミングの作業が非常に簡単になります。そのために使用されるのが、前述したArduinoに組み込まれているIDEです。

プロジェクト02では、ソフトウェアのコードに関する説明が続きます。このコードは、Arduinoでは「スケッチ」と呼ばれます。ここでは、スケッチで必要なすべての手順が取り上げられ、コードのステートメントの動作が説明されます(図5)。

Arduino IDEのプログラムエディタに表示された、プロジェクト02のプログラム(スケッチ)図5:Arduino IDEのプログラムエディタに表示された、プロジェクト02のプログラム(スケッチ)。(画像提供:DigiKey)

ユーザーは、コードを手動で入力することも、ファイルのプルダウンメニューからダウンロードすることもできます(図6)。

Arduino IDEですべてのプロジェクトのスケッチが利用可能なことを示す画像図6:Arduino IDEには、すべてのプロジェクトのスケッチが用意されています。ユーザーは、スケッチを選択することも、希望に応じてコードを手動で入力することもできます。(画像提供:DigiKey)

コードの入力が完了したら、IDEのインターフェースにあるプルダウンメニューの[スケッチ(Sketch)]から、[検証/コンパイル(Verify/Compile)]エントリを使用してコードをコンパイルすることができます。コンパイラにより、コードの構文やその他のエラーがチェックされます。コンパイルが完了すると、IDEインターフェースに完了の通知が表示され、コードがUNOボードのフラッシュプログラムメモリにアップロードできるようになります。アップロード機能はプルダウンメニューの[スケッチ(Sketch)]から開始することもできます。UNOボードにプログラムが書き込まれると、緑色のLEDが点灯します。押ボタンスイッチを押すと、緑色のLEDが消灯し、代わりに赤色のLEDが点滅します。

これらのシンプルな手順の背後には、さまざまなプログラミングの「マジック」が隠されています。たとえば、高水準のコマンドをバイナリコードへと変換してマイクロコントローラを実行するための、アセンブル、リンク、ロードなどです。初心者がこの知識を身に付けるには時間と経験が必要ですが、この時点では、こうした知識を必要とせずに楽しむことができます。

ユーザーがスケッチを使用して実験できるようにするため、この段階で、プロジェクトブックからユーザーに対してプログラムの変更方法に関するいくつかの質問が投げかけられます。プロジェクトが先に進むと、回路やプログラムはより複雑になり、ユーザーが経験や知識を広げることができるようになっています。

まとめ

オープンソースの試作プラットフォーム、さまざまな電子部品、そして使いやすいソフトウェアを備えたArduino Starter Kitには、エンジニアも、そうでない人もエレクトロニクスのメーカーの世界を体験するために必要なあらゆる内容がそろっています。その他のアイデアや試作に関するヒントについては、Maker.ioにアクセスして関心のあるプロジェクトを検索してください。

DigiKey logo

免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。

著者について

Image of Art Pini

Art Pini

Arthur(Art)PiniはDigiKeyの寄稿者です。ニューヨーク市立大学の電気工学学士号、ニューヨーク市立総合大学の電気工学修士号を取得しています。エレクトロニクス分野で50年以上の経験を持ち、Teledyne LeCroy、Summation、Wavetek、およびNicolet Scientificで重要なエンジニアリングとマーケティングの役割を担当してきました。オシロスコープ、スペクトラムアナライザ、任意波形発生器、デジタイザや、パワーメータなどの測定技術興味があり、豊富な経験を持っています。

出版者について

DigiKeyの北米担当編集者