1つの単純なしきい値
- 1つの検知距離
- LEDのオンまたはオフ
- 1つの訪問者アラート

ロボティクス・セキュリティ・ミッション 002
2ゾーン・スマートハウス・ラボ
ミッションブリーフィング · JSS2 ロボティクス
今日は、スマートハウスを2ゾーンのセキュリティシステムにアップグレードします。
01 · 体験
シミュレーション上の訪問者を移動させてください。このダッシュボードは例示用であり、実際のArduino接続ではありません。
シミュレーション読み取り値
Monitoring · system ready
100 cmを超えると、次回の接近時にリセットされます。
02 · エンジニアリング・アップグレード
エンジニアは、よりインテリジェントな判断を追加することでプロジェクトを改善します。
03 · キット
セキュリティシステムの各パーツには、明確な役割があります。
判断を下すコントローラーです。
エコーを使用して距離を測定します。
警告と危険を視覚的に示します。
短い危険警告音を鳴らします。
はんだ付けなしで組み立てが可能です。
電源と信号を伝えます。
LEDに過剰な電流が流れるのを防ぎます。
プロジェクトの物理的な外装です。
04 · まずは計画を
センサーは外側を向き、遮るものがないようにしてください。
05 · 組み立て
電子部品を追加する前に、構造を安定させてください。
06 · センサーの配線
HC-SR04は、超音波のエコー時間を計測することで距離を推定します。
距離の考え方time × 0.0343 ÷ 2
07 · 視覚信号
1つのライトで、3つの意味のある動作を表現します。
抵抗器で電流を制限し、LEDを保護します。
08 · 音信号
短い音が、危険が始まった瞬間を知らせます。
物体が最初に50cm未満に入った時に1回だけビープ音が鳴ります。連続して鳴るわけではありません。
09 · 統合チェック
すべての電源、信号、および共通グランドの接続を確認してください。
配線を変更する前にUSB電源を disconnecting してください。
10 · PictoBloxラボ
PictoBloxのビジュアルブロックは、当社の主要なプログラミング方法です。
11 · ブロックツールボックス
まず機能を探してください。正確なラベルはPictoBloxのバージョンによって異なる場合があります。
12 · メモリ変数
この小さなメモリにより、煩わしい繰り返しのビープ音を防ぐことができます。
この接近では、まだ危険警告音は鳴っていません。
この接近サイクルで、すでに危険警告音が鳴りました。
訪問者が100cmを超えて離れたとき、次の接近に備えて0にリセットします。
13 · ロジックの構築
インストールした拡張機能にあるブロックを使って、意図したロジックを組み立てます。
14 · 判定マップ
ループは「読み取り」「判断」「信号送信」を繰り返し行います。
15 · フィールドテスト
実際の家では定規や巻尺を使用してください。ここでの数値はシミュレーションです。
100 cmより後ろに移動してから、再度近づいてください。そうすれば新しいアラートが鳴ります。
16 · プランB
これはArduino C++のバックアップコードです。ビジュアルブロックのキャンバスに貼り付けるためのコードではありません。
const int trigPin = 9;
const int echoPin = 10;
const int ledPin = 13;
const int buzzerPin = 8;
bool visitorAlerted = false;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(ledPin, OUTPUT);
pinMode(buzzerPin, OUTPUT);
digitalWrite(ledPin, LOW);
}
void loop() {
long duration;
float distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH, 30000);
if (duration == 0) {
digitalWrite(ledPin, LOW);
noTone(buzzerPin);
visitorAlerted = false;
delay(100);
return;
}
distance = duration * 0.0343 / 2;
if (distance > 100) {
digitalWrite(ledPin, LOW);
noTone(buzzerPin);
visitorAlerted = false;
} else if (distance >= 50) {
digitalWrite(ledPin, HIGH);
delay(200);
digitalWrite(ledPin, LOW);
delay(200);
} else {
digitalWrite(ledPin, HIGH);
if (!visitorAlerted) {
tone(buzzerPin, 1000, 300);
visitorAlerted = true;
}
}
delay(50);
}17 · デバッグデッキ
優れたエンジニアは、一度に一つのことを変更し、テストして結果を観察します。
Arduino Uno、必要な拡張機能、およびステージモードのサポートを確認してください。
D8、GND、極性、トーンブロックを確認するか、バックアップコードを使用してください。
D13、抵抗器、LEDの極性、および警告条件を確認してください。
ビープ音の後にvisitorAlertedを1に設定し、100 cmを超えたときのみリセットしてください。
読み取り値と100 cmより大きいという条件を確認してください。
配線の緩み、センサーの向き、電源、および障害物を確認してください。
18 · ミッション報告
よりスマートな家を完成させました。
2つの距離しきい値を設定することで、JSS1バージョンよりもどのように高度になったか説明してください。