当前位置: 首页 > news >正文

个人博客网站如何做SEO天津做网站的公司有哪些

个人博客网站如何做SEO,天津做网站的公司有哪些,做一个企业网站要多少钱,怎么卖wordpress主题使用Arduino Uno构建一个巡线机器人 原文 MX 巡线机器人#xff08;**LFR#xff09;**是一种简单的自主引导机器人#xff0c;它遵循在地面上绘制的线来检测白色表面上的暗线或黑暗表面上的白线。在本教程中#xff0c;使用 Arduino Uno 和一些易于访问的组件构建黑线跟…使用Arduino Uno构建一个巡线机器人 原文 MX 巡线机器人**LFR**是一种简单的自主引导机器人它遵循在地面上绘制的线来检测白色表面上的暗线或黑暗表面上的白线。在本教程中使用 Arduino Uno 和一些易于访问的组件构建黑线跟随机器人。 巡线机器人的原理 如前所述巡线机器人LFR跟随一条线为了跟随一条线机器人必须首先检测这条线。现在的问题是如何在LFR中实现线路检测机制。我们都知道光在白色表面上的反射最大在黑色表面上最小因为黑色表面吸收的光量最大。因此我们将使用光的这种特性来检测线。为了检测光可以使用LDR光相关电阻或红外传感器。对于这个项目我们将使用红外传感器因为它的精度更高。为了检测生产线我们使用两个红外传感器一个放置在机器人的左侧另一个位于机器人的右侧如下图所示。然后我们将机器人放在生产线上使生产线位于两个传感器的中间。我们已经介绍了详细的Arduino IR传感器教程您可以查看该教程以了解有关Arduino Uno红外传感器工作的更多信息。 红外传感器由两个元件组成发射器和接收器。发射器基本上是一个红外LED它产生信号红外接收器是一个光电二极管它感测发射器产生的信号。红外传感器在物体上发射红外光击中黑色部分的光被吸收从而产生低输出但击中白色部分的光反射回发射器然后由红外接收器检测到从而提供模拟输出。使用所述原理我们通过驱动连接到电机的轮子来控制机器人的运动电机由微控制器控制。 巡线器机器人如何导航 一个典型的巡线机器人有两组电机我们称它们为左电机和右电机。两个电机分别根据从左侧和右侧传感器接收到的信号旋转。机器人需要执行 4 组运动包括向前移动、向左转、向右转和停止。下面对这些案例进行了描述。 向前移动 在这种情况下当两个传感器都在白色表面上并且线位于两个传感器之间时机器人应该向前移动即两个电机都应该旋转使机器人向前移动实际上两个电机都应该以相反的方向旋转因为电机在我们的设置中放置了。但为了简单起见我们将电机称为向前旋转。 左转 在这种情况下左侧传感器位于暗线顶部而右侧传感器位于白色部分因此左侧传感器检测到黑线并向微控制器发出信号。由于信号来自左侧传感器因此机器人应转向左侧方向。因此左电机向后旋转右电机向前旋转。因此机器人转向左侧。 右转 这种情况类似于左情况但在这种情况下只有右传感器检测到线这意味着机器人应该向正确的方向转动。为了使机器人朝右方向转动左电机向前旋转右电机向后旋转结果机器人转向右方向。 停止 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DibJ5Kgx-1678253327381)(null)] 在这种情况下两个传感器都位于线路顶部它们可以同时检测黑线微控制器被馈送以将这种情况视为停止过程。因此两个电机都停止了这导致机器人停止移动。 制造Arduino线跟随机器人所需的组件 Arduino Uno - 1NosL293D 电机驱动板 - 1 Nos红外传感器模块 -2 Nos7.4 或 9V 电池 -1 NosBO 电机 - 2 Nos电机轮(Motor wheel ) - 2 Nos脚轮(Castor wheel) - 1 Nos机器人底盘(robot chassis) - 1 Nos电线(Wires)螺 杆(Screw) [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2JyuvlMG-1678253327877)(null)] 电路图和组装基于 Arduino 的巡线器机器人 该电路主要由四部分组成两个红外传感器一个电机驱动板两个电机一个Arduino一个电池和几根连接线。传感器检测从表面反射的红外光并将输出馈送到板载运算放大器比较器。当传感器位于白色背景上时传感器发出的光被白色地面反射并被接收器接收。但是当传感器位于黑色背景上方时来自光源的光线不会反射到它身上。传感器感根据反射光的强度以提供输出。传感器的输出被馈送到微控制器微控制器向电机驱动板发出命令以相应地驱动电机。在我们的项目中Arduino Uno使机器人向前移动向右或向左转并根据来自传感器的输入停止。Arduino的输出被馈送到电机驱动板。 为什么我们需要电机驱动板 这里使用电机驱动板的原因是因为 Arduino 的输出信号不足以驱动电机此外我们需要在两个方向上旋转电机因此我们使用电机驱动板根据需要驱动电机并且电机驱动板能够提供足够的电流来驱动电机。在这里我们使用L293D电机驱动板这是一个双h桥电机驱动板足以满足我们的2个电机的需求。 L293D 有 16 个引脚L293D 的引脚排列如下图所示。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9GC9eTfR-1678253329173)(null)] 电机驱动板引脚的连接如下 引脚 1 和 9 是使能引脚我们将这两个引脚连接到 5v 输入以启用电机。 引脚编号 1A、2A、3A 和 4A 是控制引脚。 例如。如果引脚 1A 变低而 2A 变高电机将向右转动如果 1A 变低2A 变高电机将向左转动。因此我们将这些引脚连接到解码器的输出引脚。 引脚 1Y、2Y、3Y 和 4Y 是电机连接引脚。 注意Vcc2 是电机驱动电压引脚仅在使用高压电机时使用。 Arduino Uno与电机驱动板的引脚连接如下 在这里我们使用7.4锂离子电池为整个电路供电。您可以使用 6-12 伏的任何电池类型。为了移动机器人我们需要使用低转速但扭矩足够高的电机来承载机器人的重量。因此我为该机器人选择了两个60 RPM 6V电池供电的减速电机。 装配巡线机器人 一旦我们了解了所有组件的连接我们就可以开始组装我们的LFR。我已经在页面底部提供的视频中解释了机器人的分步组装过程。 要制造这个机器人首先我们需要一个机器人身体在这里我使用的是自制机箱。您可以使用现成的机箱也可以自己构建一个。 现在借助一些热胶将BO电机放在机箱上如下图所示。 下一步是将电机驱动板放在底盘上并将电机线连接到电机驱动板的输出。 接下来弯曲红外 LED 和传感器如图所示。 然后将传感器放在机器人的下侧根据轨道宽度和机器人宽度调整传感器。请记住一个传感器用于左侧检测另一个传感器用于右侧检测。 现在使用胶水放置Arduino uno并将传感器输出引脚连接到Arduino的数字引脚2和4。 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y0akTEwc-1678253328528)(null)] 将 VCC 引脚连接到 5 伏将接地引脚接地。 现在将电机驱动板的使能引脚连接到Arduino的引脚5和8并将电机驱动板输入引脚分别连接到Arduino的引脚679和10。 最后将电池与电路连接并将电池放在机箱上。在这里我用跳线连接了所有东西。要进行永久设置您可以直接将所有内容焊接在一起。 现在将电路板倒置在热胶枪的帮助下如下图所示安装脚轮。 最后添加轮子。为了提高安全性我还添加了塑料板作为保险杠。 Arduino 巡线器机器人代码 巡线机器人的编程部分非常简单我们只需要基本的Arduino功能。该项目的完整程序可以在本页底部找到。该程序的说明如下 第一步是定义我们正在使用的每个Arduino引脚。我从驱动驱动板引脚和传感器引脚开始。在这里我评论了每一行代码以便您轻松理解。 #define enA 5 //Enable1 L293 Pin enA#define in1 6 //Motor1 L293 Pin in1#define in2 7 //Motor1 L293 Pin in1#define in3 9 //Motor2 L293Pin in1#define in4 10 //Motor2 L293 Pin in1#define enB 8 //Enable2 L298 Pin enB#define R_S 4 // Right sensor#define L_S 2 // Left sensor在循环部分中声明每个引脚的引脚模式。在这里我们需要读取红外传感器的输出因此我将这些引脚定义为输入。电机需要由Arduino驱动因此将电机驱动板引脚定义为输出。最后我把使能销拉到高。 pinMode(R_S, INPUT); pinMode(L_S, INPUT); pinMode(enA, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); pinMode(in3, OUTPUT); pinMode(in4, OUTPUT); pinMode(enB, OUTPUT); digitalWrite(enA, HIGH); digitalWrite(enB, HIGH);在回路部分我们首先读取红外传感器的值然后根据我们的要求使用“if condition”控制电机的运动。下面解释四种运动条件。 前进 if((digitalRead(R_S) 0)(digitalRead(L_S) 0)){forward()} 在这种情况下如果右传感器和左传感器位于白色之上则机器人应该向前移动因此我们调用向前函数。 注意这里0表示红外传感器的输出很高因为传感器在白色表面上 转向右侧 if((digitalRead(R_S) 1)(digitalRead(L_S) 0)){turnRight()} 如果右传感器检测到黑色并且左传感器未检测到任何黑线则它将调用右函数通过调用右转函数启动右转的协议。 转向左侧 if((digitalRead(R_S) 0)(digitalRead(L_S) 1)){turnLeft()} 如果右传感器在白色上而左传感器检测到黑色那么它将调用 turnLeft 函数。它将启动将机器人向左转动的步骤。 停止机器人 if((digitalRead(R_S) 1)(digitalRead(L_S) 1)){Stop()} 如果右传感器和左传感器为黑色则它将调用 Stop 函数。在这种情况下机器人将完全停止。 我们将机器人的 4 个功能定义为前进、左转、右转和停止。执行这些功能的代码如下 转发功能 void forward(){ digitalWrite(in1, HIGH) digitalWrite(in2, LOW) digitalWrite(in3, LOW) digitalWrite(in4, HIGH)}这意味着我们将电机驱动板的输入 1 和 4 拉到高电平因此两个电机都将像这样向前移动 我做了其他功能 右转功能 void turnRight(){ digitalWrite(in1, LOW) //Right Motor forword Pin digitalWrite(in2, HIGH) //Right Motor backword Pin digitalWrite(in3, LOW) //Left Motor backword Pin digitalWrite(in4, HIGH) //Left Motor forword Pin}左转功能 void turnLeft(){digitalWrite(in1, HIGH); //Right Motor forword PindigitalWrite(in2, LOW); //Right Motor backword PindigitalWrite(in3, HIGH); //Left Motor backword PindigitalWrite(in4, LOW); //Left Motor forword Pin}停止功能 void Stop(){digitalWrite(in1, LOW); //Right Motor forword Pin digitalWrite(in2, LOW); //Right Motor backword Pin digitalWrite(in3, LOW); //Left Motor backword Pin digitalWrite(in4, LOW); //Left Motor forward Pin所以这就是编码的全部内容。现在我们需要将代码上传到Arduino为此请使用USB电缆将Arduino与计算机连接然后使用Arduino IDE上传此代码。 测试和校准 我们已经组装了机器人并上传了代码所以现在是时候看看它的实际运行了如果它无法遵循这条线那么我们将不得不校准机器人。对于首先将机器人放在黑色表面上两个传感器都应位于黑色表面上然后调整红外模块的可变电阻直到红外模块的输出LED熄灭。接下来将机器人放在白色表面上并检查 LED 是否打开如果没有则只需调整可变电阻即可。再次重复该过程以确保输出 LED 按照要求运行。 现在既然我们已经校准了机器人我们需要做的就是将机器人放在黑线的顶部看看它是如何运作的。 生产线跟随机器人的完整制作可以在本页底部链接的视频中找到。如果您有任何疑问请在评论部分留下。 代码 // Arduino Line Follower Robot Code #define enA 5 //Enable1 L293 Pin enA #define in1 6 //Motor1 L293 Pin in1 #define in2 7 //Motor1 L293 Pin in1 #define in3 9 //Motor2 L293 Pin in1 #define in4 10 //Motor2 L293 Pin in1 #define enB 8 //Enable2 L293 Pin enB #define R_S 4 //ir sensor Right #define L_S 2 //ir sensor Left void setup() {pinMode(R_S, INPUT);pinMode(L_S, INPUT);pinMode(enA, OUTPUT);pinMode(in1, OUTPUT);pinMode(in2, OUTPUT);pinMode(in3, OUTPUT);pinMode(in4, OUTPUT);pinMode(enB, OUTPUT);digitalWrite(enA, HIGH);digitalWrite(enB, HIGH);delay(1000); } void loop() {if ((digitalRead(R_S) 0) (digitalRead(L_S) 0)) { forward(); } //if Right Sensor and Left Sensor are at White color then it will call forword functionif ((digitalRead(R_S) 1) (digitalRead(L_S) 0)) { turnRight(); } //if Right Sensor is Black and Left Sensor is White then it will call turn Right functionif ((digitalRead(R_S) 0) (digitalRead(L_S) 1)) { turnLeft(); } //if Right Sensor is White and Left Sensor is Black then it will call turn Left functionif ((digitalRead(R_S) 1) (digitalRead(L_S) 1)) { Stop(); } //if Right Sensor and Left Sensor are at Black color then it will call Stop function } void forward() { //forworddigitalWrite(in1, HIGH); //Right Motor forword PindigitalWrite(in2, LOW); //Right Motor backword PindigitalWrite(in3, LOW); //Left Motor backword PindigitalWrite(in4, HIGH); //Left Motor forword Pin } void turnRight() { //turnRightdigitalWrite(in1, LOW); //Right Motor forword PindigitalWrite(in2, HIGH); //Right Motor backword PindigitalWrite(in3, LOW); //Left Motor backword PindigitalWrite(in4, HIGH); //Left Motor forword Pin } void turnLeft() { //turnLeftdigitalWrite(in1, HIGH); //Right Motor forword PindigitalWrite(in2, LOW); //Right Motor backword PindigitalWrite(in3, HIGH); //Left Motor backword PindigitalWrite(in4, LOW); //Left Motor forword Pin } void Stop() { //stopdigitalWrite(in1, LOW); //Right Motor forword PindigitalWrite(in2, LOW); //Right Motor backword PindigitalWrite(in3, LOW); //Left Motor backword PindigitalWrite(in4, LOW); //Left Motor forword Pin }
http://www.w-s-a.com/news/208133/

