15.TCP控制智能小车实验(上位机)
- 格式:doc
- 大小:813.50 KB
- 文档页数:10
第1篇一、实验目的本次实验旨在通过搭建车联网小车平台,学习车联网技术的基本原理和实现方法,了解车辆环境感知、通信协议、智能控制等相关知识,培养学生的动手能力和创新思维。
二、实验背景随着物联网技术的飞速发展,车联网已成为未来汽车工业和智能交通领域的重要发展方向。
车联网技术通过将车辆与互联网连接,实现车辆之间的信息共享、协同控制和智能化服务。
本次实验旨在通过搭建车联网小车平台,让学生了解车联网技术的基本原理和实现方法。
三、实验内容1. 车辆环境感知实验(1)实验目的:学习车辆环境感知技术,实现小车对周围环境的感知。
(2)实验内容:使用超声波传感器和红外传感器对小车周围环境进行感知,包括障碍物距离、温度、湿度等。
(3)实验步骤:①搭建小车平台,连接超声波传感器和红外传感器;②编写程序,读取传感器数据,进行数据处理;③实现小车避障、跟随等功能。
2. 监控系统及光纤通信实验(1)实验目的:学习监控系统及光纤通信技术,实现小车信息的实时传输和监控。
(2)实验内容:使用摄像头和光纤通信模块,实现小车信息的实时传输和监控。
(3)实验步骤:①搭建小车平台,连接摄像头和光纤通信模块;②编写程序,实现摄像头图像采集和光纤通信数据传输;③实现小车监控画面实时显示,并对传输数据进行处理。
3. 驾驶行为实验(1)实验目的:学习驾驶行为分析技术,实现小车对驾驶员行为的识别和响应。
(2)实验内容:使用摄像头和加速度传感器,对驾驶员行为进行分析。
(3)实验步骤:①搭建小车平台,连接摄像头和加速度传感器;②编写程序,实现驾驶员行为识别和响应;③实现小车对驾驶员行为的实时反馈。
四、实验结果与分析1. 车辆环境感知实验通过实验,我们成功实现了小车对周围环境的感知。
超声波传感器和红外传感器能够准确测量障碍物距离,摄像头能够实时采集小车周围环境图像。
通过数据处理和图像识别技术,小车能够实现避障、跟随等功能。
2. 监控系统及光纤通信实验通过实验,我们成功实现了小车信息的实时传输和监控。
智能循迹小车实验报告第一篇:智能循迹小车实验报告摘要本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
关键词智能小车单片机红外光对管 STC89C52 L298N 1 绪论随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。
在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。
设计任务与要求采用MCS-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。
方案设计与方案选择3.1 硬件部分可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。
3.1.1 单片机模块为小车运行的核心部件,起控制小车的所有运行状态的作用。
由于以前自己开发板使用的是ATMEL公司的STC89C52,所以让然选择这个芯片作为控制核心部件。
STC89C52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。
其程序和数据存储是分开的。
3.1.2 传感器模块方案一:使用光敏电阻组成光敏探测器采集路面信息。
阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。
方案二:使用光电传感器来采集路面信息。
一、实验目的本次实验旨在通过设计和搭建一个智能小车系统,学习并掌握智能小车的基本控制原理、硬件选型、编程方法以及调试技巧。
通过实验,加深对单片机、传感器、电机驱动等模块的理解,并提升实践操作能力。
二、实验原理智能小车控制系统主要由以下几个部分组成:1. 单片机控制单元:作为系统的核心,负责接收传感器信息、处理数据、控制电机运动等。
2. 传感器模块:用于感知周围环境,如红外传感器、超声波传感器、光电传感器等。
3. 电机驱动模块:将单片机的控制信号转换为电机驱动信号,控制电机运动。
4. 电源模块:为系统提供稳定的电源。
实验中,我们选用STM32微控制器作为控制单元,使用红外传感器作为障碍物检测传感器,电机驱动模块采用L298N芯片,电机选用直流电机。
三、实验器材1. STM32F103C8T6最小系统板2. 红外传感器3. L298N电机驱动模块4. 直流电机5. 电源模块6. 连接线、电阻、电容等7. 编程器、调试器四、实验步骤1. 硬件搭建:- 将红外传感器连接到STM32的GPIO引脚上。
- 将L298N电机驱动模块连接到STM32的PWM引脚上。
- 将直流电机连接到L298N的电机输出端。
- 连接电源模块,为系统供电。
2. 编程:- 使用Keil MDK软件编写STM32控制程序。
- 编写红外传感器读取程序,检测障碍物。
- 编写电机驱动程序,控制电机运动。
- 编写主程序,实现小车避障、巡线等功能。
3. 调试:- 使用调试器下载程序到STM32。
- 观察程序运行情况,检查传感器数据、电机运动等。
- 调整参数,优化程序性能。
五、实验结果与分析1. 避障功能:实验中,红外传感器能够准确检测到障碍物,系统根据检测到的障碍物距离和方向,控制小车进行避障。
2. 巡线功能:实验中,小车能够沿着设定的轨迹进行巡线,红外传感器检测到黑线时,小车保持匀速前进;检测到白线时,小车进行减速或停止。
3. 控制性能:实验中,小车在避障和巡线过程中,表现出良好的控制性能,能够稳定地行驶。
基于51单片机WiFi智能小车制作基于51单片机WiFi智能小车制作一、基本原理51单片机WiFi智能小车是利用PC或手机作为控制端,通过手机连接wifi模块(路由器)以获得wifi信号,同时车载也连接wifi模块以获得和手机相同的IP地址,实现手机和小车的连接,然后利用PC或手机上的控制软件以wifi网络信号为载体发送相关信号,wifi模块接收PC 或手机端发送来的相关信号并分析转换成TTL 电平信号,然后发送给单片机,单片机接收到的电平信号处理、分析、计算,转化成控制指令并发送给电机驱动模块以实现小车的前进、后退、左拐、右拐等功能。
二、购买所需材料了解51单片机WiFi智能小车基本原理后,需要购买所需材料进行制作。
下面列出所需制作材料:序号材料备注图例6 小车底盘7 摄像头 根据固件支持摄像头购买8 电源根据自己需要购买种类9 杜邦线及小配件制作所需工具:序号工具名备注图例称1 电烙铁一套 包括松香焊锡2 螺丝刀 平口、十字等3 微型电钻 可以自制4手工刀5 剪刀6 万用表7 热熔胶枪或快干胶8US B下载器三、开始制作1、制作流程开始制作前,我们首先需要看购买路由器的型号,笔者采用的是703n 路由器,所以需要引出ttl 线。
总体步骤为:路由器引TTL 线→路由器刷OpenWrt 固件→制作51单片机最小系统→下载下位机程序到51单片机→安装上位机程序至PC 或手机→测试上、下位机通信→组装→调试完成。
2、路由器引ttl线首先打开703n路由器,按照下图标示位置焊接ttl线。
注意:1、焊接的时候要小心焊接,焊好后微拉下查看松紧2、焊接最好采用软线焊接,防止意外整块拉掉焊点3、焊好后一定用胶固定,最好采用热熔胶下图为引好ttl线样子3 刷OpenWrt固件何为OpenWrt固件,OpenWrt可以被描述为一个嵌入式的Linux 发行版,(主流路由器固件有dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的,静态的系统。
第1篇一、引言随着科技的不断发展,人工智能技术逐渐渗透到我们生活的方方面面。
作为人工智能的一个典型应用,智能小车实验为我们提供了一个将理论知识与实践操作相结合的平台。
在本次智能小车实验中,我深刻体会到了理论知识的重要性,同时也感受到了动手实践带来的乐趣和成就感。
以下是我对本次实验的心得体会。
二、实验目的本次实验旨在通过设计、搭建和调试智能小车,让学生掌握以下知识:1. 传感器原理及在智能小车中的应用;2. 单片机编程及接口技术;3. 电机驱动及控制;4. PID控制算法在智能小车中的应用。
三、实验过程1. 设计阶段在设计阶段,我们首先对智能小车的功能进行了详细规划,包括自动避障、巡线、遥控等功能。
然后,根据功能需求,选择了合适的传感器、单片机、电机驱动器等硬件设备。
2. 搭建阶段在搭建阶段,我们按照设计图纸,将各个模块连接起来。
在连接过程中,我们遇到了一些问题,如电路板布局不合理、连接线过多等。
通过查阅资料、请教老师,我们逐步解决了这些问题。
3. 编程阶段编程阶段是本次实验的核心环节。
我们采用C语言对单片机进行编程,实现了小车的基本功能。
在编程过程中,我们遇到了许多挑战,如传感器数据处理、电机控制算法等。
通过查阅资料、反复调试,我们最终完成了编程任务。
4. 调试阶段调试阶段是检验实验成果的关键环节。
在调试过程中,我们对小车的各项功能进行了测试,包括避障、巡线、遥控等。
在测试过程中,我们发现了一些问题,如避障效果不稳定、巡线精度不高、遥控距离有限等。
针对这些问题,我们再次查阅资料、调整程序,逐步优化了小车的性能。
四、心得体会1. 理论与实践相结合本次实验让我深刻体会到了理论与实践相结合的重要性。
在实验过程中,我们不仅学习了理论知识,还通过实际操作,将所学知识应用于实践,提高了自己的动手能力。
2. 团队合作在实验过程中,我们充分发挥了团队合作精神。
在遇到问题时,我们互相帮助、共同探讨解决方案,最终完成了实验任务。
随着科技的不断发展,智能化技术逐渐渗透到各个领域,智能小车作为人工智能技术在工业、农业、军事、医疗卫生和宇宙探测等领域的重要应用之一,受到了广泛关注。
为了更好地了解和掌握智能小车的相关知识,提高自身的实践能力,我参加了为期一个月的智能小车实习。
二、实习目的1. 学习智能小车的原理和设计方法,掌握智能小车的构造和性能。
2. 了解智能小车在各个领域的应用,提高自身的创新意识和实践能力。
3. 通过实际操作,培养团队协作精神和动手能力。
三、实习内容1. 智能小车基础知识学习实习初期,我们学习了智能小车的定义、分类、组成及工作原理。
智能小车主要由传感器、控制器、执行器、电源和通信模块等组成。
传感器负责收集环境信息,控制器根据收集到的信息进行决策,执行器执行控制器的决策,电源为整个系统提供能量,通信模块实现与其他设备或系统的数据交换。
2. 智能小车硬件设计在硬件设计方面,我们学习了传感器选型、电路设计、电机驱动和电源设计等。
传感器选型主要包括红外传感器、超声波传感器、光电传感器等;电路设计包括单片机电路、驱动电路和电源电路等;电机驱动主要采用L298N驱动模块;电源设计主要考虑电池容量、电压和电流等。
3. 智能小车软件设计软件设计是智能小车实现功能的关键环节。
我们学习了单片机编程语言C语言,掌握了中断、定时器、串口通信等编程技巧。
在软件设计过程中,我们实现了小车的前进、后退、左转、右转、循迹和避障等功能。
4. 智能小车系统集成与调试在系统集成与调试阶段,我们将硬件和软件相结合,完成了小车各个模块的连接和调试。
通过不断调整参数,使小车能够稳定运行,实现了预期的功能。
通过本次实习,我们成功设计并实现了一款基于AT89C52单片机的智能小车。
该小车具备以下功能:1. 循迹功能:小车能够自动跟随黑线前进,实现自动循迹。
2. 避障功能:小车能够检测到前方障碍物,自动避开障碍物。
3. 远程控制功能:通过蓝牙模块,可以实现手机远程控制小车的前进、后退、左转、右转等功能。
课程设计报告(嵌入式技术实践(一))学院:电气工程与自动化学院题目:智能小车的电路设计与制作专业班级:自动化123班学号: 21学生姓名:谢斌指导老师: 王祖麟、张振利日期:2013年6月18日星期二摘要我们生活在信息与科技高速发展的信息时代,高科技产品的更新的换代也是越来越快.作为21世纪的大学生,我们身处这样的环境中,就必须使自己能够适应这个社会所需.自动化作为处在科技前沿的专业,我们学生就要打好基础,跟上时代的步伐.为了让同学们在做中学.同学们自己设计和制作智能小车,并从中深入了解和理解自动化嵌入式.从而为进一步实现人机对话,测量以及控制这些自动化的基本控制做基础。
从理论到实践,让同学们更好的理解嵌入式,增长同学的实践和设计能力。
应用P89V51RB2微控制器中端口、外部中断、定时器等基本模块,实现核心控制,再结合驱动板来控制电机的转速、转向,最后加上红外传感器,实现小车的智能寻迹。
其中端口结合SPI实现人机对话;定时器与中断结合实现匹配定时,捕获转速;端口、定时器的结合就实现了控制电机的方向与转速;端口与红外传感器结合,让小车可以寻找黑线,这样就实现了智能寻迹。
关键字:自动化;嵌入式;智能寻迹;实践;外部中断;定时器;能力目录第一章绪论 (5)1。
1 课题背景 (5)1。
2 课题概述 (5)1。
3 设计要求 (5)第二章统的系设计 (6)2.1 实践原理 (6)2.2 实践器材 (6)2。
3 实践目的 (7)第三章软件设计 (8)3。
1 硬件开发的软件介绍 (8)3.1。
1 TKStudio................................................................错误!未定义书签。
3。
1.2 原理图的绘制过程 ..........................................错误!未定义书签。
3。
2 编程环境介绍 (9)第四章系统实现 (9)4。
智能循迹小车实验报告一、实验目的本次实验旨在设计并实现一款能够自主循迹的智能小车,通过传感器检测路径信息,控制小车的运动方向,使其能够沿着预定的轨迹行驶。
通过本次实验,深入了解自动控制、传感器技术和单片机编程等方面的知识,提高实际动手能力和问题解决能力。
二、实验原理1、传感器检测本实验采用红外传感器来检测小车下方的黑线轨迹。
红外传感器由红外发射管和接收管组成,当发射管发出的红外线照射到黑色轨迹时,反射光较弱,接收管接收到的信号较弱;当照射到白色区域时,反射光较强,接收管接收到的信号较强。
通过比较接收管的信号强度,即可判断小车是否偏离轨迹。
2、控制算法根据传感器检测到的轨迹信息,采用 PID 控制算法(比例积分微分控制算法)来计算小车的转向控制量。
PID 算法通过对误差(即小车偏离轨迹的程度)进行比例、积分和微分运算,得到一个合适的控制输出,使小车能够快速、准确地回到轨迹上。
3、电机驱动小车的动力由直流电机提供,通过电机驱动芯片(如 L298N)来控制电机的正反转和转速。
根据控制算法计算出的转向控制量,调整左右电机的转速,实现小车的转向和前进。
三、实验器材1、硬件部分单片机开发板(如 STM32 系列)红外传感器模块直流电机及驱动模块电源模块小车底盘及车轮杜邦线、面包板等2、软件部分Keil 等单片机编程软件串口调试助手四、实验步骤1、硬件搭建将红外传感器模块安装在小车底盘下方,使其能够检测到黑线轨迹。
将直流电机与驱动模块连接,并安装在小车底盘上。
将单片机开发板、传感器模块、驱动模块和电源模块通过杜邦线连接起来,搭建好实验电路。
2、软件编程使用单片机编程软件,编写传感器检测程序、控制算法程序和电机驱动程序。
通过串口调试助手,将编写好的程序下载到单片机开发板中。
3、调试与优化启动小车,观察其在轨迹上的行驶情况。
根据小车的实际行驶情况,调整 PID 控制算法的参数,优化小车的循迹性能。
不断测试和改进,直到小车能够稳定、准确地沿着轨迹行驶。
智能小车设计实验报告简介智能小车是一种集机械、电子、计算机和通信技术于一体的设备。
通过传感器收集环境信息、通过处理器进行运算、通过电机实现运动,具有自动避障、巡线、遥控等功能。
本实验旨在设计一种智能小车,并测试其在避障和巡线任务中的性能。
设计方案硬件1. 底盘:使用一块稳定且坚固的底板作为小车的基础结构,确保小车运动时的稳定性。
2. 电机:选用两个直流电机,用于驱动小车前进和转向,通过电机控制模块与处理器进行通信。
3. 传感器:- 超声波传感器:用于探测前方障碍物距离,实现智能避障功能。
- 红外线传感器:用于检测地面上的黑白线,实现巡线功能。
4. 处理器:采用Arduino开发板作为处理器,接收传感器数据,根据算法控制电机的运动。
5. 电源:选择一个稳定且容量适当的电池供电。
软件1. 避障算法:- 获取超声波传感器数据。
- 判断是否存在前方障碍物。
- 若存在障碍物,根据距离远近调整电机转速和方向。
- 否则,前进。
- 循环执行以上步骤。
2. 巡线算法:- 获取红外线传感器数据。
- 判断当前传感器是否在黑线上。
- 若在黑线上,调整电机转速和方向。
- 否则,旋转寻找黑线。
- 循环执行以上步骤。
实验过程避障功能测试1. 搭建实验场地,放置障碍物。
2. 小车启动后,执行避障算法,前进并实时检测前方障碍物。
3. 当检测到障碍物时,小车自动调整转速和方向,避免碰撞。
4. 实时记录小车克服障碍物的时间和距离。
巡线功能测试1. 在地面上绘制黑白线条,构建巡线场地。
2. 小车启动后,执行巡线算法,沿着黑线行驶。
3. 当检测到离线时,小车调整转速和方向,重新寻找黑线。
4. 实时记录小车完成巡线任务所花费的时间和路径。
实验结果与分析避障功能在实验中,小车能够成功避开放置的障碍物,且响应迅速,避免了碰撞。
通过记录的时间和距离可以评估小车的避障性能,进而对算法进行优化。
巡线功能在巡线任务中,小车能够识别黑线,并且根据需要进行转向。
第1篇一、实验目的本实验旨在研究小车运动速度的控制,分析影响小车运动速度的因素,并通过实验验证控制方法的有效性。
通过本实验,学生可以掌握以下知识:1. 了解小车运动的基本原理。
2. 掌握小车运动速度控制的基本方法。
3. 熟悉实验仪器的使用和数据处理方法。
4. 培养学生的实验操作能力和分析问题能力。
二、实验原理小车运动速度的控制主要依赖于驱动电机的转速。
通过改变电机转速,可以实现对小车运动速度的调节。
在本实验中,采用PWM(脉冲宽度调制)技术对电机转速进行控制。
PWM技术通过改变脉冲宽度来调整电机驱动电路中的平均电压,从而实现对电机转速的调节。
三、实验器材1. 小车平台2. 驱动电机3. 电机驱动电路4. PWM控制器5. 电流表6. 电压表7. 数据采集卡8. 计算机及实验软件四、实验步骤1. 搭建实验电路:按照实验电路图连接小车平台、驱动电机、电机驱动电路和PWM控制器。
2. 设置实验参数:通过计算机软件设置PWM控制器的参数,包括PWM频率、占空比等。
3. 启动实验:启动PWM控制器,观察小车的运动状态。
4. 数据采集:利用数据采集卡采集小车运动过程中的电流、电压等数据。
5. 分析数据:对采集到的数据进行处理和分析,研究小车运动速度与电机转速之间的关系。
五、实验结果与分析1. 实验结果:通过实验,我们得到了不同PWM占空比下小车的运动速度数据。
2. 数据分析:(1)当PWM占空比较小时,小车运动速度较慢;随着PWM占空比的增大,小车运动速度逐渐加快。
(2)当PWM占空比达到一定值后,小车运动速度趋于稳定,此时电机转速基本达到最大值。
(3)在小车运动过程中,电流和电压数据也呈现出一定的规律性变化。
六、结论1. 小车运动速度与PWM占空比呈正相关关系,PWM占空比越大,小车运动速度越快。
2. 通过调节PWM占空比,可以实现对小车运动速度的有效控制。
3. 本实验验证了PWM技术在电机转速控制方面的可行性,为实际工程应用提供了理论依据。
wifi智能小车实训报告一、实训内容概述为了更好地培养我们计算机科学与技术专业的学生的实际操作能力,我们学校开展了一次为期一个月的Wifi智能小车实训。
该实训旨在通过设计并组装Wifi智能小车来锻炼同学们的动手能力和技术能力,同时也为同学们提供了一个了解物联网相关技术的机会。
二、实训过程详述1、选购器材在实训之前,我们需要先选购实验所需的器材。
其中包括Wifi模块、HC-SR04距离传感器、小车底盘、直流电机、轮子等材料。
我们采购时不仅需要关注价格,同时也需要注意品质和适配程度,以保证实训顺利进行。
2、组装小车底盘我们首先要组装小车底组,这就需要将小车底盘、直流电机和轮子等器材放在一起进行组装。
这一步需要大家仔细阅读说明书,并在老师的指导下逐步进行。
3、添加HC-SR04距离传感器为了使小车具备自主避障能力,我们需要为小车添加 HC-SR04距离传感器。
至于如何添加,就需要我们具备一定的编程开发知识,老师为我们介绍了 Arduino IDE 和 MicroPython 两种编程工具。
4、编写程序代码在添加完传感器之后,接下来就要编写程序了。
代码的编写包含了两个部分,一个是确定小车的移动方向和速度,并通过串口监视器将数据实时传输到电脑端;另外一个部分是实现HC-SR04距离传感器的功能,保证小车能够自主避障。
5、本地测试和远程调试经过以上步骤,我们可以在本地使用电脑的串口通信端口来测试小车的各项功能。
当测试通过后,我们就可以将代码迁移到ESP8266 Wifi 模块中进行远程调试。
这意味着我们可以通过手机等电子设备操作小车,并进行观察调试。
三、实训成效总结通过本次实训,我们不仅学会了组装小车、添加传感器和编写程序代码等技能,还了解了IoT物联网相关知识。
在实验过程中,我们遇到了一些组装困难、调试难度大等问题,经过不断尝试,最终成功解决了问题。
整个过程让我们切实感受到了科技带给我们的便利和乐趣,进一步增强了我们对于计算机技术的热爱。
智能小车实训课程设计记录日期:XXXX年XX月XX日课程设计目标:本次智能小车实训课程设计的目标是让学生通过实践了解和掌握智能小车的基本原理、控制方法和应用场景,培养学生的动手能力和问题解决能力。
课程设计分为以下几个阶段:阶段一:理论基础知识讲解(2课时)1.介绍智能小车的基本原理和组成结构,包括传感器、控制单元、电机等。
2.介绍常用的控制方法,如PID控制、模糊控制等。
3.介绍智能小车的应用场景,如自动驾驶、环境检测、物流等。
阶段二:硬件搭建和调试(4课时)1.学生分组,每组配备一台智能小车套件,进行硬件组装。
2.讲解智能小车的基本控制电路和连接方式。
3.学生完成电路的连接和调试,确保小车基本功能正常。
阶段三:传感器应用实验(6课时)1.介绍智能小车常用的传感器,如红外线传感器、超声波传感器、摄像头等。
2.学生按照指导完成传感器的连接和代码编写。
3.学生进行各种传感器应用实验,比如避障、线路跟踪等。
阶段四:控制算法实验(8课时)1.介绍常用的控制算法,如PID控制、模糊控制等。
2.学生按照指导完成不同算法的代码编写和调试。
3.学生进行控制算法的实验,比如线路跟踪、自动驾驶等。
阶段五:综合实战项目(10课时)1.学生自由组队,根据自身兴趣和能力选择一个智能小车应用场景进行设计。
2.学生进行项目规划和功能设计,并完成代码编写和硬件搭建。
3.学生展示和演示自己的项目,展示实践成果。
课程评估:1.平时表现和实验报告(40%)2.综合实践项目成果展示(60%)本次课程设计旨在提高学生的动手能力和问题解决能力,培养学生的创新思维和团队合作精神。
同时,注重理论与实践相结合,使学生能够将所学知识运用到实际项目中。
教师要在课程设计中提供充分的指导和支持,引导学生独立思考和解决问题。
智能小车实验报告2018-2019学年第1学期学院名称:机械工程学院专业班级:******学生姓名:***学号:***********20** 年** 月实验报告(一)——小车结构介绍一、机械结构小车的总体布局应以尽量减少互相干扰为原则,兼顾美观整齐。
基于这两点,通过调试,在小车底板下面只安放了两个直流电机,防止电机磁对电气信号的干扰。
小车的后面安放电源,有利于电流的方向一致以较少对信号的影响。
电机驱动紧挨着电源部分,同在小车的尾部,这样有利于大电流的直接输送,减少干扰。
车头部分放置传感器,这样和别的电流通路基本隔离,有利于信号的稳定。
单片机置于车的中央且用铜柱将其支起来,于电机、电源等干扰源远离,很好地保证单片机的稳定可靠地运行。
总体上,小车是由车身,电子系统,动力系统,地盘构成。
其中车身部分由后翼板,后盖,车窗,车门,车灯,前挡风玻璃,前盖,前保险杠构成。
其中车身部分由后翼板,后盖,车窗,车门,车灯,前挡风玻璃,前盖,前保险杠构成。
底盘作用是支承、安装汽车发动机及其各部件,形成汽车的整体造型,并接受发动机的动力,使汽车产生运动,保证正常行驶。
地盘还包括转向系统,车轮系统,传动系统。
车轮系统:转向系统:电子系统是由红外发射,红外接收,蓝牙模块,蜂鸣器,电源系统,单片机控制器组成。
动力系统:系统总体框架为:二、硬件系统单片机提供以下标准功能:8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,单片机可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位,单片机除了所有的定时/计数器0和定时/计数器l外,还增加了一个定时/计数器2。
第1篇一、项目背景随着科技的飞速发展,智能车技术已成为现代交通运输领域的重要研究方向。
本项目旨在设计和实现一款具备自主导航、避障和路径规划功能的智能车,以提高交通运输的效率和安全性。
通过本项目的研究与实验,旨在探索智能车技术在实际应用中的可行性和有效性。
二、项目目标1. 设计并实现一款具备自主导航、避障和路径规划功能的智能车;2. 评估智能车在不同复杂环境下的性能和稳定性;3. 探索智能车在现实场景中的应用前景。
三、实验内容1. 硬件平台搭建本项目选用STM32单片机作为核心控制器,搭载激光雷达、毫米波雷达、摄像头等传感器,以及电机驱动模块和无线通信模块。
具体硬件配置如下:- 单片机:STM32F103C8T6- 传感器:激光雷达、毫米波雷达、摄像头- 电机驱动:L298N- 无线通信模块:蓝牙模块2. 软件平台开发本项目采用C语言进行软件开发,主要包括以下模块:- 控制模块:负责处理传感器数据,实现避障、路径规划和导航等功能;- 传感器数据处理模块:对激光雷达、毫米波雷达和摄像头等传感器数据进行处理和分析;- 电机驱动模块:控制电机驱动模块,实现智能车的运动控制;- 无线通信模块:实现与上位机或其他设备的通信。
3. 实验步骤(1)环境搭建:搭建实验场地,布置激光雷达、毫米波雷达、摄像头等传感器,并连接单片机。
(2)传感器标定:对激光雷达、毫米波雷达和摄像头等传感器进行标定,确保数据准确。
(3)编程实现:编写控制模块、传感器数据处理模块、电机驱动模块和无线通信模块等程序。
(4)调试与优化:对智能车进行调试,优化各项功能,提高性能和稳定性。
(5)测试与评估:在不同复杂环境下对智能车进行测试,评估其性能和稳定性。
四、实验结果与分析1. 避障功能在实验过程中,智能车能够有效识别和避开障碍物,包括静态和动态障碍物。
避障效果如下:- 静态障碍物:智能车能够准确识别并避开障碍物,如树木、电线杆等;- 动态障碍物:智能车能够识别并避开行人、自行车等动态障碍物。
智能小车实验报告1. 引言近年来,随着科技的快速发展,人工智能成为了研究的焦点之一。
智能小车作为人工智能的应用之一,具有广阔的发展前景。
本实验旨在探索智能小车的设计与实现,并通过实践掌握相关技术。
2. 设计与搭建2.1 电路设计根据实验要求,我们使用了Arduino开发板作为智能小车的控制中心。
通过连接电机驱动模块和超声波传感器,实现了对小车的控制与感知。
电路设计中充分考虑了稳定性与可靠性,保证了智能小车的正常运行。
2.2 程序设计为了实现智能小车的自主导航功能,我们编写了相应的程序。
程序通过读取超声波传感器的测量数据,并结合事先设定的目标,实现了小车的精准避障与循迹。
通过巧妙的算法设计,我们成功地实现了智能小车的自主导航。
3. 实验结果与分析3.1 避障能力在实验中,我们设置了不同的障碍物来测试智能小车的避障能力。
经过多次尝试与优化,智能小车成功地避开了各类障碍物,展现了出色的避障能力。
这一结果验证了我们算法设计的合理性,同时也为智能小车的实际应用提供了保证。
3.2 循迹性能为了测试智能小车的循迹性能,我们在实验中布置了黑白交替的赛道。
通过对小车上的循迹传感器进行调试与测试,我们成功地实现了小车的自主循迹。
无论是直线还是弯道,智能小车始终保持在指定的轨迹上,展示出了出色的循迹性能。
4. 应用前景与展望智能小车作为人工智能的一个典型应用,具有广泛的应用前景。
随着自动驾驶技术的发展,智能小车有望在物流、仓储和无人配送等领域发挥重要作用。
此外,智能小车还能够应用在环境监测、安防巡检等方面,为人们提供更加便利与安全的服务。
然而,目前智能小车仍面临一些挑战。
例如,在复杂环境下的导航和避障问题仍然存在挑战性。
此外,智能小车对高精度的地图与感知数据的依赖性也限制了其在某些场景下的应用。
因此,进一步的研究和技术创新仍然是必要的。
总结通过本次智能小车实验,我们深入了解了智能小车的设计与实现原理,掌握了相关的电路和程序设计技术。
一、实验目的1. 了解智能小车的基本组成和工作原理。
2. 掌握智能小车各个模块的功能和作用。
3. 学会使用传感器和微控制器进行智能控制。
4. 提高动手实践能力和创新思维。
二、实验原理智能小车是一种集传感器、微控制器、执行器于一体的自动化小车。
它通过传感器感知周围环境,微控制器对传感器数据进行处理,然后控制执行器进行相应的动作,从而实现自动行驶、避障、巡线等功能。
三、实验器材1. 智能小车平台2. 编码器电机驱动模块3. 8路灰度传感器4. MPU6050六轴传感器5. OLED显示屏6. 电池7. 连接线8. 实验台四、实验步骤1. 搭建智能小车平台,将各个模块连接到主控板上。
2. 连接电池,给小车供电。
3. 编写程序,实现以下功能:(1)无指示线直行:通过MPU6050六轴传感器获取小车姿态的偏航角,结合编码器脉冲值,采用PID控制算法实现小车直线行驶。
(2)有指示线弯道行驶:通过8路灰度传感器获取小车在指示线上的实时运动方位,输出模拟量,结合编码器脉冲值,采用PID控制算法实现小车沿指示线行驶。
(3)OLED显示屏显示小车状态信息。
(4)红色LED及蜂鸣器声光提示单元,用于提示小车行驶状态。
4. 编译程序,烧录到主控板上。
5. 对小车进行测试,观察各项功能是否正常。
五、实验结果与分析1. 无指示线直行:小车在无指示线的情况下,能够根据MPU6050六轴传感器获取的姿态信息,实现直线行驶。
通过调整PID参数,可以优化小车行驶的稳定性和精度。
2. 有指示线弯道行驶:小车在有指示线的情况下,能够根据8路灰度传感器获取的实时运动方位,实现沿指示线行驶。
通过调整PID参数,可以优化小车转弯的幅度和精度。
3. OLED显示屏显示小车状态信息:通过OLED显示屏,可以实时查看小车的行驶状态,如速度、位置等。
4. 红色LED及蜂鸣器声光提示单元:在行驶过程中,红色LED和蜂鸣器能够提示小车行驶状态,提高安全性。
一、实验目的1. 了解智能小车的基本组成和原理。
2. 掌握编程智能小车的基本方法。
3. 培养动手能力和创新思维。
二、实验原理智能小车是一种能够通过编程实现自主移动、避障、寻找目标等功能的微型车辆。
它主要由以下几部分组成:1. 控制模块:负责整个系统的运行,如Arduino、Raspberry Pi等。
2. 传感器模块:用于检测周围环境,如红外传感器、超声波传感器等。
3. 驱动模块:负责控制小车前进、后退、转向等动作,如电机驱动器。
4. 电源模块:为整个系统提供电源。
本实验采用Arduino作为控制模块,通过编写程序实现小车的智能控制。
三、实验器材1. Arduino UNO控制板2. L298N电机驱动器3. 2个直流电机4. 2个车轮5. 1个红外传感器6. 1个超声波传感器7. 连接线若干8. 移动平台(如小车底盘)四、实验步骤1. 准备工作(1)搭建硬件电路:将电机驱动器、传感器、车轮等模块按照电路图连接到Arduino控制板上。
(2)编写程序:使用Arduino IDE编写控制小车运动的程序。
2. 编写程序(1)初始化传感器:设置红外传感器和超声波传感器的引脚,并初始化它们。
(2)编写主循环:在主循环中,读取传感器的数据,根据数据控制小车的运动。
(3)编写避障程序:当红外传感器检测到障碍物时,小车需要减速或停止,超声波传感器用于测量障碍物距离。
(4)编写寻找目标程序:当小车遇到目标时,根据目标位置调整小车方向,实现跟踪。
3. 调试与优化(1)调试程序:将编写好的程序上传到Arduino控制板,观察小车运行情况,根据实际情况调整程序。
(2)优化程序:根据实验需求,对程序进行优化,提高小车运行效率。
五、实验结果与分析1. 实验结果通过编程实现的小车能够完成以下功能:(1)自主移动:小车能够按照设定的路径前进、后退、转向。
(2)避障:当遇到障碍物时,小车能够减速或停止,避免碰撞。
(3)寻找目标:当遇到目标时,小车能够根据目标位置调整方向,实现跟踪。
实验十五:树莓派平台-TCP控制智能小车实验(上位机)一.实验基本介绍本次实验主要是通过搭建TCP并发服务器,支持多用户连接控制智能小车,客户端上位机通过连接上小车搭建好的TCP_control并发服务器。
通过发送TCP 协议数据控制小车的前进,后退,左转,右转,停止,左旋,右旋,以及前舵机的左中右控制,后面摄像头舵机任意角度的连续控制,还有七彩灯的控制,灭火,鸣笛,小车的加速,减速。
以及树莓派智能小车通过丰富的传感器采集的数据实时的显示在我们的上位机上。
也是通过TCP协议通信。
二.TCP通信模型的设计服务器端:(被动接受请求)socket //电话机|bind(ip+port) //绑定电话号码绑定服务器自己的ip和port等待客户端连接。
|listen //监听有人打电话进来|accept //接听电话|recv/send //通话过程|close //挂机客户端:(主动发起连接)socket //电话机|bind(ip+port) //绑定电话号码|connect //拨打电话|recv/send //通话过程|close //挂机三.TCP常用函数讲解<1>创建流式套接字int socket(int domain, int type, int protocol);功能:创建socket ,返回对应的文件描述符参数:@domain 域(通信的范围)@type SOCK_STREAM 流式套接字: 有序可靠,面向连接字节流SOCK_DGRAM 报文套接字:无连接的,不可靠的SOCK_RAW 原始套接字: 可以访问一些低层的网络协议@protocol 0表示默认的方式SOCK_STREAM TCPSOCK_DGRAM UDP返回值:成功文件描述符失败-1 ,并设置errno<2>把服务器的ip和port和sockfd绑定int bind(int sockfd, const struct sockaddr *addr,socklen_t addrlen);功能:绑定一个地址(ip+port)到一个socket 文件描述符上参数:@sockfd socket 函数获得的文件描述符@addr 地址信息结构体//通用结构体struct sockaddr {sa_family_t sa_family; //地址族char sa_data[14]; //地址信息}//TCP/IP协议的地址结构struct sockaddr_in {sa_family_t sin_family; //协议簇in_port_t sin_port; //端口struct in_addr sin_addr; //ip地址};@addrlen 表示addr 参数对应类型的地址信息结构体的大小返回值:成功0失败-1&errno操作:(1).定义地址结构体变量,清零struct sockaddr_in ser_addr;memset(&ser_addr,0,sizeof(ser_addr));(2).填充地址信息ser_addr.sin_family = AF_INET;//地址协议族ser_addr.sin_port = htons(8888);//端口号ser_addr.sin_addr = inet_addr("192.168.1.7");(3). 绑定if(bind(sockfd,(struct sockaddr*)&ser_addr,sizeof(ser_addr)) < 0){perror("bind fail");exit(EXIT_FAILURE);}<3>获得客户连接请求,创建连接连接套接字,负责数据通信。
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);功能:获取连接请求,建立连接套接字参数:@sockfd 监听套接字@addr 用来获取对端的地址信息@addrlen 值结果参数(注意:必须自己初始化一个值sizeof(addr)) 返回值:成功新连接的套接字文件描述符失败-1 ,并设置错误码。
---------------------------------------------------------------------------------------------------------------- 特点:1.请求队列中没有请求,阻塞调用者2.每次提取一路请求,就会创建一个新的套接字,我们称为连接套接字,用来和客户端收发数据----------------------------------------------------------------------------------------------------------------- int listen(int sockfd ,int backlog);功能:把同一个时刻来的套接字存放如监听队列中。
<同一个时刻>参数:@sockfd 监听的套接字@backlog 连接请求队列的最大长度。
一般设置为30 以下。
注意:有的时候backlog很小,但是我们也可以了解很多台机器。
服务器机器处理速度很快队列来不及填满就处理完了,而且在同一个时刻到来的连接还是很少的<4>客户端向服务器请求连接的函数int connect(int sockfd, const struct sockaddr *addr,socklen_t addrlen); 功能:向服务端发起连接。
参数:@sockfd 客户端的socket文件描述符@addr 代表服务器端的地址信息@addrlen addr 对应的地址结构体类型的大小返回值:成功返回0,失败返回-1<5>发送数据ssize_t send(int sockfd, const void *buf, size_t len, int flags);功能:给指定的sockfd发送数据参数:@scokfd 套接字@ buf 发送数据的缓冲区@len 要发送数据的长度@flags 设置网络标志,常常设置为0返回值:成功,返回值> 0,发送成功的字节数返回值==0,发送超时返回值<0, 发送失败,并设置错误码//在阻塞模式下,下面的公式等价注:send(sockfd, buf, len, 0); <===> write(sockfd, buf, len);<6>接收数据ssize_t recv(int sockfd, void *buf, size_t len, int flags);功能:接收指定的sockfd的数据即连接套接字返回的文件描述符参数:@scokfd 套接字@ buf 接受数据的缓冲区@len 要接受数据的长度@flags 设置网络标志,常常设置为0返回值:成功,返回值> 0,成功接收的字节数返回值==0,对方关闭了连接返回值<0, 发送失败,并设置错误码//在阻塞模式下,下面的公式等价注:recv(sockfd, buf, len, 0); <===> read(sockfd, buf, len); 四.TCP多线程并发服务器设计多线程TCP并发服务器。
//线程处理函数void *do_client(void *age){int connect_fd = *(int *)arg;while(1){//接收客户端数据recv();..}}socket(...);bind(...);listen(...);while(1){pconnect_fd = malloc(sizeof(int)); //在堆区创建空间保持文件描述符*pconnect = accept(...);//创建线程接收数据ret = pthread_creat(&tind,NULL,do_client,pconnect_fd);close(...);exit(...);}pthread_detach(tid);}对于本次实验中我们也是采用了多线程的思维去处理,一路线程负责解析上位机传过来的TCP数据,并执行相应的动作。
一路线程负责将小车传感器采集的数据打包传给上位机显示。
一路线程负责检测舵机的控制状态,并执行相应的舵机动作。
五.操作步骤首先我们连上小车的wifi,通过SSH或者putty远程登录到树莓派。
然后切换root用户。
输入:su,然后输入密码yahboom,这时进入root权限的界面如下:随后输入top可以看到541进程号是蓝牙遥控的进程,554是摄像头进程,注意这里的进程号不同的树莓派是不同的,然后我们要先关闭蓝牙进程这样我们打开TCP进程才不会与蓝牙进程冲突。
输入命令杀掉进程:注意上个界面如何退出呢,输入ctrl+z退出。
命令:kill -9 541如下图所示:然后进到SmartCar目录下:找到TCP_control.c 里面有个ip地址和端口号可以根据树莓派自己的ip进行修改,一般出厂是自带热点所以ip【192.168.0.1】,端口号默认是【8888】我们直接运行TCP进程,如下命令:./TCP_control这样我们的TCP进程就运行成功了。
如下提示Listen:下面我们打开上位机选择4WD-树莓派。
然后点击【连接视频】则可以看到视频,点击【连接控制】则其他所有按键都可以控制。
成功后如下:服务器会有如下提示:至此TCP控制就算完成。