0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样制作一个操纵杆来控制机器人

454398 来源:工程师吴畏 2019-08-07 10:43 次阅读

零件清单: -

Arduino Nano - 2

RF 433 Mhz发射器 - 接收器模块 - 1

L293D - 1

操纵杆 - 1

面包板-1

纸板 - 根据需要

脚轮 - 1

BO马达 - 2

BO电动轮 - 2

LiPo电池 - 1

跳线 - 根据需要

步骤1:模块规范

我们使用RF发射器接收器模块(如上图所示)将数据从我们的操纵杆传输到机器人

变送器

工作电压:3V - 最大12V。电源使用12V

工作电流:最大值小于40mA,最小值为9mA

谐振模式:(SAW)

调制模式:ASK

工作频率:Eve 315MHz或433MHz

传输功率:25mW(12V时为315MHz)

频率误差:+ 150kHz(最大值)

速度:小于10Kbps

因此该模块将在开放区域内传输长达90米。

接收器:

工作电压:5.0VDC + 0.5V

工作电流:最大≤5.5mA

工作方式:OOK/ASK

工作频率:315MHz-433.92MHz

带宽:2MHz

灵敏度:excel -100dBm(50Ω)

发射速度:《9.6Kbps(315MHz和-95dBm)

注意: - 使用可选天线会增加无线通信的有效性。一个简单的电线就可以解决问题。

操纵杆 -

模拟操纵杆是在项目中添加一些控制的好方法。

我们需要5个连接到操纵杆。

连接是:键,Y,X,电压和地。 “Y和X”是模拟,“键”是数字。

如果您不需要开关,那么您只能使用4个引脚。

第2步:原理图

此模块的连接非常简单。

for Transmitter :

Vcc 》》》》 5V

ATAD 》》》 D4“您可以根据需要从软件中进行更改”。

Gnd 》》》 Gnd

接收器:

Vcc 》》》》 5V

数据》》》 D2

Gnd 》》》 Gnd

操纵杆: -

Vcc的》》》》 5V

GND 》》》 GND

X 》》》 A0

Y》 》》 A1

Key 》》》 D2“只有在你需要使用它时才将它连接到arduino”

L293D: -

10 》》》 D6

15 》》》 D5

2 》》》 D9

7 》》》 D10

1,8,9,16 》》》 5V

4,5,12,13 》》》 GND

11,14 》》》电机A

3,6 》》》电机B

步骤3:代码

只需将此代码复制到Arduino IDE即可。你必须在一个Aduino程序中将发射器的代码和接收器的代码复制到另一个程序。

发射器的代码将被上传到操纵杆接口的arduino,接收器的代码将被连接到机器人上的arduino。

发射器代码: -

(注意: -

首先使用操纵杆进行校准串行监视器,以获得你的操纵杆各自的值)。

AS我必须发送4个数据位,我使用了4个发送器腿来发送4位而不是一个数据位,如图所示)

void setup(){

//将设置代码放在这里,运行一次:

pinMode(5,OUTPUT);

pinMode(6,OUTPUT);

pinMode(9,OUTPUT);

pinMode(10,OUTPUT);

//Serial.begin(9600);

}

void loop(){

int a = analogRead(A0) ;

int b = analogRead(A1);

//Serial.print(a);

//Serial.print(“\\”);

//Serial.println(b);

if(b》 = 700& b 《1023& a》 = 500&& a 《= 540){

digitalWrite(5,0) );//FORWARD

digitalWrite(6,1);

digitalWrite(9,0);

digitalWrite(10,1);

}

if(b 《200& a》 = 500&& a 《= 540 ){

digitalWrite(5,1);//REVERSE

digitalWrite(6,0);

digitalWrite(9,1);

digitalWrite(10,0);

}

if(a》 = 700& a 《1023& b》 = 500 && b 《= 540){

digitalWrite(5,0);//right

digitalWrite(6,1);

digitalWrite(9,1);

digitalWrite(10,0);

}

if(a 《200& b》 = 500&& b 《= 540 ){

digitalWrite(5,1);//left

digitalWrite(6,0);

digitalWrite(9,0);

digitalWrite(10,1);

}

if(a》 = 500& a 《= 540& b》 = 500&& b 《= 540){

digitalWrite(5,0);//停止

digitalWrite(6,0);

digitalWrite(9,0);

digitalWrite(10,0);

}

}

接收者代码: -

