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

蓝牙控制的避障机器人

组件和用品

Arduino Nano R3
× 1
SparkFun 双 H 桥电机驱动器 L298
× 1
超声波传感器 - HC-SR04(通用)
× 1
HC-05 蓝牙模块
× 1
RGB 扩散共阳极
× 1
SparkFun 逻辑电平转换器 - 双向
× 1
电阻 330 ohm
× 1
面包板(通用)
× 1
SparkFun 面包板电源棒 5V/3.3V
× 1
直流电机,12 V
× 2
公/母跳线
× 1

应用和在线服务

Arduino IDE
Arduino BlueControl
可在 Playstore 中使用。

关于这个项目

该项目使用手机通过蓝牙与机器人进行通信。我一直想建造一个机器人并通过手机控制它。在时隔12年多之后,我承担了建造机器人的任务并操作它。这也是我在 Arduino 项目中心的第一个项目。电子和机器人技术是我最喜欢的爱好之一,因此在 Covid19 导致的封锁期间,我承担了建造机器人的任务。

机器人感应从手机传输的蓝牙信号。它使用HC-05蓝牙模块感应手机发出的指令信号并控制机器人。我使用 ArduinoBlueControl 应用程序来控制机器人。

机器人的心脏是 Arduino Nano。它通过串行通讯接收来自HC-05模块的信号,并通过L298N电机驱动模块控制电机向前、向后、向左和向右运动。

应注意将 HC-05 模块的 TX 和 RX 引脚与 Arduino Nano 连接。为此使用逻辑电平转换器。

机器人使用 HC SR-04 超声波传感器模块来检测其路径中的障碍物。机器人在前进过程中感应到障碍物停止。RGB LED用于显示机器人的状态。

机器人组装在一个由两个齿轮驱动电机组成的 2 轮底座中。该电路组装在带有电源(3.3v 和 5v)的面包板上。由于电机需要更高的电流,Arduino Nano 无法直接驱动电机。因此,L298N 电机驱动模块用于驱动电机。来自Arduino Nano的PWM信号用于通过L298N电机驱动模块的ENA和ENB引脚控制电机的速度。

这是机器人运行的简短视频:

希望你喜欢我的蓝牙控制避障机器人。该机器人可以修改和扩展用于家庭自动化、车间避障车等以及更多用途。

代码

  • 蓝牙控制机器人_Arduino 代码。
