More Related Content Similar to Arduinoでプログラミングに触れてみよう 続編 (20) More from Hiromu Yakura (14) Arduinoでプログラミングに触れてみよう 続編2. 自己紹介
• 矢倉 大夢 (やくら ひろむ)
• 筑波大学 情報学群 情報科学類 1年
• 情報処理推進機構 未踏クリエイター
48. プログラムを理解しよう
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
digitalWrite(13,
HIGH);
}
← 13番ピンを
OUTPUTに使用する
=
+として
電流を出せるように
52. LEDを点滅させてみよう
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(13,
LOW);
delay(1000);
}
54. プログラムを理解しよう
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(13,
LOW);
delay(1000);
}
55. プログラムを理解しよう
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(13,
LOW);
delay(1000);
}
← 13番ピンを
HIGHに設定する
+から電流を出す
=
56. プログラムを理解しよう
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(13,
LOW);
delay(1000);
}
← 1000ms (1秒間)
そのままにする
57. プログラムを理解しよう
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(13,
LOW);
delay(1000);
}
← 13番ピンを
LOWに設定する
=+からの電流を止める
58. プログラムを理解しよう
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(13,
LOW);
delay(1000);
}
← 1000ms (1秒間)
そのままにする
88. int
val;
void
setup()
{
Serial.begin(9600);
}
void
loop()
{
val
=
analogRead(0);
Serial.println(val);
delay(100);
}
プログラムを理解しよう
← valという変数を宣言
90. プログラミングの基本概念
• 変数 = 情報を記録しておくための領域
int
val;
val
=
100;
delay(val);
val
=
200;
delay(val);
← 変数宣言
valという領域を
作る
91. プログラミングの基本概念
• 変数 = 情報を記録しておくための領域
int
val;
val
=
100;
delay(val);
val
=
200;
delay(val);
val
← 変数宣言
valという領域を
作る
92. プログラミングの基本概念
• 変数 = 情報を記録しておくための領域
int
val;
val
=
100;
delay(val);
val
=
200;
delay(val);
← 代入
valを100と
設定する
← 変数宣言
val
93. プログラミングの基本概念
• 変数 = 情報を記録しておくための領域
int
val;
val
=
100;
delay(val);
val
=
200;
delay(val);
← 代入
valを100と
設定する
← 変数宣言
val
100
94. プログラミングの基本概念
• 変数 = 情報を記録しておくための領域
int
val;
val
=
100;
delay(val);
val
=
200;
delay(val);
← 変数宣言
val
100← 代入
← 100ミリ秒待つ
95. プログラミングの基本概念
• 変数 = 情報を記録しておくための領域
int
val;
val
=
100;
delay(val);
val
=
200;
delay(val);
← 変数宣言
val
100← 代入
← 代入
valを200と
設定する
← 100ミリ秒待つ
96. プログラミングの基本概念
• 変数 = 情報を記録しておくための領域
int
val;
val
=
100;
delay(val);
val
=
200;
delay(val);
← 変数宣言
val
200← 代入
← 代入
valを200と
設定する
← 100ミリ秒待つ
97. ← 代入
プログラミングの基本概念
• 変数 = 情報を記録しておくための領域
int
val;
val
=
100;
delay(val);
val
=
200;
delay(val);
← 変数宣言
val
200← 代入
← 200ミリ秒待つ
← 100ミリ秒待つ
98. int
val;
void
setup()
{
Serial.begin(9600);
}
void
loop()
{
val
=
analogRead(0);
Serial.println(val);
delay(100);
}
プログラムを理解しよう
← valという変数を宣言
99. int
val;
void
setup()
{
Serial.begin(9600);
}
void
loop()
{
val
=
analogRead(0);
Serial.println(val);
delay(100);
}
プログラムを理解しよう
← シリアル通信の
速度を設定
100. • シリアル通信 = ArduinoとPC間での通信ができる
シリアルモニタで送受信ができる
プログラミングの基本概念
101. • シリアル通信 = ArduinoとPC間での通信ができる
シリアルモニタで送受信ができる
プログラミングの基本概念
Serial.begin(9600); - 通信の速度を設定する
102. • シリアル通信 = ArduinoとPC間での通信ができる
シリアルモニタで送受信ができる
プログラミングの基本概念
← PC側の設定と
一致していないと
正しく通信できない
Serial.begin(9600); - 通信の速度を設定する
103. • シリアル通信 = ArduinoとPC間での通信ができる
シリアルモニタで送受信ができる
プログラミングの基本概念
Serial.begin(9600); - 通信の速度を設定する
Serial.println(データ);
- データを1行分PCへ送信する
Serial.print(データ);
- データをPCへ送信する(改行されない)
104. int
val;
void
setup()
{
Serial.begin(9600);
}
void
loop()
{
val
=
analogRead(0);
Serial.println(val);
delay(100);
}
プログラムを理解しよう
← A0ポートの電圧を
数値として読み取る
0 5Vが0 1023に対応
105. int
val;
void
setup()
{
Serial.begin(9600);
}
void
loop()
{
val
=
analogRead(0);
Serial.println(val);
delay(100);
}
プログラムを理解しよう
← valに記憶された
A0の値を
シリアル通信で送信
106. int
val;
void
setup()
{
Serial.begin(9600);
}
void
loop()
{
val
=
analogRead(0);
Serial.println(val);
delay(100);
}
プログラムを理解しよう
← 100ms (0.1秒間) 待つ
112. センサーを読み取ってみよう
• チャレンジ: 送る値を0 511にする
void
loop()
{
val
=
analogRead(0);
Serial.println(val
/
2);
delay(100);
}
analogReadで読み取る値は0 1023なので
2で割ると切り捨てられて0 511になる
117. センサーとLEDを組み合わせてみよう
int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(100);
}
121. ← A0ポートの電圧を
数値として読み取る
int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(100);
}
プログラムを理解しよう
122. int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(100);
}
プログラムを理解しよう
← 条件分岐
124. プログラミングの基本概念
• 条件分岐 = 状況に応じて実行内容を変える
if
(
}
else
{
}
条件にあてはまるとき
・処理1は実行される
・処理2は無視される
if
(条件)
{
処理1;
}
125. プログラミングの基本概念
• 条件分岐 = 状況に応じて実行内容を変える
if
(
}
else
{
}
条件にあてはまらないとき
・処理1は無視される
・処理2は実行される
else
{
処理2;
}
128. プログラミングの基本概念
• 条件分岐 = 状況に応じて実行内容を変える
if
(
}
else
if
(
}
else
{
}
if
(条件1)
{
処理1;
}
条件1にあてはまるとき
・処理1は実行される
・処理2は無視される
・処理3は無視される
129. プログラミングの基本概念
• 条件分岐 = 状況に応じて実行内容を変える
if
(
}
else
if
(
}
else
{
}
else
if
(条件2)
{
処理2;
}
else
{
処理3;
}
条件1にあてはまらないとき
130. プログラミングの基本概念
• 条件分岐 = 状況に応じて実行内容を変える
if
(
}
else
if
(
}
else
{
}
else
if
(条件2)
{
処理2;
}
条件1にあてはまらず
条件2にあてはまるとき
・処理1は無視される
・処理2は実行される
・処理3は無視される
131. プログラミングの基本概念
• 条件分岐 = 状況に応じて実行内容を変える
if
(
}
else
if
(
}
else
{
}
else
{
処理3;
}
条件1にあてはまらず
条件2もあてはまらないとき
・処理1は無視される
・処理2は無視される
・処理3は実行される
132. プログラミングの基本概念
• 条件分岐 = 状況に応じて実行内容を変える
if
(条件1)
{
処理1;
}
else
if
(条件2)
{
処理2;
}
条件1にあてはまるとき
処理1が実行される
条件1にあてはまらず
条件2にあてはまるとき
処理2は実行される
133. int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(100);
}
プログラムを理解しよう
← valが800より大きいか
134. int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(100);
}
プログラムを理解しよう
← valが800より大きいか
=
センサーの値が
800より大きいか
135. int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(100);
}
プログラムを理解しよう
← valが800より大きいか
=
センサーの値が
800より大きいか
≒
ある程度以上明るいか
136. int
void
}
void
val
=
}
}
}
int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
HIGH);
}
delay(100);
}
プログラムを理解しよう
← 明るい時は
13番ピンをHIGHに
137. int
void
}
void
val
=
}
}
}
int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
HIGH);
}
delay(100);
}
プログラムを理解しよう
← 明るい時は
13番ピンをHIGHに
LEDに電流を送る=
138. int
void
}
void
val
=
}
}
}
int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
else
{
digitalWrite(13,
LOW);
}
delay(100);
}
プログラムを理解しよう
← 暗い時は
13番ピンをLOWに
139. int
void
}
void
val
=
}
}
}
int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
else
{
digitalWrite(13,
LOW);
}
delay(100);
}
プログラムを理解しよう
← 暗い時は
13番ピンをLOWに
LEDへの電流を止める
=
140. int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(100);
}
プログラムを理解しよう
← 100ms (0.1秒) 間待つ
142. int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
センサーを読み取ってみよう
• チャレンジ: 明るい時に点灯・暗い時に消灯させる
void
loop()
{
val
=
analogRead(0);
if
(val
>
800)
{
digitalWrite(13,
LOW);
}
else
{
digitalWrite(13,
HIGH);
}
delay(100);
}
HIGHとLOWを
逆にすれば良い
152. int
x,
y,
z;
void
setup()
{
Serial.begin(9600);
}
加速度を読み取ってみよう
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
delay(500);
}
159. プログラムを理解しよう
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
delay(500);
}
← A2のX軸の値を読み取る
160. プログラムを理解しよう
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
delay(500);
}
← A1のY軸の値を読み取る
161. プログラムを理解しよう
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
delay(500);
}
← A0のZ軸の値を読み取る
162. プログラムを理解しよう
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
delay(500);
}
← 読み取った値を
シリアル通信で送る
163. プログラムを理解しよう
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
x = 50, y = 100, z = 150のとき
送信されたデータ「」
164. プログラムを理解しよう
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
x = 50, y = 100, z = 150のとき
← 「X: 」を送信
送信されたデータ「X: 」
165. プログラムを理解しよう
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
x = 50, y = 100, z = 150のとき
← 「50 」を送信
送信されたデータ「X: 50」
166. プログラムを理解しよう
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
x = 50, y = 100, z = 150のとき
← 「, Y: 」を送信
送信されたデータ「X: 50, Y: 」
167. プログラムを理解しよう
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
x = 50, y = 100, z = 150のとき
← 「100」を送信
送信されたデータ「X: 50, Y: 100」
168. プログラムを理解しよう
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
x = 50, y = 100, z = 150のとき
← 「, Z: 」を送信
送信されたデータ「X: 50, Y: 100, Z: 」
169. プログラムを理解しよう
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
x = 50, y = 100, z = 150のとき
← 「150」を送信して
改行する
送信されたデータ「X: 50, Y: 100, Z: 150」
170. プログラムを理解しよう
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
delay(500);
}
← 読み取った値を
シリアル通信で送る
171. プログラムを理解しよう
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
Serial.print("X:
");
Serial.print(x);
Serial.print(",
Y:
");
Serial.print(y);
Serial.print(",
Z:
");
Serial.println(z);
delay(500);
}
← 500ms (0.5秒間) 待つ
176. int
x,
y,
z;
void
setup()
{
Serial.begin(9600);
pinMode(13,
OUTPUT);
}
加速度とLEDを組み合わせてみよう
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
if
(x
>
700)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(500);
}
179. プログラムを理解しよう
int
x,
y,
z;
void
setup()
{
Serial.begin(9600);
pinMode(13,
OUTPUT);
}
← 13番ピンをOUTPUTに使用
180. プログラムを理解しよう
← x軸の値が700を
超えたら
13番ピンのLEDを点灯
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
if
(x
>
700)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(500);
}
181. プログラムを理解しよう
← x軸の値が700より
低ければ
13番ピンのLEDを消灯
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
if
(x
>
700)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(500);
}
186. プログラミングの基本概念
x
>
700
||
y
>
700
=
x
>
700
または
y
>
700
x
>
700
&&
y
>
700
=
x
>
700
かつ
y
>
700
• 二項演算子 = 「もしくは」「かつ」を表す
187. プログラミングの基本概念
x
>
700
||
y
>
700
||
z
>
700
=
x
>
700
または
y
>
700
または z
>
700
x
>
700
&&
y
>
700
&&
z
>
700
=
x
>
700
かつ
y
>
700
かつ z
>
700
• 二項演算子 = 「もしくは」「かつ」を表す
188. プログラミングの基本概念
• 二項演算子 = 「もしくは」「かつ」を表す
x
>
700
||
y
>
700
&&
z
>
700
=
x
>
700
または「y
>
700
かつ
z
>
700」
(x
>
700
||
y
>
700)
&&
z
>
700
=「x
>
700
または y
>
700」かつ z
>
700
189. プログラミングの基本概念
x
>
700
||
y
>
700
&&
z
>
700
=
x
>
700
または「y
>
700
かつ
z
>
700」
(x
>
700
||
y
>
700)
&&
z
>
700
=「x
>
700
または y
>
700」かつ z
>
700
「もしくは」より「かつ」が優先される
• 二項演算子 = 「もしくは」「かつ」を表す
190. プログラムを理解しよう
← x > 700 または
y > 700 のとき
LEDが点灯する
void
x
=
y
=
z
=
}
}
}
if
(x
>
700
||
y
>
700)
{
192. int
val;
void
setup()
{
pinMode(13,
OUTPUT);
}
センサーを読み取ってみよう
• チャレンジ: 上下ひっくり返すと点灯
zについての
条件を指定する
void
loop()
{
x
=
analogRead(2);
y
=
analogRead(1);
z
=
analogRead(0);
if
(z
<
100)
{
digitalWrite(13,
HIGH);
}
else
{
digitalWrite(13,
LOW);
}
delay(500);
}
205. void
loop()
{
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);
delay(1000);
}
void
setup()
{
pinMode(12,
OUTPUT);
pinMode(13,
OUTPUT);
}
モーターを使ってみよう
208. プログラムを理解しよう
void
loop()
{
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);
delay(1000);
}
モータードライバの
回転方向制御ピンに
つながっている
Arduinoの12,13番ピンの
HIGH, LOWを制御する
209. プログラムを理解しよう
void
loop()
{
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);
delay(1000);
}
ブレーキ
210. プログラムを理解しよう
void
loop()
{
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);
delay(1000);
}
ブレーキ
逆転
211. プログラムを理解しよう
void
loop()
{
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);
delay(1000);
}
ブレーキ
逆転
ストップ
212. プログラムを理解しよう
void
loop()
{
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);
delay(1000);
}
ブレーキ
逆転
ストップ
正転
213. プログラムを理解しよう
void
loop()
{
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(12,
HIGH);
digitalWrite(13,
HIGH);
delay(1000);
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);
delay(1000);
}
ブレーキ
= 電気的な抵抗で止める
逆転
ストップ
= 摩擦のみで止める
正転
215. モーターを使ってみよう
void
loop()
{
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);
delay(2000);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(2000);
}
正転
逆転
• チャレンジ: 2秒正転→2秒逆転
216. モーターを使ってみよう
void
}
切り替える際に
ブレーキを挟んだほうが
モーターの摩耗が
少なくなる
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(100);
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(100);
225. void
setup()
{
pinMode(10,
OUTPUT);
pinMode(11,
OUTPUT);
pinMode(12,
OUTPUT);
pinMode(13,
OUTPUT);
}
2つのモーターを使ってみよう
void
loop()
{
digitalWrite(10,
HIGH);
digitalWrite(11,
LOW);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(1000);
digitalWrite(10,
LOW);
digitalWrite(11,
LOW);
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(1000);
}
228. 2つのモーターを使ってみよう
digitalWrite(10,
LOW);
digitalWrite(11,
HIGH);
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);
delay(2000);
digitalWrite(10,
LOW);
digitalWrite(11,
LOW);
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(100);
}
void
loop()
{
digitalWrite(10,
HIGH);
digitalWrite(11,
LOW);
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
delay(2000);
digitalWrite(10,
LOW);
digitalWrite(11,
LOW);
digitalWrite(12,
LOW);
digitalWrite(13,
LOW);
delay(100);
239. 2つのモーターを使ってみよう
}
void
digitalWrite(12,
HIGH);
digitalWrite(13,
LOW);
digitalWrite(12,
LOW);
digitalWrite(13,
HIGH);