(注意: - 由于我必须接收4个数据位,我使用了4个接收器而不是一个数据位,如原理图所示。

void setup (){

//将设置代码放在这里,运行一次:

pinMode(9,INPUT);

pinMode(10,INPUT);

pinMode(11,INPUT);

pinMode(12,INPUT);

pinMode(5,OUTPUT);

pinMode(6,OUTPUT );

pinMode(9,OUTPUT);

pinMode(10,OUTPUT);

}

void loop(){

int a,b,c,d;

a = digitalRead(9);

b = digitalRead(10);

c = digitalRead(11);

d = digitalRead(12);

if(a == 0&& b == 1&& c == 0&& d == 1){

digitalWrite(5,1);

digitalWrite(6,0);

digitalWrite(9, 1);

digitalWrite(10,0);

}

if(a == 1&& b == 0&& c == 1&& d == 0){

digitalWrite(5,0);

digita l写(6,1);

digitalWrite(9,0);

digitalWrite(10,1);

}

if(a == 0&& b == 1&& c == 1&& d == 0){

digitalWrite(5,0);

digitalWrite(6,1);

digitalWrite(9,1);

digitalWrite(10,0);

}

if(a == 1&& b == 0&& c == 0&& d == 1){

digitalWrite(5,1);

digitalWrite(6,0);

digitalWrite(9,0);

digitalWrite(10,1);

}

if(a == 0&& b == 0&& c == 0&& d == 0){

digitalWrite(5,0);

digitalWrite(6,0);

digitalWrite(9,0);

digitalWrite(10,0);

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 机器人
    +关注

    关注

    210

    文章

    28210

    浏览量

    206546
  • RF
    RF
    +关注

    关注

    65

    文章

    3042

    浏览量

    166827
收藏 人收藏

    评论

    相关推荐

    协作机器人拽拖示教详解

    示范机器人执行特定任务或动作的方式。这可以通过直接拖动机器人手臂或使用外部设备(如操纵杆、手柄等)完成。      动作记录:机器人记录操
    的头像 发表于 10-23 15:52 126次阅读

    基于导纳控制机器人拖动示教原理和实现步骤

    不同的任务需求和工作环境。      5.用户互动:导纳控制常用于人机互动,用户可以通过手动操作机器人的末端或操纵杆引导机器人的运动,实现
    的头像 发表于 10-23 15:52 125次阅读

    开源项目!用ESP32做一个可爱的无用机器人

    简介 作者在完成硕士论文答辩后,利用空闲时间制作直想做的机器人——可爱无用机器人
    发表于 09-03 09:34

    开源项目!用ESP32做一个可爱的无用机器人

    简介 作者在完成硕士论文答辩后,利用空闲时间制作直想做的机器人——可爱无用机器人
    发表于 08-30 14:50

    柔性机器人和刚性机器人有什么区别?

    则由刚性及其关节连接构成,运动自由度相对较少。控制方式:柔性机器人通常采用基于力和视觉感知的控制系统,而刚性机器人则主要采用编程
    的头像 发表于 08-16 10:17 452次阅读
    柔性<b class='flag-5'>机器人</b>和刚性<b class='flag-5'>机器人</b>有什么区别?

    Al大模型机器人

    和迭代不断改进自身性能。它们可以从用户交互中学习并根据反馈进行调整,以提高对话质量和准确性。可定制性与整合性: AI大模型机器人可以根据特定需求进行定制和整合,以满足不同场景和应用的要求。它们可以与其
    发表于 07-05 08:52

    如何使用PLC控制机器人

    高可靠性、强适应性和易编程性等特点,成为机器人控制领域的重要工具。本文将详细介绍如何使用PLC控制机器人,包括PLC在机器人
    的头像 发表于 06-17 10:50 1481次阅读

    基于FPGA EtherCAT的六自由度机器人视觉伺服控制设计

    概述 中国制造 2025 是中国政府实施制造强国战略的第一个十年行动纲领,是全面提升中国制造业发展质量和水平的重大战略部署,其中明确指出了围绕工业机器人创新技术的重要地位。目前工业机器人
    发表于 05-29 16:17

    从虚拟操纵到现实驾驶 迈芯磁力计技术引领无限可能

    磁强力计与三轴技术的完美结合,在游戏控制台的操纵杆领域已大放异彩。
    的头像 发表于 03-22 13:58 411次阅读

    高压放大器在介电弹性体折纸术软体机器人中的应用

    方式通过非常狭窄的通道。由于身体的柔软性,软体机器人接触尖锐的物体后还不会受到伤害,这特性使得它们能够进入人体进行药物运输,或者作为医疗手术中的操作员进行临床手术。实际上,柔性驱动器已经作为操纵器被
    发表于 02-27 17:15

    LabVIEW的六轴工业机器人运动控制系统

    LabVIEW开发六轴工业机器人运动控制系统 本项目开发了高效的工业机器人控制系统,重点关注
    发表于 12-21 20:03

    工业机器人产业发展及应用现状

    机器人(Robot)是种能够半自主或全自主工作的智能机器机器人能够通过编程和自动控制执行诸
    发表于 12-21 16:07 1421次阅读
    工业<b class='flag-5'>机器人</b>产业发展及应用现状

    如何保持操纵机构丝的精度?

    滚珠丝操纵机构中的重要组成部分,可以传递较高的扭矩,并且具有低摩擦、高效率和快速响应的特性,这使得操纵机构能够实现高速、高精度的运动控制,这对于整个系统的性能和精度具有决定性的影响
    的头像 发表于 12-04 17:45 468次阅读
    如何保持<b class='flag-5'>操纵</b>机构丝<b class='flag-5'>杆</b>的精度?

    基于导纳控制机器人拖动示教原理和实现步骤

    基于导纳控制机器人拖动示教是种常用的机器人控制策略,它允许
    的头像 发表于 12-04 09:48 5256次阅读
    基于导纳<b class='flag-5'>控制</b>的<b class='flag-5'>机器人</b>拖动示教原理和实现步骤

    如何在树莓派Pico上使用摇杆?

    模拟二轴拇指操纵杆(俗称摇杆)是种模拟操纵杆,相比于「方向」操纵杆更加准确和灵敏,它带有
    的头像 发表于 11-28 09:20 2129次阅读
    如何在树莓派Pico上使用摇杆?