亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

使用 Android 应用程序控制 Arduino 机械臂

组件和用品

LittleArm
× 1
Arduino UNO
× 1
HC-05 蓝牙模块
× 1
Android 设备
× 1
LittleArm - 全套
× 1

应用和在线服务

Android
Arduino IDE

关于这个项目

本教程基于此页面的资源。

LittleArm 传统上是使用在 Windows 和 Linux 上运行的免费桌面计算机应用程序来控制的。但这需要将 LittleArm 连接到要控制的计算机。我们终于完成了 LittleArm 的应用程序,这样您就可以通过蓝牙无线控制 Arduino。

该应用程序允许您控制 LittleArm 的所有自由度,还可以记录命令集并播放它们。 Arduino 的代码与我们这里软件包中的传统代码没有变化。

可以在此处下载此项目的 LittleArm 应用程序。

代码

  • Arduino 代码
Arduino 代码Arduino
此代码可以通过蓝牙或 usb
#include  //arduino library#include  //standard c library#define PI 3.141Servo baseServo;伺服肩伺服;伺服弯头伺服;伺服夹具Servo;int命令;struct JointAngle{ int base;内肩; int肘部;};int所需握把;int gripperPos;int所需延迟;int伺服速度=15;int准备好=0;结构jointAngle所需角度; //期望的舵机角度//++++++++++++++++函数声明++++++++++++++++++++++ +++intservoParallelControl(int thePos, Servo theServo);//++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++void setup(){ Serial.begin(9600); baseServo.attach(9); // 将引脚 9 上的伺服器连接到伺服器对象肩部Servo.attach(10);肘部伺服。附加(11);夹持器伺服.attach(6); Serial.setTimeout(50); // 确保 arduino 不会长时间读取串行 Serial.println("started"); baseServo.write(90); //舵机的初始位置shallowServo.write(150);肘部伺服。写(110); ready =0;} //主要的arduino loopvoid loop() { if (Serial.available()){ ready =1; requiredAngle.base =Serial.parseInt();期望角度.肩=Serial.parseInt();期望角度.肘部 =Serial.parseInt(); requiredGrip =Serial.parseInt();期望延迟 =Serial.parseInt(); if(Serial.read() =='\n'){ // 如果最后一个字节是 'd' 则停止读取并执行命令 'd' 代表 'done' Serial.flush(); //清除缓冲区中堆积的所有其他命令 //发送命令完成 Serial.print('d'); } } int status1 =0; int status2 =0; int status3 =0; int status4 =0; int 完成 =0; while(done ==0 &&ready ==1){ //将舵机移动到需要的位置 status1 =servoParallelControl(desiredAngle.base, baseServo, desiredDelay); status2 =伺服并行控制(desiredAngle.shoulder,shoulderServo,desiredDelay); status3 =伺服并行控制(desiredAngle.elbow,肘部伺服,desiredDelay); status4 =伺服并行控制(desiredGrip,gripperServo,desiredDelay); if (status1 ==1 &status2 ==1 &status3 ==1 &status4 ==1){ done =1; } }// while 结束 }//++++++++++++++++++++++++++++++函数定义++++++++ ++++++++++++++++++++++++++++++++++int 伺服并行控制(int thePos,伺服theServo,int theSpeed){ int startPos =theServo.read(); //读取当前位置 int newPos =startPos; //int theSpeed =speed; //定义位置相对于命令的位置 // 如果当前位置小于实际向上移动 if (startPos <(thePos-5)){ newPos =newPos + 1; theServo.write(newPos);延迟(速度);返回0; } else if (newPos> (thePos + 5)){ newPos =newPos - 1; theServo.write(newPos);延迟(速度);返回0; }其他{返回1; } }

示意图


制造工艺

  1. 使用 Arduino、1Sheeld 和 Android 的通用远程控制
  2. 使用 Arduino 控制硬币接收器
  3. 使用物联网远程控制机械臂
  4. 带伺服电机的机器人避障
  5. Arduino 带蓝牙控制 LED!
  6. 使用 Arduino 和 Android 设备控制 Roomba 机器人
  7. Nunchuk 控制机械臂(使用 Arduino)
  8. Arduino Nano:使用操纵杆控制 2 个步进电机
  9. Littlearm 2C:构建 3D 打印的 Arduino 机械臂
  10. ThimbleKrox - 用手指控制鼠标
  11. 用 30 美元以下的 Arduino 控制蟑螂
  12. 智能会说话的人形机器人,仅使用 Arduino!