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

Android 앱으로 Arduino 로봇 팔 제어

구성품 및 소모품

LittleArm
× 1
Arduino UNO
× 1
HC-05 블루투스 모듈
× 1
Android 기기
× 1
LittleArm - 전체 키트
× 1

앱 및 온라인 서비스

안드로이드
Arduino IDE

이 프로젝트 정보

이 튜토리얼은 이 페이지의 리소스를 기반으로 합니다.

LittleArm은 전통적으로 Windows 및 Linux에서 실행되는 무료 데스크톱 컴퓨터 응용 프로그램을 사용하여 제어됩니다. 그러나 이를 위해서는 LittleArm이 제어할 컴퓨터에 연결되어 있어야 합니다. 드디어 블루투스로 무선으로 아두이노를 제어할 수 있도록 LittleArm용 앱을 완성했습니다.

이 앱을 사용하면 LittleArm의 모든 DOF를 제어할 수 있을 뿐만 아니라 일련의 명령을 기록하고 재생할 수도 있습니다. Arduino용 코드는 여기에서 소프트웨어 패키지의 기존 코드에서 변경되지 않습니다.

이 프로젝트의 LittleArm 앱은 여기에서 다운로드할 수 있습니다.

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

코드

<울>
  • Arduino 코드
  • Arduino 코드Arduino
    이 코드는 블루투스나 usb를 통해 데스크탑이나 안드로이드 앱에서 사용할 수 있습니다.
    #include  //arduino library#include  //standard c library#define PI 3.141Servo baseServo; 서보 숄더서보; 서보 엘보 서보; 서보 그리퍼Servo;int 명령;struct jointAngle{ int base; 인트 숄더; int 엘보;};int desiredGrip;int gripperPos;int desiredDelay;int servoSpeed ​​=15;int 준비 =0;struct jointAngle desiredAngle; //서보의 원하는 각도//+++++++++++++++++FUNCTION DECLARATIONS++++++++++++++++++++++++ +++int ServoParallelControl(int thePos, Servo theServo);//+++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++ 무효 설정(){ Serial.begin(9600); baseServo.attach(9); // 9번 핀의 서보를 서보 객체에 연결합니다. ShoulderServo.attach(10); 엘보우서보.attach(11); 그리퍼서보.attach(6); Serial.setTimeout(50); // arduino가 너무 오랫동안 직렬을 읽지 않도록 합니다. Serial.println("started"); baseServo.write(90); //서보의 초기 위치 ShoulderServo.write(150); 엘보우서보.쓰기(110); ready =0;} //기본 arduino loopvoid loop() { if (Serial.available()){ ready =1; DesiredAngle.base =Serial.parseInt(); 원하는 각도.숄더 =Serial.parseInt(); DesiredAngle.elbow =Serial.parseInt(); 원하는 그립 =Serial.parseInt(); 원하는 지연 =Serial.parseInt(); if(Serial.read() =='\n'){ // 마지막 바이트가 'd'이면 읽기를 중지하고 명령을 실행합니다. 'd'는 '완료'를 나타냅니다. Serial.flush(); //버퍼에 쌓인 다른 모든 명령을 지웁니다. //명령 완료를 보냅니다. Serial.print('d'); } } 정수 상태1 =0; 정수 상태2 =0; 정수 상태3 =0; 정수 상태4 =0; 정수 완료 =0; while(done ==0 &&ready ==1){ //서보를 원하는 위치로 이동 status1 =servoParallelControl(desiredAngle.base, baseServo, desiredDelay); status2 =servoParallelControl(desiredAngle.shoulder, ShoulderServo, desiredDelay); status3 =servoParallelControl(desiredAngle.elbow,elbowServo,desiredDelay); status4 =servoParallelControl(desiredGrip,gripperServo,desiredDelay); if (상태1 ==1 &상태2 ==1 &상태3 ==1 &상태4 ==1){ 완료 =1; } }// 동안의 끝 }//++++++++++++++++++++++++++++++++기능 DEFITNITIONS++++++++ ++++++++++++++++++++++++++++++++++int servoParallelControl(int thePos, Servo theServo, int theSpeed){ int startPos =theServo.read(); //현재 위치 읽기 int newPos =startPos; //intSpeed ​​=속도; // 명령과 관련하여 위치가 어디에 있는지 정의 // 현재 위치가 실제 위로 이동하는 것보다 작은 경우 if (startPos <(thePos-5)){ newPos =newPos + 1; theServo.write(newPos); 지연(theSpeed); 반환 0; } else if (newPos> (thePos + 5)){ newPos =newPos - 1; theServo.write(newPos); 지연(theSpeed); 반환 0; } else { 반환 1; } }

    회로도


    제조공정

    1. Arduino, 1Sheeld 및 Android를 사용한 범용 원격 제어
    2. Arduino로 코인 억셉터 제어
    3. IoT를 사용하여 로봇 팔 원격 제어
    4. 서보 모터로 로봇을 피하는 장애물
    5. Bluetooth가 탑재된 Arduino로 LED 제어!
    6. Arduino 및 Android 기기로 Roomba 로봇 제어
    7. Nunchuk 제어 로봇 팔(Arduino 포함)
    8. Arduino Nano:조이스틱으로 2개의 스테퍼 모터 제어
    9. Littlearm 2C:3D 인쇄 Arduino 로봇 팔 제작
    10. ThimbleKrox - 손가락으로 마우스 제어