技官研修4日目
本日の研修では、マイクロコントローラを制御するためのプログラミングを学んだ。Arduinoと呼ばれる8ビットのマイクロコントローラを利用し、プログラムの開発環境としてArduino IDEを用いることで、機械設計によく使われる制御要素のプログラミング技術を習得することを目的とした。デジタル電子回路を制御するためには必須の技術であり、参加者のモチベーションも高かった。
C言語によるArduinoプログラミング実習第一
この講座では、Arduinoに関する簡単な説明と、プログラミングの基礎を説明した。ArduinoはC言語をベースに独自の関数を追加して拡張したArduino言語を用いて開発を行う。講習の際に心がけたのは、トップダウンにプログラミング言語の文法の解説を行うことはせず、あくまでも「それによって何ができるか」というトピックにもとづいて、その方法を解説するということである。本講習では、以下のトピックに基づいて実習を行った。
- デジタル入出力とLEDのOn/Off制御
- PWM(Pulse Width Modulation)とLEDの電流制御
- UARTを用いたPC-Arduino間のシリアル通信
- for文による繰り返し制御
プログラムのソースコードはなるべく簡潔にし、原理はホワイトボードを用いて分かりやすく解説することを心がけた。なかにはプログラミングのセンスを感じる質問を投げかけてきた参加者もおり、JKUATにおけるプログラミング教育のポテンシャルを感じる場面もあった。
参加者の声としてC/C++プログラミング言語は学校で学んだが、実際に手を動かして実習を行ったことはなかったので、自信につながったという嬉しい声も聞かれた。
C言語によるArduinoプログラミング実習第二
この日の午後は、引き続きArduinoのプログラミング実習を行った。内容は以下である。
- if文による条件分岐
- A/D変換による可変抵抗器の両端電圧の読み取り
- PWMによるサーボモータの角度制御
- 実習:可変抵抗器を用いたサーボモータの角度指令制御
A/D変換値とPWM出力のスケール変換を行うmap関数というArduinoの組み込み関数の理解が肝であったが、おおむね理解してもらえたように思う。また、サーボモータというアクチュエータの制御は、ロボット設計に向けた第一歩であり、興味を持ってもらえたように感じた。