资料介绍
描述
今天我们将制作一个Arduino控制的机器人。它有点类似于我之前的项目。唯一的区别是我没有使用陀螺仪传感器,而是使用了操纵杆模块。机器人使用 Rf (ASK) 发射器和接收器模块进行无线控制。这两个电路均由两个 Arduino 板组成,均使用 9 V 电池供电。
在职的 -
这个项目的工作非常简单。操纵杆模块为 X 和 Y 轴运动提供模拟值。然后借助各种 if else 语句将该值与设置值进行比较。并据此向接收方发送一个字符。就像在这种情况下,字符“a”被发送用于机器人的向前移动。
这些字符然后由另一端的 Rf 接收器接收。接收器的工作就是接收字符并将其发送到 Arduino。Arduino 然后根据发送的字符移动机器人。运动由 L293d 电机驱动模块控制。这是该项目的基本工作。现在让我们开始构建这个机器人。
第 1 步:获取耗材!!!
购买耗材是任何项目的关键部分。最重要的是价格合适。为此,我建议您从UTSource.net网站购买它们。他们以低成本和快速运输提供优质组件。他们还为制造商和原型制造商提供高质量的 PCB。现在就去看看他们,并利用他们免费的一个月 Plus 会员试用,这给客户带来了很多好处。
现在让我们快速浏览一下构建这个机器人所需的东西:
1. Arduino Uno 开发板 x 2
2.摇杆模组x 1
3. 射频发射和接收模块 x 1
4. 电机驱动模块 (L293D) x 1
5. 面包板 x 2
6. 带轮子和电机的金属底盘。
7.带领
8. 头线
9.电池(9V)
第 2 步:电路图
该项目的电路图非常简单。构建这个项目大约只需要 10 分钟。连接显示在上面的电路图中。操纵杆模块连接到两个模拟输入,发射器连接到数字引脚。这里我使用了 pin 12。你可以使用串行端口,但这会在上传草图时导致问题。因此,改为使用虚拟线库并将其他一些引脚设为 tx 引脚。
接收器部分由电机驱动模块和射频接收器组成。我们在这里再次使用了虚拟线库。如果接收到字符,则连接一个 LED 以获取状态。两块板均使用 9 V 电池供电。一个单独的电池用于为电机驱动模块供电。
第 3 步:上传草图
现在让我们将草图上传到 Arduino 板上。你可以从下面得到草图。
// 发送器代码
#include
const int X_AX = A0;
const int Y_AX = A1;
void setup()
{
Serial.begin(9600);
Serial.println("setup");
vw_setup(2000);
vw_set_tx_pin(12);
}
void loop()
{
int xval = analogRead(X_AX);
int yval = analogRead(Y_AX);
if(xval<=261&&xval>=0)
{
char *msg2 = "a";//send a to the receiver
vw_send((uint8_t *)msg2, strlen(msg2));
vw_wait_tx();
Serial.println("a");
}
else if(xval<=1023&&xval>=782)
{
char *msg2 = "b";
vw_send((uint8_t *)msg2, strlen(msg2));
vw_wait_tx();
Serial.println("b");
}
else if(yval<=261&&yval>=0)
{
char *msg2 = "c";
vw_send((uint8_t *)msg2, strlen(msg2));
vw_wait_tx();
Serial.println("c");
}
else if(yval<=1023&&yval>=782)
{
char *msg2 = "d";
vw_send((uint8_t *)msg2, strlen(msg2));
vw_wait_tx();
Serial.println("d");
}
else
{
char *msg2 = "e";
vw_send((uint8_t *)msg2, strlen(msg2));
vw_wait_tx();
Serial.println("e");
}
}
// RECIEVER CODE
#include //Motor A right
const int motorPin1 = 9; // Pin 9 of L293D
const int motorPin2 = 10; // Pin 10 of L293D
//Motor B left
const int motorPin3 = 11; // Pin 11 of L293D
const int motorPin4 = 12; // Pin 12 of L293D
void setup()
{
Serial.begin(9600);
Serial.println("setup");
vw_setup(2000);
vw_set_rx_pin(8);
vw_rx_start();
pinMode(13, OUTPUT);
//digitalWrite(13, HIGH);
pinMode(motorPin1, OUTPUT);
pinMode(motorPin2, OUTPUT);
pinMode(motorPin3, OUTPUT);
pinMode(motorPin4, OUTPUT);
}if (vw_get_message(buf, &buflen))
{
int i;
for (i = 0; i < buflen; i++)
{
if(buf[i] == 'a')//if button a is pressed.... i.e.forward buton
{
digitalWrite(13, HIGH);
Serial.println("Forward");
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);//FORWARD
digitalWrite(motorPin3, LOW );
digitalWrite(motorPin4, HIGH);
}
if(buf[i] == 'b')
{
digitalWrite(13, HIGH);
Serial.println("Backward");
digitalWrite(motorPin1, HIGH);
digitalWrite(motorPin2, LOW);//REVERSE
digitalWrite(motorPin3, HIGH);
digitalWrite(motorPin4, LOW);
}
if(buf[i] == 'c')
{
digitalWrite(13, HIGH);
Serial.println("Left");
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);//LEFT
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, HIGH);
}
if(buf[i] == 'd')
{
digitalWrite(13, HIGH);
Serial.println("Right");
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, HIGH);//RIGHT
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
}
if(buf[i] == 'e')
{
digitalWrite(13, LOW);
Serial.println("Stop");
digitalWrite(motorPin1, LOW);
digitalWrite(motorPin2, LOW);//STOP
digitalWrite(motorPin3, LOW);
digitalWrite(motorPin4, LOW);
}
Serial.print(" ");
}
Serial.println("");
}
}
上传代码后,连接电池并运行您的项目。如果机器人向操纵杆的相反方向移动,则只需交换电机线即可。
第 4 步:项目的运作
。如果您喜欢我制作的内容,请不要忘记与您的朋友分享这个教程。也关注我,因为我经常想出这样的项目。如果您对此项目有任何疑问,请在下方评论。我会尽力帮助你。就这样吧。看到你会与另一个很棒的项目。谢谢你。
.
- 如何制作Arduino智能移动机器人
- 制作一个基于Arduino的边缘避让机器人
- 使用Arduino制作两轮机器人
- 使用Arduino和L293d shield制作语音控制机器人
- 如何使用Arduino Uno制作智能避障机器人
- 如何在没有Arduino情况下制作机器人
- 如何制作Arduino人类跟随机器人
- 如何制作与Arduino配合使用的避障机器人
- 如何使用Arduino制作跟随机器人
- 如何制作Arduino相扑机器人
- Arduino和微型伺服系统制作的机器人
- 如何在家制作DIY Arduino手势控制机器人
- 基于Arduino系统拉线墙画机器人设计制作 10次下载
- Arduino教学机器人的使用教程免费下载 38次下载
- Arduino机器人制作指南-奥松机器人 34次下载
- 如何使用PLC控制机器人 794次阅读
- 如何利用Arduino UNO制作一个爬楼梯机器人 3992次阅读
- 如何使用Arduino制造一个自动平衡机器人 4429次阅读
- 基于SMARS 机器人的3D打印部件设计 3228次阅读
- 基于使用Arduino板及电机驱动器对机器人进行编程介绍 3660次阅读
- dfrobotDevastator履带机器人移动平台简介 1515次阅读
- 机器人控制系统分类_机器人控制系统有哪些 2.6w次阅读
- 工业机器人技术应用 5176次阅读
- 机器人控制器有哪些类型_机器人控制器发展 1.1w次阅读
- 协作机器人的起源_为什么需要协作机器人 8127次阅读
- 移动机器人控制系统设计与仿真 3433次阅读
- 简易机器人制作图解 1w次阅读
- 机器人的运动控制的介绍和如何将机器人的运动控制分成4种任务 1w次阅读
- 基于PLC的机器人伺服运动控制系统设计详解 1.5w次阅读
- 软体机器人 前所未见的机器人 3692次阅读
下载排行
本周
- 1ADI高性能电源管理解决方案
- 2.43 MB | 450次下载 | 免费
- 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
- 5.67 MB | 136次下载 | 1 积分
- 3基于STM32单片机智能手环心率计步器体温显示设计
- 0.10 MB | 125次下载 | 免费
- 4USB Type_C PD快充协议智能触发芯片FS8025B应用手册
- 1.48 MB | 3次下载 | 免费
- 5USB的PD快充协议电压诱骗控制器FS312A中文手册
- 1.51 MB | 2次下载 | 免费
- 6USB的PD和OC快充协议电压诱骗控制器FS312B中文手册
- 1.35 MB | 2次下载 | 免费
- 7基于三相二电平PFC和隔离DC-DC转换器的11kW双向电池充电器
- 618.10 KB | 2次下载 | 免费
- 8ADI公司串行端口开发和故障排除指南
- 343.09KB | 1次下载 | 免费
本月
- 1ADI高性能电源管理解决方案
- 2.43 MB | 450次下载 | 免费
- 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
- 5.67 MB | 136次下载 | 1 积分
- 3基于STM32单片机智能手环心率计步器体温显示设计
- 0.10 MB | 125次下载 | 免费
- 4使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 53314A函数发生器维修手册
- 16.30 MB | 31次下载 | 免费
- 6美的电磁炉维修手册大全
- 1.56 MB | 22次下载 | 5 积分
- 7使用TL431设计电源
- 0.67 MB | 10次下载 | 免费
- 8如何正确测试电源的纹波
- 0.36 MB | 10次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935119次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420062次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233084次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73807次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65987次下载 | 10 积分
评论
查看更多