蓝牙控制机器人_Arduino代码。C/C++
/* 蓝牙控制的避障机器人:Alok Talukdar 准备日期:09.05.2020*/#include // 使用 Arduino 上的任何引脚进行串行通信。// 定义 L298 电机的数字引脚control module.#define IN1 5 // 用于右侧电机#define IN2 4 // 用于右侧电机#define IN3 3 // 用于左侧电机#define IN4 2 // 用于左侧电机#define ENA 9 // 启用 A 进行 PWM 控制of right motor#define ENB 10 // Enable B for PWM control of left motor//定义RGB LED控制的数字引脚#define redLED 8#define greenLED A0#define blueLED 11//设置HC-SR04超声波传感器模块const int 触发引脚 =6; // TRIG 引脚连接到 Arduino Nanoconst 的引脚 D6 int echoPin =7; // ECHO 引脚连接到 Arduino Nanoint i,j,k =0 的引脚 D7;浮动持续时间,距离; //距离测量变量//设置HC05蓝牙模块SoftwareSerial mySerial(12,13)​​; // (12 --> RX , 13 --> TX) 字符串数据; // 蓝牙控制变量int btVal;void setup() { // 把你的设置代码放在这里,运行一次:pinMode(trigPin,OUTPUT); // 配置引脚 D6 以发射超声波脉冲 pinMode(echoPin,INPUT); // 配置引脚 D7 以接收超声波脉冲 mySerial.begin(9600); // 以波特率 9600 pinMode(IN1,OUTPUT) 配置软件串行; // 将 IN1 - IN4 配置为 OUTPUT 以控制电机 pinMode(IN2,OUTPUT); pinMode(IN3,OUTPUT); pinMode(IN4,OUTPUT); pinMode(ENA,输出); pinMode(ENB,输出); pinMode(红色LED,输出); pinMode(蓝色LED,输出); pinMode(绿色LED,输出);数字写入(IN1,低); // 配置 IN1 - IN4 的状态为 LOW digitalWrite(IN2,LOW);数字写入(IN3,低);数字写入(IN4,低);模拟写入(红色LED,255); // 关闭 LED。 RGB LED 为共阳极型。数字写入(蓝色LED,高); digitalWrite(greenLED,HIGH);}void loop(){ // 把你的主要代码放在这里,重复运行: while (mySerial.available()) { data =mySerial.readStringUntil('\n'); btVal =(data.toInt()); switch (btVal) { case 1:forward();数字写入(绿色LED,低);模拟写入(红色LED,255);数字写入(蓝色LED,高);分布();休息;情况 2:反向();数字写入(绿色LED,高);模拟写入(红色LED,255);数字写入(蓝色LED,低);休息;情况 3:左();休息;情况 4:对();休息;案例5:stoprobot();数字写入(绿色LED,高);模拟写入(红色LED,0);数字写入(蓝色LED,高);休息;默认值:digitalWrite(greenLED,HIGH);模拟写入(红色LED,255);数字写入(蓝色LED,高);休息; } if (mySerial.available() <0) { //Serial.println("无蓝牙数据"); }} // 电机控制函数声明 void forward() { for(i=0;i<=100;i++) { analogWrite(ENA,i);模拟写入(ENB,我);数字写入(IN1,高);数字写入(IN2,低);数字写入(IN3,低);数字写入(IN4,高); } } void reverse() { for(j=0;j<=100;j++) { analogWrite(ENA,j);模拟写入(ENB,j);数字写入(IN1,低);数字写入(IN2,高);数字写入(IN3,高);数字写入(IN4,低); } } void left() {analogWrite(ENA,127);模拟写入(ENB,0);数字写入(IN1,高);数字写入(IN2,低);数字写入(IN3,高);数字写入(IN4,高); } void right() { analogWrite(ENA,0);模拟写入(ENB,127);数字写入(IN1,高);数字写入(IN2,高);数字写入(IN3,低);数字写入(IN4,高); } void stoprobot() {analogWrite(ENA,0);模拟写入(ENB,0);数字写入(IN1,低);数字写入(IN2,低);数字写入(IN3,低);数字写入(IN4,低); } void dist() { digitalWrite(trigPin,LOW); // 通过 HC-SR04 的 TRIG 引脚发送一个脉冲 delayMicroseconds(2);数字写入(触发引脚,高);延迟微秒(10);数字写入(trigPin,低);持续时间 =pulseIn(echoPin,HIGH); // 读取脉冲的持续时间距离 =(duration*0.0343)/2; // 以厘米为单位测量距离。声速为 340 m/s 或 0.0343 cm/us if(distance<20) // 如果距离 <20 cms , 停止机器人 { stoprobot();数字写入(绿色LED,高);模拟写入(红色LED,0);数字写入(蓝色LED,高); } 延迟(1000); } 

示意图

机器人电路图。

制造工艺

  1. 具有基于视觉的避障功能的移动机器人
  2. 通过蓝牙控制的树莓派机器人
  3. 使用 Arduino 和 Raspberry Pi 构建您的 Internet 控制的视频流机器人
  4. 使用 Raspberry Pi 的手势控制机器人
  5. 由 ANDROID 智能手机控制的 RASPBERRY PI WIFI 机器人
  6. Windows 10 IoT Core:语音控制机器人
  7. 使用 Raspberry Pi 的 Wifi 控制机器人
  8. ROObockey:遥控、辅助瞄准的街头曲棍球机器人
  9. 使用人工智能避障
  10. 语音控制机器人
  11. 通过以太网控制的机械臂
  12. MobBob:由 Android 智能手机控制的 DIY Arduino 机器人