はじめに
マイクロコントローラは無数のアプリケーションで使われており,多くの場合見えないところで動作する.しかし,メイカーズムーブメントの発生とマイクロコントローラへの興味の増加によって,その用途はより幅広くなった.
マイクロコントローラは,温度センサ,エンコーダ,モータ等,他の電子機器とインタラクトするハードウェアデバイスである.また同時にプログラム可能な小さなコンピュータでもある.
マイクロコントローラのプログラミングを開始するために,まずマイクロコントローラが行う基本的なタスクを理解する必要がある.通常マイクロコントローラはセンサから入力を受け取り,その入力を使って計算を行い,その計算結果を出力デバイスに出力する.
Wolfram言語によるマイクロコントローラのプログラミングは2段階に分けられる.まずソースコードを生成する.次にそのコードはクロスコンパイルされ,マイクロコントローラにダウンロードされる.
コンパイラツールチェーンが正しく設定されていれば,それを明示的に指定する必要はない.したがってコンパイラとは別に,プログラムを設定してマイクロコントローラ上で実行するためには,大きく分けて以下の4つを指定する必要がある.
• 入出力信号に対して設定する必要のあるマイクロコントローラとピン
• マイクロコントローラとインタラクトする入力または出力デバイスのその他の指定
• マイクロコントローラにプログラムをアップロードして埋め込むプログラミングメカニズム
コードを生成してマイクロコントローラに埋め込むスーパー関数はMicrocontrollerEmbedCodeである.
マイクロコントローラが実行する必要のある計算は,離散時間入出力モデルとして指定される.このようなモデルにはTransferFunctionModel,StateSpaceModel,AffineStateSpaceModel,NonlinearStateSpaceModel,SystemsConnectionsModelがある.
開始時には,マイクロコントローラは初期状態 x0で始まる.指定された計算に基づいて,マイクロコントローラは各サンプリング時点 k において任意の入力信号 uk を読み取り,出力 yk を計算し,内部状態を xk から xk+1 に更新する.サンプリング時点は時間区間 τ の間隔で置かれる.ここで τ は離散時間モデル sys のサンプリング周期である.
プログラミングメカニズムは通常Associationで指定する.文字列"p"で指定した場合は,"ConnectionPort"->"p"であると解釈される.
続くチュートリアルでは,入出力チャンネル,マイクロコントローラのオプション,プログラミングメカニズム,MicrocontrollerEmbedCodeのオプションについて詳しく述べる.
まず,コードをコンパイルしてダウンロードするツールチェーンのインストールから始める.