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

장애인을 위한 스마트 손동작 제어 휠체어

부품 및 소모품

부품수량비고
아두이노 나노 R3 (Arduino Nano R3)2송신부(장갑), 수신부(휠체어) 각 1개
nRF24L01+ 무선 모듈22.4GHz 무선 통신 (송수신 쌍)
스파크펀 듀얼 H-브리지 드라이버 L2981DC 모터 2개 구동용
점퍼 와이어1세트
DC 모터 12V2좌/우 바퀴 구동용

필수 도구

소프트웨어 및 앱

프로젝트 개요

인도 농촌/도시 장애인 비율 증가 추세에 맞춰, 손동작만으로 휠체어를 제어할 수 있는 시스템을 개발했습니다. 장갑에 부착된 MPU6050 가속도계로 손의 기울기를 감지하여 nRF24L01로 무선 전송, 휠체어 측 아두이노가 모터 드라이버로 구동합니다. 하반신 마비 장애인의 이동 편의성 향상이 목표입니다.

장애인을 위한 스마트 손동작 제어 휠체어

하드웨어 구성

송신부 (장갑 착용 측)

수신부 (휠체어 본체)

장애인을 위한 스마트 손동작 제어 휠체어
송신부 (장갑) 회로도
장애인을 위한 스마트 손동작 제어 휠체어
수신부 (휠체어) 회로도
장애인을 위한 스마트 손동작 제어 휠체어
실제 조립 모습

코드

송신부 코드 (장갑 측)

#include <SPI.h>
#include "RF24.h"
#include "Wire.h"
#include "I2Cdev.h"
#include "MPU6050.h"

MPU6050 mpu;
int16_t ax, ay, az;
int16_t gx, gy, gz;
int data[2];
RF24 radio(9, 10);  // CE, CSN 핀
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup() {
  Serial.begin(9600);
  Wire.begin();
  mpu.initialize();
  radio.begin();
  radio.openWritingPipe(pipe);
}

void loop() {
  mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  data[0] = map(ax, -17000, 17000, 300, 400);  // X축 → 전진/후진
  data[1] = map(ay, -17000, 17000, 100, 200);  // Y축 → 좌/우 회전
  radio.write(data, sizeof(data));
}

수신부 코드 (휠체어 측)

#include <nRF24L01.h>
#include <printf.h>
#include <RF24.h>
#include <RF24_config.h>
#include <SPI.h>
#include "RF24.h"

const int enbA = 3;  // 우측 모터 PWM
const int enbB = 5;  // 좌측 모터 PWM
const int IN1 = 2;   // 우측 모터 (-)
const int IN2 = 4;   // 우측 모터 (+)
const int IN3 = 7;   // 좌측 모터 (+)
const int IN4 = 6;   // 좌측 모터 (-)
int RightSpd = 130;
int LeftSpd = 130;
int data[2];
RF24 radio(9, 10);
const uint64_t pipe = 0xE8E8F0F0E1LL;

void setup() {
  pinMode(enbA, OUTPUT); pinMode(enbB, OUTPUT);
  pinMode(IN1, OUTPUT); pinMode(IN2, OUTPUT);
  pinMode(IN3, OUTPUT); pinMode(IN4, OUTPUT);
  Serial.begin(9600);
  radio.begin();
  radio.openReadingPipe(1, pipe);
  radio.startListening();
}

void loop() {
  if (radio.available()) {
    radio.read(data, sizeof(data));
    
    // 전진 (X축 값 높음)
    if (data[0] > 380) {
      analogWrite(enbA, RightSpd); analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
      digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
    }
    // 후진 (X축 값 낮음)
    if (data[0] < 310) {
      analogWrite(enbA, RightSpd); analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
      digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
    }
    // 좌회전 (Y축 값 높음)
    if (data[1] > 180) {
      analogWrite(enbA, RightSpd); analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, HIGH); digitalWrite(IN2, LOW);
      digitalWrite(IN3, LOW); digitalWrite(IN4, HIGH);
    }
    // 우회전 (Y축 값 낮음)
    if (data[1] < 110) {
      analogWrite(enbA, RightSpd); analogWrite(enbB, LeftSpd);
      digitalWrite(IN1, LOW); digitalWrite(IN2, HIGH);
      digitalWrite(IN3, HIGH); digitalWrite(IN4, LOW);
    }
    // 정지 (중립 영역)
    if (data[0] > 330 && data[0] < 360 && data[1] > 130 && data[1] < 160) {
      analogWrite(enbA, 0); analogWrite(enbB, 0);
    }
  }
}

회로도

장애인을 위한 스마트 손동작 제어 휠체어
장애인을 위한 스마트 손동작 제어 휠체어
장애인을 위한 스마트 손동작 제어 휠체어

제조공정

  1. 고급 모터 제어 회로: 래칭, 정지, 시간지연 기법
  2. 르네사스, RX66T 32비트 MCU 제품군 출시… 모터 제어 성능 2.5배 향상
  3. Renesas, 산업용 로봇 고급 서보 제어용 RX72T 마이크로컨트롤러 출시
  4. 새 뇌-컴퓨터 인터페이스, 마비 환자가 생각만으로 태블릿 제어 가능케 해
  5. 아두이노 릴레이 제어 가습기 자동화 – 고전압 안전 설계
  6. 윈도우 10 코타나와 블루투스로 아두이노 LED 제어하기 (UWP 앱)
  7. 아두이노 우노와 모터 쉴드를 이용한 DIY 인간 추적 로봇
  8. 전방향 옴니 휠 로봇: 안전한 사람 추적 및 인사하기
  9. 무선 방향 탐지용 자동 키어 – 정밀함, 편의성, 신뢰성
  10. 아두이노 프로젝트를 위한 스마트 실내 내비게이션 로봇 키트