范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Arduino制作循迹小车完全教程

  循迹小车曾是大学期间最早接触的智能科技竞赛作品。现在它已经是生活中常见的儿童玩具,也成为儿童课外培训课的内容,我相信,对于孩子和那些没有接触过它的成人来说,依旧会对循迹小车充满好奇和喜爱。今天我就把我制作循迹小车的资料和流程分享出来,供大家学习参考,希望你们可以自己动手做出充满科技感的循迹小车。材料清单:
  车体:一张板(木板、塑料板、甚至是雪糕棒拼接的),万向轮或小轴承、铜柱、车轮、电机;
  硬件:Arduino Uno或Arduino Nano,电机驱动模块、红外传感器*3、电源、杜邦线。
  软件:一个安装了Arduino程序的电脑
  在讲解如何制作循迹小车之前,我们先了解一下它的结构组成和运行原理,理清软件硬件实现的思路,对我们后期制作循迹小车会更有帮助。宏观上看主要包括车体、硬件电路和软件编程三部分。它的整个运行原理就是前端的红外传感器检测黑线的存在,并将它的位置信号反馈给主控板,主控程序对小车位置进行分析,从而控制两个电机的速度(差速运行),达到直行、左转、右转、倒车等操作效果。
  那么具体的制作和零件选择,我们来依次分析一下。车体部分:
  首先来拆解循迹小车的车体结构。循迹小车的车体可以做得非常简单,也可以设计的很复杂但更美观。一张板子配上电机和车轮就可以做好,如果想要设计出可爱的造型,那你就要费点时间和精力了。
  (1)这里不在设计上过于纠结,通过一个简单的结构说清楚车体的制作:
  这是一个简单的车体结构,一张塑料洞洞板,通过螺钉、螺母、电机固定架将电机固定在洞洞板上,再将与电机轴尺寸合适的车轮直接插到电机轴上,最后在洞洞板前端用铁丝固定一个小轴承充当前轮,车体部分就完成了。
  型号:
  电机:N20减速电机(购物网站很容易搜到,大概在10元左右)
  车轮:与电机轴配套的D型孔的橡胶轮(搜索N20电机橡胶轮)
  电机固定架:搜索N20电机固定架。
  底板:搜索固位板可以找到很多,这个比较随意。
  轴承:外径10mm左右都可以,或者也可以选择其他圆形结构替代。
  综上,重点是选定电机,车轮和固定架匹配电机就可以,至于底板可以自由选择,考虑好如何固定电机和前轮就可以。
  (2)另外介绍一种常见的可以买到的车体,如图:
  这种类型的车体是平时最常见的车体结构,在网上搜索智能车套件,会有很多选择。当然,想动手自己尝试设计组装的也可以买好配件自由发挥。对于这个底板,看上去很复杂,其实上面预留的孔也是随意切割,只要匹配电机和万向轮的固定孔位就可以。家里有木工工具的也可以自己锯一块木板,打几个孔也能搞定。或者会CAD设计的,把图纸拿到街边的广告制作店铺,分分钟也可以加工出来漂亮的亚克力底板。
  电机:TT电机,相对N20电机要便宜一半左右
  轮子:选择与电机轴配套的孔型,这个电机轴是扁的,网上搜索TT电机橡胶轮可以找到。
  万向轮:网上很容易找到,重点关注螺丝固定孔与底板上对应孔的匹配。
  总结:车体部分实际上并不难,重点是要做好各个组件的安装匹配。同时,不要忘记后面主控板、传感器的安装位置,需要提前确定好,并预留孔位。硬件电路部分:
  硬件电路部分主要包括主控板、电机驱动模块、红外循迹传感器、电源等。
  (1)主控板以Arduino Uno为例进行讲解,对于没有编程经验的会简单一些,它还可以实现图形化编程界面(Mixly),更是适合儿童编程学习。板子价格相对便宜,20元左右,一个板子+一条数据线就可以用起来了。
  主控板的外形如下图所示,它的学习不是一下可以说清楚的,我后面会给大家提供部分资料,也会把跟小车相关的用法讲清楚。
  从图上看到,这块板子有14个数字输入/输出端口,6个PWM端口。数字端口主要用于传递高低电平,高电平为1,低电平为0;红外传感器就是连接到这些端口上,通过高低电平来传递消息;PWM端口是在板子上标有"~"符号的端口,电机驱动的逻辑输入端口就是跟PWM端口连接,它是用来给电机设定速度的,一般值在0-255之间。
  USB接口通过数据线与电脑连接,便于下载程序到主板上。
  电源接口可以与外部5V或3.3V电源连接,要注意看板子上的标识,不可以随意接,也可以用来给传感器供电。如果电源接口不够用,可自行连接导线扩展,但也要注意不能过多,电流太大容易烧芯片。
  注意:主控板供电只能是3.3V或5V,我们直接用后面的电机驱动模块中的5V供电便可以。
  板子的资料和对应软件下载都罗列出来:
  1. 插上UNO开发板,驱动会自动安装
  2.在die里面选择板卡 UNO
  3. 选择COM端口,这个可以在我的电脑里查询,刚刚你的UNO开发板里面端口。
  这里把软件安装完成后的板卡选择和COM端口选择截图演示,以便不懂的朋友参阅。这两个端口的设置是为了将程序传输到主控板上,必须选择对应的板卡(主控板型号)和电脑连接端口。如下图:
  2)红外循迹传感器模块:就像人的眼睛,是用于判断黑线的。红外循迹传感器上有两个二极管,一个是发射红外信号,另一个可以接收红外信号。当传感器下方是黑线时,黑色可以大量吸收红外信号,从而导致返回的红外信号非常微弱;当传感器下方不是黑色时,,大量的红外信号被反射回来,被接收端接收。从而可以判断黑线的存在了,这就是红外循迹传感器的作用原理。
  网上的红外循迹传感器也是多种多样,不过使用都是一样的,最主要的就是判断在扫描到黑线时,返回的是高电平还是低电平,这个在产品介绍那都会有介绍。红外循迹传感器模块大概如下图所示:
  图上看出传感器上有4个接线端和3个接线端的区别,它们都会有电源正极Vcc、负极GND、数字输出口D0,而多出那一个端口是A0,也就是模拟输出端,这个对我们使用并不影响,我们只使用数字输出端(D0)就可以。
  在使用时,只需将电源端接好,把数字输出端接到主控板的数字输入/输出端口,便完成连接。具体连接图在后面展示。
  在购买时注意购买红外循迹传感器模块,而不能直接购买红外传感器。因为单独的红外传感器是用不了的,需要其他芯片配合使用。模块上都是集成好的,可以直接使用。
  (3)电机驱动模块,是用于对电机速度和转向的控制模块。费用大概在10元左右,其端口连接会多点,但并不复杂。我来依次说明,如下图,左右两端蓝色的输出A和输出B是连接两个电机的,把左侧电机的两条线接到输出A,同理,右侧接到输出B。外部供电可以选择5-35v,但一般12v或9v就足够。电源正极接在下图的12v供电端,负极接在供电GND端,而图中5V供电可以用于给控制板和红外循迹传感器进行供电,注意负极都是要接到供电GND。最后就是逻辑输入这四个端口,需要跟控制板上的数字输入/输出端口相连接,左侧两个是控制左侧电机,而右侧两个是控制右侧电机。
  具体的连接图示在最后展示。
  (4)电源部分则可以直接买12V锂电池,或者比较简单的就购买9v电池,配上连接头就能直接使用。
  由于篇幅有限,仅对用到的硬件部分进行简单介绍,但足以完成循迹小车的制作。下面我就把整体的硬件连接图展示出来。
  软件编程部分:
  该部分应该是整个循迹小车的核心,它赋予小车思想,让小车智能化。对于该部分的实现,方式方法都有很多种,比如利用Arduino IDE界面直接代码编程,还可以通过图形化界面进行拖拽编程,如Mixly。方法上有直接法,就是对电机的控制人为设定参数,简单粗暴;还有会结合PID算法的高级控制,这种方法对于小车的响应速度更快,也更合理,但是难度会高一些。
  该文章就是科普性质,所以先通过最简单的方式,实现小车的循迹功能。编程的整体思想是先判断黑线的位置,当中间传感器扫描到黑线时,小车位置正确,电机继续按原始速度行走;当左侧传感器扫描到黑线时,此时小车已经偏右,需要及时向左校正,左侧电机减速,右侧电机加速,完成左转;当右侧传感器扫描到黑线时,此时小车已经偏左,需要及时向右校正,左侧电机加速,右侧电机减速,完成右转;下面列出上述电路连接对应的程序:
  static int initial_motor_speed=100;
  const int IN_A1=6;
  const int IN_A2=9;
  const int IN_B1=10;
  const int IN_B2=11;
  const int sensor2=2;
  const int sensor3=3;
  const int sensor4=4;
  void setup() {
  pinMode(IN_A1,OUTPUT);
  pinMode(IN_A2,OUTPUT);
  pinMode(IN_B1,OUTPUT);
  pinMode(IN_B2,OUTPUT);
  pinMode(sensor2,INPUT);
  pinMode(sensor3,INPUT);
  pinMode(sensor4,INPUT);
  }
  void loop() {
  char num2,num3,num4;
  num2=digitalRead(sensor2);
  num3=digitalRead(sensor3);
  num4=digitalRead(sensor4);
  if(num4==0){
  analogWrite(IN_A1,150);
  analogWrite(IN_A2,0);
  analogWrite(IN_B1,50);
  analogWrite(IN_B2,0);
  }else if(num2==0){
  analogWrite(IN_A1,50);
  analogWrite(IN_A2,0);
  analogWrite(IN_B1,150);
  analogWrite(IN_B2,0);
  }else{
  analogWrite(IN_A1,100);
  analogWrite(IN_A2,0);
  analogWrite(IN_B1,100);
  analogWrite(IN_B2,0);
  }
  }
  将程序拷贝并上传到主控板中,就完成程序输入了。如果你的电路连接跟图示的一样,那这个程序可以实现小车的循迹功能。如果你购买的循迹传感器检测到黑线输出高电平,只需要把程序中num4==0,nm2==0改成num4==1,nm2==1即可。对于程序部分不作详细的讲解,如有需要可以自行查阅资料或私信交流。
  到此为止,小车的车体、电路、软件均已完成,灵魂战车可以出发了!

