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

使用重力传感器智能手机控制的机器人汽车

组件和用品

Arduino UNO
× 1

第 1 步。

使用任何可用的平台构建机器人汽车,建立在两轮电路上。电子元件的连接图如下图所示。您将需要 Arduino UNO 或兼容板、蓝牙 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 structure.RemoteXY structure 显示您所有的 GUI 控件。

生成的源代码如下所示。你可以编译它并上传到Arduino。

第 5 步。

在 http://remotexy.com/en/download/ 上安装移动应用程序 RemoteXY。当应用程序在移动设备上运行时,按列表中的蓝牙按钮连接,选择您的蓝牙模块的名称,对于 HC-05 (06) 模块,名称通常为 INVOR 或 HC-06。

它有效!


代码

  • 通过 RemoteXY 移动应用远程控制机器人车
通过 RemoteXY 移动应用程序远程控制机器人车C/C++
您可以通过以下链接下载 RemoteXY.h 库 http://remotexy.com/en/library/
/////////////////////// ////////////////// // 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,41, 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 坐标操纵杆位置 */ 带符号的 char joystick_1_y; /* =-100..100 y 坐标操纵杆位置 */ unsigned char switch_1; /* =1 如果打开,=0 如果关闭 */ /* 其他变量 */ unsigned char connect_flag; /* =1 如果连线,否则 =0 */ } RemoteXY; /////////////////////////////////////////// // 结束 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_RIGHT_DN 4 #define PIN_MOTOR_RIGHT_MOED 定义引脚 *9FT_MO定义 PIN_LED 13 /* 为每个电机定义了两个带有引脚列表的数组 */ unsigned char RightMotor[3] ={PIN_MOTOR_RIGHT_UP, PIN_MOTOR_RIGHT_DN, PIN_MOTOR_RIGHT_SPEED};无符号字符 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(motor[0], HIGH);数字写入(电机[1],低);模拟写入(电机[2],v*2.55); } else if (v<0) { digitalWrite(motor[0], LOW);数字写入(电机[1],高);模拟写入(电机 [2],(-v)*2.55); } else { digitalWrite(motor[0], LOW);数字写入(电机[1],低);模拟写入(电机[2],0); } } void setup() { /* 初始化引脚 */ pinMode (PIN_MOTOR_RIGHT_UP, OUTPUT); pinMode (PIN_MOTOR_RIGHT_DN, OUTPUT); pinMode (PIN_MOTOR_LEFT_UP, OUTPUT); pinMode (PIN_MOTOR_LEFT_DN, OUTPUT); pinMode(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. 通过蓝牙控制的树莓派机器人
  2. 使用 Raspberry Pi 的 Wifi 控制机器人
  3. 仅使用 Arduino 的 DTMF 解码器
  4. 使用 Arduino 制作流光溢彩监视器
  5. Arduino 报警系统:SERENA
  6. 使用 Arduino 和智能手机的 DIY 电压表
  7. 使用 Raspberry Motor Shield 的 Android 控制玩具
  8. 操纵杆控制的遥控车
  9. 语音控制机器人
  10. MobBob:由 Android 智能手机控制的 DIY Arduino 机器人
  11. Python3 和 Arduino 通信
  12. 使用 Arduino 和 RDA8057M 的 FM 收音机