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

ArduinoとInfineon 3D磁気センサーで作る無線磁気データ転送

必要な部品と材料

部品数量備考
Arduino UNO1送信側マイコン
Infineon 3D Magnetic Sensor 2Go (TLE493D-W2B6)1受信側、X/Y/Z軸磁界検出
電磁石 (自作可: エナメル線+鉄ボルト)1送信側、磁界発生源
リレーモジュール (5V駆動)1電磁石ON/OFF制御
ジャンパーワイヤー1式
外部電源 (電磁石用, 5V/12V等)1電磁石仕様に合わせる

使用ソフトウェア

プロジェクト概要

電波 (Wi-Fi/BLE/LoRa等) を使わず、磁界変調 でデータを無線伝送するユニークな実験プロジェクトです。Arduino UNOがリレー経由で電磁石をON/OFF (1/0) し、近くに置いたInfineon 3D磁気センサー (2Goボード) が磁界変化を検出してデータを復元します。距離は数cm〜十数cm程度ですが、電波不可環境やシンプルな近接通信に応用可能です。

ステップ1: 送信側 (Arduino UNO) 配線

ArduinoとInfineon 3D磁気センサーで作る無線磁気データ転送
ArduinoとInfineon 3D磁気センサーで作る無線磁気データ転送

ステップ2: 送信側スケッチ


int incomingByte = 0;
int data = 0;

void setup() {
  Serial.begin(9600);
  pinMode(12, OUTPUT);
  Serial.println(F("Starting..."));
  Serial.println(F("Send a string of binary digits (0/1)"));
}

void loop() {
  if (Serial.available() > 0) {
    incomingByte = Serial.read();
    data = 1;
    if (incomingByte == '0') {       // ASCII '0' = 48
      digitalWrite(12, LOW);         // 電磁石OFF
      Serial.print('0');
      delay(100);                    // ビット間隔 ~10bps
    }
    else if (incomingByte == '1') {  // ASCII '1' = 49
      digitalWrite(12, HIGH);        // 電磁石ON
      Serial.print('1');
      delay(100);
    }
    else {
      Serial.print('?');
    }
  }
  else {
    if (data == 1) {
      digitalWrite(12, LOW);         // 送信終了で電磁石OFF
      Serial.println();
      data = 0;
    }
  }
}

シリアルモニターで「101010」等を送信すると、リレーがカチカチ動作し電磁石が変調されます。

ステップ3: 受信側 (2Goボード) GUIインストール

  1. Infineon公式ページからGUI zipをダウンロード、インストール (USBドライバーも同時インストール)
  2. Windowsのみ対応 (Mac/LinuxはVM必須)
  3. 2GoをUSB接続、GUI起動、Linkボタン → Fast Mode選択でリアルタイム磁界データ表示
ArduinoとInfineon 3D磁気センサーで作る無線磁気データ転送

ステップ4: 動作テスト

電磁石を2Goセンサー近くに配置。Arduinoシリアルモニターで 1/0 送信。GUIの X/Y/Z グラフにパルスが現れれば成功。

ステップ5: 2GoをArduino IDEでプログラミング (スタンドアロン受信機化)

  1. Arduino IDE → ファイル → 環境設定 → 追加ボードマネージャURL に追加:
    https://github.com/Infineon/Assets/releases/download/current/package_infineon_index.json
    
  2. ツール → ボード → ボードマネージャー → 「XMC」検索 → インストール
  3. TLE493D_W2B6ライブラリ zip をダウンロード → スケッチ → ライブラリをインクルード → .ZIP形式のライブラリをインストール

ステップ6: 受信側スケッチ (2Go単体動作)


#include 

Tle493d_w2b6 mag3DSensor = Tle493d_w2b6();
const int sens = 1;  // 感度閾値 (小さいほど高感度、環境磁界ノイズに注意)

void setup() {
  mag3DSensor.begin();
  mag3DSensor.enableTemp();
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop() {
  mag3DSensor.updateData();

  // 3軸いずれかが閾値超過で磁界検出とみなす
  if (abs(mag3DSensor.getX()) > sens || 
      abs(mag3DSensor.getY()) > sens || 
      abs(mag3DSensor.getZ()) > sens) {
    digitalWrite(LED_BUILTIN, HIGH);  // 検出時LED点灯
  } else {
    digitalWrite(LED_BUILTIN, LOW);
  }
  delay(50);  // 20Hzサンプリング
}

ステップ7: 統合テスト

電磁石をセンサー近くに置き、2GoをUSB給電、ArduinoをPC接続。シリアルモニターで 1/0 送信 → 2Goの内蔵LEDが送信パターンに追従して点滅すれば完成。

感度調整: LEDが点きっぱなし → sens 増やす / 点かない → 減らす / 電磁石を近づける / 2Goリセット (抜き差し)。

発展アイデア

コードリポジトリ

https://github.com/tctree333/Arduino-3D-Sensor

製造プロセス

  1. 家庭用の低コストワイヤレスセンサーネットワークを構築
  2. Arduinoで実現する低コスト・リアルタイム太陽光パネル監視システム
  3. Arduinoで作る高精度エナジーモニター&データロガー – Dr. Wattsonボード活用
  4. Arduinoで温湿度ロガーを作る – DHT11とEthernetシールドでSDカード記録
  5. USB-MIDI機器をBluetooth LEでiOSに無線接続 ─ Arduinoベースの3つのアダプター設計
  6. スマートワイヤレス照明スイッチコントローラー:Arduinoで物理スイッチを遠隔操作
  7. 次世代磁気ナノ構造「透明マント」でデータストレージを革新
  8. Spark Microsystems、超低消費電力・低レイテンシIoT向けUWBトランシーバを発表
  9. 堅牢な長距離無線センサネットワークでリモートデータ監視を実現
  10. ワイヤレスMODBUS統合の理解:知っておくべきこと
  11. ワイヤレスSCADAへの移行:実証済み手法、核心的違い、信頼できる技術選択肢