1、巡线小车第一次培训大家好1推荐学习网址Arduino官网:(全英文)Arduino中文社区:大家好2什么是巡线小车?在白色水平地面上对任意黑色曲线循迹行走我们能轻松达到的水平:2014寻线小车目前国内外水平较高的巡线小车:3pi、飞思卡尔智能车大家好3巡线小车原理通过红外传感器检测黑线返回数据到单片机单片机对数据进行处理控制电机做出相应动作大家好4转向原理小车有2个驱动轮和一个万向轮,可以用差速原理来控制小车转向。差速转向就是通过驱动两个轮子以不同速度运行,从而达到转弯的目的。例如控制你的小车左边电机转速慢,右边电机转速快,单位时间右轮行驶距离比左轮大,小车就自然往左边转动。目前大型的挖掘机,
2、推土机、坦克都是采用这种驱动方式。由于驱动简单,对硬件要求的考虑,此次我们推荐智能小车也采用这种驱动方式大家好5系统硬件设计MCU(单片机)IR sensorsmotors大家好6系统主要器件列表控制部分:Arduino驱动部分:L293D、L298N信息采集部分:反射式IR对管电源部分:1.3V 5号镍氢充电电池*43.7V 5号锂电池*2大家好7准备知识对于初学者,推荐使用arduino作为主控芯片入门要求低,只需掌握简单C语言知识即可大家好8准备知识C语言中常见变量类型、逻辑运算符变量类型char 字符型int 整型float 浮点型unsigned int无符号整型unsigned c
3、har 无符号字符型unsigned float 无符号浮点型逻辑运算符&按位与|按位或&逻辑与|逻辑或大家好9准备知识各I/O口功能D0D13D0D13:数字数字IOIO口,可以进行数字量的读和口,可以进行数字量的读和写。写。(其中其中6 6路作为路作为PWMPWM输出)输出)digitalWritedigitalWrite(pin,valuepin,value):数字量写。数字量写。digitalReaddigitalRead(pinpin):数字量读。:数字量读。可可输出输出PWMPWM波波引脚(引脚(3 3、5 5、6 6、9 9、10 10、1111):):提供提供6 6路路8 8位
4、位PWMPWM输出。输出。analogWriteanalogWrite(pin,valuepin,value):模拟量写。模拟量写。大家好10 PWMPWM是一种对是一种对模拟信号模拟信号电平进行数字编电平进行数字编码的方法。通过高分辨率计数器的使用,方波码的方法。通过高分辨率计数器的使用,方波的占空比被调制用来对一个具体模拟信号的电的占空比被调制用来对一个具体模拟信号的电平进行编码。平进行编码。PWMPWM信号仍然是数字的信号仍然是数字的,因为,因为在给定的任何时刻,输出的电平只有高低电平在给定的任何时刻,输出的电平只有高低电平两个状态。两个状态。通过调节占空比来实现使通过调节占空比来实现使
5、出不同的电压。通过这种出不同的电压。通过这种方法可以对电机进行调速,方法可以对电机进行调速,控制控制ledled的亮度等。的亮度等。大家好11串口通信串口通信 在在ArduinoArduino中可以通过调用几个的函数,中可以通过调用几个的函数,简单的实现简单的实现ArduinoArduino与其他设备的通信。与其他设备的通信。首先在首先在setupsetup()函数中写入()函数中写入 Serial.Serial.begin(9600);begin(9600);该语句的功能是设置串口通信波特率为该语句的功能是设置串口通信波特率为9600bps9600bps。Serial.print()Seri
6、al.print():串口输出数据函数。串口输出数据函数。Serial.println()Serial.println():串口输出数据函数。输出:串口输出数据函数。输出后将换行。后将换行。Serial.read()Serial.read():读取串口函数。:读取串口函数。Serial.write()Serial.write():串口输出数据函数。写二:串口输出数据函数。写二进制数据到串口。进制数据到串口。Serial.available()Serial.available():判断:判断ArduinoArduino串口是否串口是否收到数据。收到数据。大家好12系统软件设计电机控制直流电机PWM调速控制采集信息采集信息小车动作小车动作左边检测到黑线左边检测到黑线左边未检测到黑线左边未检测到黑线右边检测到黑线停车右转右边未检测到黑线左转直行大家好13结束大家好14