●メイン基板の準備

USBケーブルでメイン基板とパソコンを接続すると、USBシリアル変換ICのドライバがインストールされてプログラム開発ができるようになります。
paperbots_mm_main_pcb

●最初のプログラム

デスクトップのArduinoのアイコンからArduino IDEを起動します。
arduino_load

最初に二つの設定をします。メニューの「ツール」のボードで"Arduino/Genuino Uno"を、シリアルポートでメイン基板がつながっているポートを選択します。シリアルポートは、デスクトップ左下のWindowsアイコンを右クリックしてデバイスマネージャーを起動し、「ポート(COMとLPT)」から知ることができます。
arduino_setting

まずは用意されているスケッチ例を使ってみます。LEDを点滅させるプログラムです。メニューの「ファイル」から「スケッチ例」-> 01.Basics -> Blinkを選択します。
arduino_exsample_blink

プログラムの中で"LED_BUILTIN"となっているところ(3か所)を"3"に変更します。上の左側のチェックマークボタンをクリックして「コンパイルが完了しました。」と出たら、隣りの矢印ボタンをクリックしてプログラムをメイン基板のマイコンに書き込みます。「ボードへの書き込みが完了しました。」と出たのち、LED(D1)が1秒ごとに点滅すれば成功です。
arduino_blink_mod1

●プログラムの説明
Arduinoのプログラムは大きく二つの部分に分かれていて、void setup(){...}はマイコンのピンの割り当てなどを書くところで最初に1回だけ実行されます。void loop(){...}はマイコンにやらせる仕事を書くところで、上から順番に実行され下まで行ったらまた上に戻り、を永久に(電源が切られるまで)繰り返します。

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(3, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(3, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(1000);                       // wait for a second
  digitalWrite(3, LOW);    // turn the LED off by making the voltage LOW
  delay(1000);                       // wait for a second
}

pinMode(3, OUTPUT); の行は、Arduinoの3番ピンを出力(基本的にHigh(5V)とLow(0V)の電圧を出す)に設定しています。Arduinoのピン番号と実際の回路との関係は、
回路図と、
Pin Mapping
を参照してください。LED(D1)はマイコンのPD3というピンにつながっていて、それはArduinoではdigital pin 3という名称になっています。LEDについている抵抗R1はLEDに流れる電流を制限するためのものです。抵抗値が小さければ大きな電流が流れ(オームの法則)LEDが明るく光り、逆ならば暗くなります。
digitalWrite(3, HIGH); は3番ピンにHigh(5V)を出力しLEDを光らせます。
delay(1000); は何もしないで1000msec(1秒)待ちます。
digitalWrite(3, LOW); は3番ピンにLow(0V)を出力しLEDを消します。
delay(1000); は何もしないで1000msec(1秒)待ちます。
この後またdigitalWrite(3, HIGH);に戻ります。

●練習問題
LEDを0.5秒ごとに点滅させてください。
*新しいプログラムは現在のプログラムの実行中でも矢印ボタンで上書きできます。

// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  pinMode(3, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(3, HIGH);
  delay(500);
  digitalWrite(3, LOW);
  delay(500);
}

ここでいったんプログラムを保存しておきます。「ファイル」->「名前を付けて保存」で"mm01"などとして保存します。

<= PAPERBOTS マイクロマシーン チュートリアル(1)
チュートリアルベース
PAPERBOTS マイクロマシーン チュートリアル(3) =>