산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

아두이노 기반 무선 자기장 데이터 전송 – 인피니언 3D 자기 센서 활용

부품 및 소모품

아두이노 우노 (Arduino UNO) 1개
인피니언 3D 자기 센서 2Go (TLE493D-W2B6 평가 보드) 1개
전자석 (직접 권선: 자석 와이어 + 철심 볼트, 또는 기성품) 1개
릴레이 모듈 (전자석 구동용) 1개
점퍼 와이어 여분

소프트웨어 및 도구

프로젝트 개요

무선 통신하면 Wi-Fi, BLE, LoRa 등 무선파(RF)를 떠올리지만, 자기장(마그네틱 필드)을 매질로 데이터 전송하는 독특한 프로젝트입니다. 아두이노가 릴레이로 전자석을 ON/OFF(1/0) 제어 → 자기장 변화 → 인피니언 3D 자기 센서가 X/Y/Z축 자기장 강도 감지 → 데이터 수신. 라디오파 없는 환경이나 특수 용도에 응용 가능합니다.

1단계: 아두이노 배선 (송신부)

아두이노 기반 무선 자기장 데이터 전송 – 인피니언 3D 자기 센서 활용

2단계: 아두이노 송신 펌웨어 업로드

int incomingByte = 0;
int data = 0;

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

void loop() {
    if (Serial.available() > 0) {
        incomingByte = Serial.read();
        data = 1;
        if (incomingByte == '0') {        // ASCII 48
            digitalWrite(12, LOW);  // 전자석 OFF
            Serial.print("0");
            delay(100);
        } else if (incomingByte == '1') { // ASCII 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단계: 인피니언 센서 GUI 설치 (수신부 모니터링용)

  1. 인피니언 웹사이트에서 2Go 센서 GUI 다운로드 (하단 'Free Download')
  2. 설치 시 USB 드라이버도 함께 설치됨
  3. ⚠️ 윈도우만 지원. 맥/리눅스 사용자는 가상머신(VMware, VirtualBox 등) 필요

4단계: 시스템 테스트

아두이노 기반 무선 자기장 데이터 전송 – 인피니언 3D 자기 센서 활용
  1. 2Go 센서를 PC에 USB 연결
  2. GUI 실행 → Link → Fast Mode 선택 → 실시간 센서 데이터 확인
  3. 아두이노 시리얼 모니터에서 1/0 전송 → 전자석 근처에 센서 두면 GUI 그래프에 펄스 파형 나타남

5단계: 아두이노 IDE에 인피니언 보드 추가 (센서 프로그래밍용)

  1. 파일 → 환경설정 → 추가 보드 매니저 URL에 추가:
    https://github.com/Infineon/Assets/releases/download/current/package_infineon_index.json
  2. 도구 → 보드 → 보드 매니저 → "XMC" 검색 → 설치
  3. 스케치 → 라이브러리 포함 → .ZIP 라이브러리 추가 → GitHub에서 받은 TLE493D_W2B6 라이브러리 ZIP 선택

6단계: 2Go 센서 펌웨어 업로드 (수신부)

#include <Tle493d_w2b6.h>

Tle493d_w2b6 mag3DSensor = Tle493d_w2b6();
const int sens = 1;  // 민감도 임계값 (작을수록 민감)

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

void loop() {
    mag3DSensor.updateData();
    
    // X, Y, Z 중 하나라도 임계값 초과하면 자기장 감지로 판단
    if (abs(mag3DSensor.getX()) > sens || 
        abs(mag3DSensor.getY()) > sens || 
        abs(mag3DSensor.getZ()) > sens) {
        digitalWrite(LED_BUILTIN, HIGH);  // 내장 LED 켬
    } else {
        digitalWrite(LED_BUILTIN, LOW);   // 내장 LED 끔
    }
    delay(50);  // 스팸 방지
}

센서를 아두이노 IDE로 프로그래밍하려면 2Go 보드의 부트로더 모드 진입 방법(보드 매뉴얼 참조) 필요. 업로드 후 센서가 독립적으로 동작하며 자기장 감지 시 내장 LED 점멸.

7단계: 전체 시스템 테스트

  1. 전자석을 센서 근처에 배치
  2. 2Go 센서 전원 연결 (USB 또는 배터리)
  3. 아두이노를 PC에 연결, 시리얼 모니터 열기
  4. 시리얼 모니터에 "101010..." 입력
  5. 2Go 센서 LED가 입력 패턴에 맞춰 깜빡이면 성공!

안 되면: 전자석-센서 거리 좁히기, sens 값 줄이기(민감도 높이기), 센서 재부팅 시도.

확장 아이디어

  • 아두이노에 버튼 추가해 PC 없이 독립 송신기 만들기
  • 스피커 연결해 자기장으로 오디오 스트리밍 시도
  • 변조 방식 개선(맨체스터 코딩 등)로 속도/신뢰성 향상
  • 다중 비트 동시 전송(다중 전자석/다축 센싱) 구현

코드 저장소

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

회로도

아두이노 기반 무선 자기장 데이터 전송 – 인피니언 3D 자기 센서 활용

제조공정

  1. 무선 MODBUS 통합 이해: 알아야 할 핵심
  2. 무선 SCADA 전환: 검증된 방법, 핵심 차이, 신뢰할 기술 옵션
  3. 스파크 마이크로시스템즈, 초저전력·저지연 IoT용 UWB 트랜시버 출시
  4. 가정용 저렴한 무선 센서 네트워크 구축하기
  5. 데이터 저장 혁명: 투명 망토 입은 차세대 자기 나노구조
  6. 아두이노로 태양광 패널 실시간 모니터링 - 저비용 데이터 수집 시스템
  7. 아두이노 에너지 모니터 & 데이터 로거 만들기 – Dr. Wattson 보드 활용
  8. 아두이노 DHT11 이더넷 실드 온습도 데이터 로거
  9. USB-BLE 무선 MIDI 어댑터: 뮤지션을 위한 끊김 없는 연결
  10. 강건한 장거리 무선 센서 네트워크로 원격 데이터 모니터링 구현