相关文章:

  • 哪里有做网站的公司微商怎么开店步骤
  • 访问不了服务器的网站北京工业产品设计公司
  • 怎么棋牌网站建设口碑好的福州网站建设
  • 怎么样注册一个网站南通网站定制搭建
  • 网站免费正能量软件下载wordpress 多本小说
  • 临淄网站制作价格低长沙谷歌seo收费
  • 吴江公司网站建设电话免费的那种软件
  • 大淘客网站如何做seo网络广告设计公司
  • 厦门网络营销顾问湘潭网站seo
  • asp.net个人网站淮南 搭建一个企业展示网站
  • 备案关闭网站wordpress 替换
  • 台州建设网站制作wordpress乱码
  • 互联网时代 网站建设做交互设计的网站
  • 网站屏蔽中文浏览器湘潭做网站广告的公司
  • 好看的单页面网站模板免费下载手机网站经典案例
  • 优秀网站建设平台建筑模板工厂价格尺寸
  • 合肥微信网站建设旅游景区网站模板
  • 一个只做百合的网站wordpress文章和博客的区别
  • 编写网站策划方案网站哪里有
  • 网站做得好的公司国家防疫政策最新调整
  • 设计优秀的企业网站做行测的网站
  • 提供做网站公司有哪些关键词优化诊断
  • 建站合肥网络公司seo免费建手机商城网站吗
  • 设计师投资做项目网站外贸网站建设工作室
  • 无聊的网站wordpress的alt属性插件
  • 个股期权系统网站开发小清新wordpress模板
  • 全中文网站开发建筑公司企业愿景文案
  • 广州网站建设正规公司建设银行信用卡中心网站
  • 哪个网站是专门做封面素材怎么制作app平台
  • 网站开发 平均工资商标注册在哪个部门申请