为什么人类不吃食肉动物的肉,只吃食草动物的肉?处于地球生态圈中特殊位置的我们的已经存在了很长时间了。从最初的类人猿到猿人到直立人再到早期智人和晚期智人,再到现如今的我们,已经过去了300到400万年的时间。我们所有的一切都在发51单片机矩阵键盘代码includereg52。hincludeintrins。hdefineucharunsignedchardefineuintunsignedintsbitdulaP26sbitw雷电储存靠谱吗?中国成功引雷电,堪比星球大战,为啥主动引雷?雷电是自然界中常见的自然现象,其带来的影响也是多方面的,但我们大多听到的是雷电带来的负面新闻,例如雷电击中人体导致其受伤或死亡。但我国在山东滨州进行的人工引雷实验顺利进行,实验过程自己死亡自己知道?科学家表示心脏停止跳动后,你的意识会持续前言从古至今,死亡是一个经久不衰的话题。在神雕侠侣里,一灯大师和小龙女言说生死的片段提到鸡大生蛋,蛋破生鸡,既有其生,必有其死。这时候,死亡具有哲学的思辨。苏。布莱克也提到这是从概人死后意识能存在多久?死亡第一阶段会知道自已死亡死亡好像一件离我们特别遥远的事情,每个人一觉睡醒从来都不会考虑今天会不会一不小心就去世,但死亡却是一件永远在生命的终点站静静等待我们到来的事情。我们终将离世,所以我们热爱生活我们害地球带着人类在宇宙中奔跑,一天5200万公里,目的地是哪儿?引言相对论认为世界上的所有物质其实都是处在运动过程中的,就像我们在一艘轮船里一样,尽管说我们感觉到轮船是在静止的,但是实际上它是在海面上运动着的。宇宙中的天体也是一样的,它们看起来火车的发展历程为何要在铁轨上行驶?如何做到不脱轨?火车现在已经成为了人们出家常用的一种交通工具了,它不仅方便快捷,而且相对于其他交通方式的话其实还要便宜一些。通常来说,我们都听说过坠机事件以汽车和汽车之间碰撞的交通事故,但是却很少阿富汗首都已沦陷,总统出逃将政权拱手相让?美军狼狈撤退自美国从阿富汗撤军后,阿富汗国内局势就开始急剧恶化,塔利班武装组织一路攻城略地,缴获大批美军遗留的武器装备,用最快的时间攻占阿富汗大半地区,其猛烈的攻势就连美军都吃不消,近日,美国美国无情撤离阿富汗,引人唾弃,这是否是911事件最终的结局?在阿富汗7月2号一部历史的篇章划走,迎来了阿富汗的新篇章。当地时间凌晨,美军总部巴格拉姆基地一片昏暗景象,没有一丝灯火,美军就在这夜幕下悄悄离开。曾经的巴格拉姆基只是一个光秃秃的平你灵魂的高度,决定着你人生的高度佛说世间一切皆有因果。所以你今天所做的事情,会影响你以后的人生。而人,许多时候只顾当下,不会向更远的地方看,只知现在满足,却不知将来要为现在买单。图片来源于网络生活的不易,让许多人人生的高度与广度跟着苍蝇走,你不必犹豫,最终你会走到厕所里去跟着蜜蜂走,你最终不但会找到花朵,还有可能拥有蜂蜜。跟着聪明的人走,你迟早会变得聪明跟着乞丐走,我相信你最终只会要饭。活鱼逆流而上,死鱼
蝙蝠荆棘与水鸟蝙蝠荆棘水鸟商定,合伙经商为生。于是蝙蝠借来钱作为资金,荆棘带来了他自己的衣服,水鸟带着赤铜,然后,他们装好货,扬帆远航。在海上不巧碰到了强大的风暴,船翻了,所有的货物全沉没了。幸给花开一些时间前天去好友家闲聊,当看到他家院子里的石榴树时,我诧异了我们俩一起买的石榴树,大小都一样,想不到他家的都开花了,可我家的,今年还是没有要开花的迹象我的羡慕中又掩饰不住失落。可不是,好幸福的口味我认识这对日本厨师父子已经30多年了,如果不是厨师告诉我他父亲的故事,我也许不会如此念念不忘。关于他的父亲,他是这么跟我说的家父做厨师整整40年,在这期间,总有一对恩爱夫妻到店里用没有挣扎磨炼何来所向披靡有句话说勇敢的人,不是不落泪的人,而是愿意含着泪继续奔跑的人。生活如日升日落,有高峰有低谷,都是常态。挫折会来,也会过去热泪会流下,也会收起。我们天生都不是强者,只是因为有了追求,让人吐血的怪味趣答让老师吐血的乳字造句一小学老师向学生解释乳字的含义乳即是小的意思,比如乳鸽乳猪等。要求小明用乳字造句。小明因为现在房价太高了,所以我家只买得起50平方米的乳房。老师大汗,说再造一个北女图更多概念,关系,吹牛上女图更多职场,务实!1,女主角陈可出生在城市家庭,条件至少中等,罗海燕出生在农村家庭,从小物质生活不是很丰富。2,爱情陈可一直是在选男人,对他真心的条件差一点的男人她拒绝,罗海燕渴望爱情,但是她很多时被低估8年,走红之后,张学友刘德华当他配角,如今实力又被埋藏!对于张学友,或者是刘德华,他们就是娱乐圈里的精英!很少能够像他们一样,从出道至今,一直红火到现在!说到张学友,也有一些让人们遗憾,就是一直还没有收获金像奖影帝的称号,对于这二位演艺霍建华曾是他的配角,他红了一下就过气,如今整容朋友都认不出!当年是薰衣草掀起了台湾偶像剧的浪潮,剧中的男女主角的爱情感动了很多人,可惜多年后男女主角都销声匿迹,而小配角陈乔恩成为了当今的收视女王。男主角季晴川是由许绍洋饰演的,主题曲也是许绍胡彦斌和孟美岐真实关系!和庾澄庆吴莫愁当初如出一辙!7月4日是胡彦斌35岁的生日,创造101C位出道的孟美岐微博送去祝福,导师胡彦斌随即回应我给你写歌!互动暖心一幕吸引不少吃瓜群众关注,除了期待师徒二人下一步的合作之外,还希望他们有14岁出道,为胡歌当过配角,称彭于晏为老公,如今沦为十八线?说起胡歌,大家脑子里第一个出现的就是李逍遥,甚至可以说无胡歌不仙剑,那是胡歌风华正茂的时候,这个角色奠定了观众对胡歌的认知基础,他很适合演这种游戏人间玩世不恭后来逐渐成熟的角色。他江疏影回应网友背后没有势力,只有努力和汗水,粉丝和团队!此前,江疏影被传搭档大咖,频频出演女一号,背后势力惊人。今日江疏影正面作出回应,坦言成功没有捷径,唯有努力,每个人都觉得有捷径,其实就是要努力一步一步的才走到了今天,哪有捷径可以走