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

G-센서 스마트폰을 사용하여 제어되는 로봇카

구성품 및 소모품

Arduino UNO
× 1

1단계.

2륜 회로에 구축된 사용 가능한 플랫폼을 사용하는 Buildrobotcar. 전자 부품의 연결 다이어그램은 아래 그림에 나와 있습니다. Arduino UNO 또는 호환 보드, Bluetooth HC-05(06) 모듈, 모터 드라이버 및 전원 공급 장치 배터리가 필요합니다. 기어 모터가 플랫폼에 배치되어 로봇 바퀴를 강제로 움직입니다.

2단계.

http://remotexy.com/en/editor/에서 RemoteXY 서비스 웹사이트로 이동하고 로봇을 제어하기 위한 그래픽 사용자 인터페이스를 만듭니다. 조이스틱용 G-센서를 사용하여 제어 기능을 설정합니다. 인터페이스의 예는 아래 그림과 같습니다. "소스 코드 가져오기" 버튼을 클릭합니다.

3단계.

GUI의 소스 코드를 다운로드하고 Arduino IDE에서 엽니다. 컴파일을 위해서는 RemoteXY.h 라이브러리가 필요합니다. 라이브러리는 http://remotexy.com/en/library/ 링크에서 다운로드할 수 있습니다. 이미 Arduino에서 코드를 로드하고 모바일 애플리케이션과 연결할 수 있습니다. 그러나 이것은 공백 코드일 뿐이지만 그래픽 인터페이스와 모터 드라이버를 연결하는 필수 기능을 추가해야 합니다.

4단계.

그런 다음 그래픽 인터페이스를 사용하여 소스 코드에 로봇 제어 기능을 추가해야 합니다. 이를 위해 RemoteXY 구조 필드.RemoteXY 구조는 모든 GUI 컨트롤을 표시합니다.

결과 소스 코드는 아래와 같습니다. 컴파일하여 Arduino에 업로드할 수 있습니다.

5단계.

http://remotexy.com/en/download/에서 모바일 애플리케이션 RemoteXY를 설치합니다. 응용 프로그램이 모바일 장치에서 실행 중일 때 목록에서 Bluetooth버튼 연결을 누르고 Bluetooth 모듈의 이름을 선택하십시오. HC-05(06) 모듈의 경우 일반적으로 이름은 INVOR 또는 HC-06이 됩니다.

작동합니다!


<섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

코드

<울>
  • RemoteXY 모바일 앱을 통한 원격 제어 로봇 자동차
  • RemoteXY 모바일 앱을 통한 원격 제어 로봇 자동차C/C++
    http://remotexy.com/en/library/
    /////////////////////// 링크를 통해 RemoteXY.h 라이브러리를 다운로드할 수 있습니다. //////////////////// // RemoteXY 라이브러리 포함 // //////////////////////// ////////////////////// /* RemoteXY 연결 모드 선택 및 라이브러리 포함 */ #define REMOTEXY_MODE__SOFTWARESERIAL #include  #include  /* RemoteXY 연결 설정 */ #define REMOTEXY_SERIAL_RX 2 #define REMOTEXY_SERIAL_TX 3 #define REMOTEXY_SERIAL_SPEED 9600 /* RemoteXY 구성 */ unsigned char RemoteXY_CONF[] ={ 3,0,23,0,1,5,5,15, 11,43,43,1,2,0,6,5,27,11,5,79,78,0,79,70,70,0}; /* 이 구조는 제어 인터페이스의 모든 변수를 정의합니다. */ struct { /* 입력 변수 */ signed char Joystick_1_x; /* =-100..100 x 좌표 조이스틱 위치 */ signed char Joystick_1_y; /* =-100..100 y 좌표 조이스틱 위치 */ unsigned char switch_1; /* 스위치가 ON이면 =1이고 OFF이면 =0 */ /* 기타 변수 */ unsigned char connect_flag; /* 와이어가 연결된 경우 =1, 그렇지 않으면 =0 */ } RemoteXY; /////////////////////////////////////////////// // END RemoteXY 포함 // /////////////////////////////////////////////////* 정의됨 오른쪽 모터 제어 핀 */ #define PIN_MOTOR_RIGHT_UP 7 #define PIN_MOTOR_RIGHT_DN 6 #define PIN_MOTOR_RIGHT_SPEED 10 /* 왼쪽 모터 제어 핀 정의 */ #define PIN_MOTOR_LEFT_UP 5 #define PIN_MOTOR_LEFT_DN 4 #define PIN_MOTOR_LEFT_DN 4 #define PIN_MOTOR_ 정의 PIN_LED 13 /* 각 모터에 대한 핀 목록이 있는 두 개의 배열 정의 */ unsigned char RightMotor[3] ={PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED}; unsigned char LeftMotor[3] ={PIN_MOTOR_LEFT_UP, PIN_MOTOR_LEFT_DN, PIN_MOTOR_LEFT_SPEED}; /* 모터 모터의 속도 제어 - 핀 배열에 대한 포인터 v - 모터 속도는 -100에서 100까지 설정할 수 있습니다. */ void Wheel (unsigned char * motor, int v) { if (v>100) v=100; 만약 (v<-100) v=-100; if (v>0) { digitalWrite(모터[0], HIGH); 디지털 쓰기(모터[1], 낮음); analogWrite(모터[2], v*2.55); } else if (v<0) { digitalWrite(모터[0], LOW); 디지털 쓰기(모터[1], 높음); analogWrite(모터[2], (-v)*2.55); } else { digitalWrite(모터[0], LOW); 디지털 쓰기(모터[1], 낮음); analogWrite(모터[2], 0); } } void setup() { /* 초기화 핀 */ pinMode (PIN_MOTOR_RIGHT_UP, OUTPUT); 핀 모드(PIN_MOTOR_RIGHT_DN, 출력); 핀모드(PIN_MOTOR_LEFT_UP, OUTPUT); 핀 모드(PIN_MOTOR_LEFT_DN, 출력); 핀모드(PIN_LED, 출력); /* 초기화 모듈 RemoteXY */ RemoteXY_Init(); } void loop() { /* 이벤트 핸들러 모듈 RemoteXY */ RemoteXY_Handler(); /* LED 핀 관리 */ digitalWrite (PIN_LED, (RemoteXY.switch_1==0)?LOW:HIGH); /* 오른쪽 모터 관리 */ Wheel (RightMotor, RemoteXY.joystick_1_y - RemoteXY.joystick_1_x); /* 왼쪽 모터 관리 */ Wheel (LeftMotor, RemoteXY.joystick_1_y + RemoteXY.joystick_1_x); } 

    회로도


    제조공정

    1. Bluetooth를 통해 제어되는 Raspberry Pi Robot
    2. 라즈베리 파이를 사용하는 Wi-Fi 제어 로봇
    3. Arduino만 사용하는 DTMF 디코더
    4. Arduino를 사용하여 모니터 Ambilight 만들기
    5. Arduino 알람 시스템:SERENA
    6. Arduino와 스마트폰을 사용한 DIY 전압계
    7. Raspberry Motor Shield를 사용한 Android 제어 장난감
    8. 조이스틱 제어 RC 자동차
    9. 음성 제어 로봇
    10. MobBob:Android 스마트폰으로 제어되는 DIY Arduino 로봇