センサーが送信
音波が発信されます。

マイ・ファースト・スマートロボット:物体を検知してLEDを点滅させよう!
ミッション 01 · 予想
Arduinoに物体までの距離を検知する方法を教えましょう。
手を近づけてみてください。ロボットはどうなるでしょうか?
ミッション 02 · 聞く
このセンサーは音を出し、それが返ってくるのを待ちます。
手を近づけるとどうなるでしょうか?
ミッション 03 · 収集
すべてのパーツに役割があります。ボタンをタップして一つずつ確認しましょう。
ミッション 04 · コネクト
配線を慎重に確認しましょう。正しく接続することでロボットが動作します!
ミッション 05 · ライトアップ
LEDはロボットのライトです。抵抗はLEDを保護する役割があります。
ミッション 06 · 理解する
ロボットは聞き、考え、そして行動します。
音波が発信されます。
音が跳ね返ります。
距離を確認します。
ミッション 07 · 思考
Arduinoには、人が指示に従うのと同じように、命令が必要です。
どの例でLEDが点滅するはずでしょうか?
ミッション 08 · 指示
これが完成したプログラムです。プレゼンターが詳しく説明します。
const int trigPin = 9;
const int echoPin = 10;
const int ledPin = 13;
long duration;
float distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop() {
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH, 30000);
if (duration == 0) {
distance = -1;
} else {
distance = duration * 0.0343 / 2;
}
Serial.print("Distance: ");
Serial.print(distance);
Serial.println(" cm");
if (distance > 0 && distance <= 15) {
digitalWrite(ledPin, HIGH);
delay(250);
digitalWrite(ledPin, LOW);
delay(250);
} else {
digitalWrite(ledPin, LOW);
delay(100);
}
}ミッション 09 · テスト
一歩ずつ慎重に進めましょう。
ミッション 10 · チャレンジ
クイックチャレンジの答えを選んでください。
ミッション 11 · 想像
距離センサーは、教室の外でも幅広く活用されています。
駐車スペースが空いたことを検知する。
人が近づいたときにドアを開けます。
ロボットが前方に何があるかに気づくのを助ける。