×

线跟随机器人开源硬件

消耗积分:0 | 格式:zip | 大小:0.06 MB | 2022-12-15

李巍

分享资料个

描述

介绍:

由于我们的许多追随者都要求提供指导他们制作基本机器人的教程,因此我们决定提供本教程来描述该Line Follower Robot的分步制作因此,您将找到所有必要的软件和硬件部件,按照这些步骤制作您自己的机器人。

注意:在这个项目中,PCB 设计的主要部分是使用EasyEDA平台制作的,因此请参阅 PCB 制作部分以了解有关此步骤的更多信息。

描述:

机器人是任何完全自动的机器:它自行启动,自行决定工作方式,然后自行停止。它是一个包含传感器、控制系统、机械手、电源和软件的系统,所有这些都协同工作,以快速和精确地自动执行任务。有许多不同类型的机器人需要它们执行的任务。

任何机器人都具有以下基本特征:感知、运动、能量和智能。

什么是线跟随机器人?

 

它被命名为 Line Follower Robot 仅仅是因为它遵循您为它设计的黑色轨道。所以我们需要两个直流电机来让它移动,并且确保像红外收发器这样的传感器来检测线路并跟随它,不要忘记我们项目中的 Arduino Nano 处理单元,但你可以使用其他微控制器来根据传感器驱动车轮。

 
poYBAGOYDoGATIVOAAByRh0xUWc030.png
 

我们需要一个 L293 电机驱动器,它允许我们控制直流电机的方向和速度。所以如果要让机器人左转,你应该减慢左电机,加快右电机,右转的情况相反,并保持两个电机以相同的速度运行以进行直线运动。

 
poYBAGOYDoOAY-WZAABrxe_w9KE383.png
 

但是如何找到黑线!

为了使机器人跟随路线,采用红外传感器,黑色表面吸收光而白色表面反射光。传感器安装在机器人的左前端和右前端,将黑线保持在它们之间,直到传感器获得反射光。比较器将逻辑 1 发送到微控制器,然后微控制器打开与传感器关联的电机。当任何传感器出现在黑线上时,微控制器会停止与该传感器关联的电机,并使机器人朝黑线的方向转动。

当机器人到达终点并且两个传感器都获得黑色表面时,机器人停止。

 
poYBAGOYDoiANJpkAABm2TLZwLA213.png
 

机构设计

机器人应该有一个结构来容纳电子部件,所以我们为机器人做了一些软件设计——我指的是机器人机构。为此,我使用 SolidWorks 软件为机器人制作了上底座和下底座。如果您想制作一些 CNC 激光切割并生产您自己的机械装置,我提供了 (.dxf) 文件。

下载 DXF 文件

 
poYBAGOYDo2AMw4DAACdz85Qjo0173.jpg
 

使用 EasyEDA 平台的 PCB 设计

获取原理图和PCB

 
pYYBAGOYDpGAQThQAAC6__TZIDo164.png
 

关于立创达!

EasyEDA 是一个免费的在线电子设计自动化社区,允许创建、测试和编辑原理图和 PCB。

在此处找到 EasyEDA 平台的链接。

所有平台甚至 Android 都支持此在线程序。使用 EasyEDA,您可以为您的文档、威廉希尔官方网站 仿真和在线 PCB 设计进行原理图捕获,并具有导入 PCB 和原理图文件的能力。所以从这一点我们可以理解,我们可以在这个在线设计器中创建PCB,或者只是用其他软件制作,然后将Gerber文件上传到EasyEDA下订单。

 
poYBAGOYDpeAV4y0AAITbSt_yDg069.png
 

如何设计PCB并订购!

像往常一样,我们需要从这里运行EasyEDA平台,然后开始一个新项目并导入Arduino Nano,L293电机驱动器,接头连接器等必要的组件,并将它们连接在一起,使威廉希尔官方网站 如图所示. 之后,只需单击convert project to PCB ,然后您将获得您的 PCB 设计区域。我建议您直接单击以下链接自动获取 PCB:直线跟随机器人项目的直接链接

您也可以在订购前使用 PCB 查看器检查 PCB,我提供了一张显示我们设计的 PCB 的图片。完成设计后,进入制造输出并设置一些参数。对我来说,我更喜欢黑色的 PCB。付款并等待交货。

 
poYBAGOYDqeAUS_NAAeg3oJYYSs786.jpg
 

五天后,我拿到了我的 PCB,黑色、圆形、我们机器人的名称 - PICTO92 以及我制作的所有标签都非常棒。其实这不是EasyEDA第一次给我留下深刻印象。这种高质量的制作是意料之中的。

查看组件

 
poYBAGOYDtCAHHzOAAkupAdEWzw547.jpg
 

为了制作这个项目,您将需要以下组件:

  • 有机玻璃机制

大会

 
poYBAGOYDtaARx1yAADyD36VIl4211.png
 

您需要知道的只是如何将组件焊接到 PCB 上并完成如图所示的威廉希尔官方网站 。我们在 PCB 上提供了一些标签来指导焊接组件。

 
poYBAGOYDt6AAX1BAADxodk_D0c139.png
 

之后,使用螺钉将直流电机、红外传感器连接到有机玻璃结构上,一些跳线将帮助您通过接头连接器将传感器和电机连接到 PCB。

 
pYYBAGOYDuGAOs29AAEMaCxwoc0742.png
 

如图所示,蓝色 LED 指示电源存在,两个红色 LED 放置在两侧以指示电机电源存在。

代码和验证测试

 
poYBAGOYDuWAKzoZAAGs17Basak061.png
 

组装机器人后,最后一部分是控制机器人并使其遵循您为其设计的轨道的源代码。为了使您的作业更加轻松,我们为您制作了代码。正如您在图片中看到的那样,代码注释很好并且充满指导性,让您可以根据自己的需要对其进行调整,因此您可以根据您的机器人结构和技术对其进行修改。您可以从这里下载源代码。

 
poYBAGOYDuqAAeF5AABqeZb0crw843.png
 

 

 
poYBAGOYDvCAKQe0AAB7hsrGIiE167.png
 

 

 
poYBAGOYDvaAEnhvAACLH43Y1UQ556.png
 

我做了一条黑色轨道来测试机器人。正如您在图片中看到的那样,机器人成功地到达了终点线,所以我们可以说我们成功了。我们的机器人在移动和双向转弯时表现出很好的行为,同时沿着轨道没有问题。

这就是本教程的内容。随意翻阅它,并通过评论向我们询问您想了解的有关此项目的任何信息。


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

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"//m.obk20.com/www/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'线跟随机器人开源硬件',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"https://www.elecfans.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);