工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduinoで作るリアルタイム360°レーダー:ステップバイステップ製作ガイド

必要な部品と材料

部品 数量 備考
Arduino UNO R3 1 制御用マイコン
超音波距離センサー HC-SR04 1 距離測定用
180°サーボモーター(RobotGeek等) 2 水平・垂直回転用(2個で360°カバー)
ジャンパーワイヤー 1式 配線用

必要な工具

使用ソフトウェア

プロジェクト概要

2台の180°サーボモーターを直交配置し、超音波センサーを搭載して全方位360°の距離スキャンを行うレーダーシステムを製作しました。Arduinoがサーボ制御と距離測定を行い、シリアル通信でPCへデータ送信。PC側アプリ(Visual Studio製)がリアルタイムでレーダー画面を描画し、1回転(360°)ごとに前回スキャンを薄く残しながら新しいスキャンを重ねて表示します。さらに、取得した距離データを画像にステガノグラフィ(難読化埋め込み)する機能も実装:一見普通の画像ファイルに見えるが、中にレーダーデータが隠蔽されています。

Arduinoで作るリアルタイム360°レーダー:ステップバイステップ製作ガイド
Arduino・サーボ・超音波センサーの配線図

製作手順

Step 1: 部品準備

Step 2: 組み立てと配線

配線図に従って接続します。サーボの信号線をArduino D2(水平)、D3(垂直)に、超音波センサーのTrigをD9、EchoをD10に接続。PCとUSB接続し、シリアルポート(COM3やCOM5等)をデバイスマネージャーで確認しておきます。

完成したら、PC側レーダー描画アプリ(EXE)をダウンロードして実行してください。EXEファイルはこのページの「Custom parts and enclosures」セクションから入手可能です。EXEの動作に問題がある場合や、自前でアプリを作りたい場合はご相談ください。

Arduinoで作るリアルタイム360°レーダー:ステップバイステップ製作ガイド
ホットグルーでサーボとセンサーを固定

Arduinoスケッチ(サーボ制御・距離測定・シリアル出力)

#include <Servo.h>
Servo Down;  // 水平回転用(0-180°)
Servo Up;    // 垂直回転用(0-180°)

const int trigPin = 9;
const int echoPin = 10;
long duration;
int pos = 0;
int pos2 = 0;
int distance;
int _degrees;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);
  Down.attach(2);
  Up.attach(3);
  Serial.begin(9600);
}

void loop() {
  // 初期位置に戻す
  Down.write(0);
  Up.write(0);
  
  // 水平スキャン(0→180°)
  for (pos = 0; pos <= 180; pos += 1) {
    Down.write(pos);
    _degrees = pos; // 水平角度
    measureDistance();
    delay(50);
    
    // 水平180°到達時に垂直スキャン(0→180°)を実行
    if (pos == 180) {
      for (pos2 = 0; pos2 <= 180; pos2 += 1) {
        Up.write(pos2);
        _degrees = pos + pos2; // 合成角度(0-360°相当)
        measureDistance();
        delay(50);
      }
    }
  }
  
  // 戻り動作(高速)
  for (pos = 180; pos >= 0; pos -= 1) {
    Down.write(pos);
    Up.write(pos);
    delay(5);
  }
}

void measureDistance() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);
  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.034 / 2; // cm換算
  Serial.print(distance);
  Serial.print(",");
  Serial.println(_degrees);
}

PC側アプリケーション機能

回路図(複数アングル)

Arduinoで作るリアルタイム360°レーダー:ステップバイステップ製作ガイド
回路図①
Arduinoで作るリアルタイム360°レーダー:ステップバイステップ製作ガイド
回路図②
Arduinoで作るリアルタイム360°レーダー:ステップバイステップ製作ガイド
回路図③

ダウンロードファイル

補足・注意点

製造プロセス

  1. ArduinoとInfineon 3D磁気センサーで作る無線磁気データ転送
  2. Arduinoデジタルダイス: LCD表示の乱数ジェネレーター自作
  3. Arduinoで温湿度ロガーを作る – DHT11とEthernetシールドでSDカード記録
  4. Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
  5. ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
  6. Arduino駆動3Dプリントロボットアームの製作:ステップバイステップガイド
  7. DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
  8. Arduino Nanoで作るNeoPixelマトリックス版Pongゲーム
  9. ゲーム用カスタムArduinoジョイスティックハンドルの製作
  10. ArduinoとTEA5767で作る高性能FMラジオ受信機
  11. Arduino 101で作る万歩計:DHT11温湿度センサー&LCD表示付き