玩转Arduino合集演示教学课件.ppt

上传人(卖家):晟晟文业 文档编号:4780707 上传时间:2023-01-09 格式:PPT 页数:108 大小:6.15MB
下载 相关 举报
玩转Arduino合集演示教学课件.ppt_第1页
第1页 / 共108页
玩转Arduino合集演示教学课件.ppt_第2页
第2页 / 共108页
玩转Arduino合集演示教学课件.ppt_第3页
第3页 / 共108页
玩转Arduino合集演示教学课件.ppt_第4页
第4页 / 共108页
玩转Arduino合集演示教学课件.ppt_第5页
第5页 / 共108页
点击查看更多>>
资源描述

1、玩转Arduino合集Arduino是什么?Arduino硬件介绍 Arduino编程环境介绍Arduino的安装 Arduino IDE的安装 USB驱动的安装4Arduino程序结构:setup()上电后setup()函数执行一次5Arduino程序结构:loop()loop()函数一直循环运行6Arduino数字输入输出Arduino程序下载 HelloWorld程序动手 HelloWorld:点亮一个LED灯Arduino与电子积木 什么是电子积木 电子积木如何与Arduino连接 传感器扩展板 连接线数字型电子积木通用按钮模块 小按钮模块 大按钮模块 磁力开关 触摸传感器倾斜传感器人

2、体运动 红外热释传感器反射型红外开关 50cm100cm 反射型红外开关 10cm 反射型红外开关 2cm对射型 红外开关 8米继电器模块动手 通过按钮模拟来控制LED灯的亮灭面包板使用方法介绍动手 用面包板完成LED模块的电路连接LED基本电路电阻电阻LED电源(正电源(正/负)负)LED控制代码动手 使用Arduino和传感器扩展板 使用Arduino的9,10,11三个引脚 使用三个LED和1K的电阻 通过程序进行控制 讨论彩色LED 红/绿/蓝 三原色 根据公共端的不同有共阳/共阴两种动手 更换RGB LED 用Arduino程序混色 讨论模拟信号 模拟信号的值可以连续变化 9V电池就

3、是一种模拟器件,因为它的输出电压并不精确地等于9V,而是随时间发生变化,并可取任何实数值。光照强度、温度、湿度等也都是模拟信号Arduino中的模拟输出 analogWrite(pin,value)pin为Arduino上的PWM引脚 3,5,6,9,10,11 value取值0-255 PWM 实现模拟信号的数字化方法 动手 Arduino控制LED淡入淡出效果动手 实现全彩的混色模拟输入 通常基于分压原理 电位器 电子积木电子积木 300度度 旋转角度传感器旋转角度传感器Arduino中的模拟输入 analogRead(pin)pin:模拟输入引脚 A0,A1,A2,A3,A4,A5 返回

4、值:0-1024(10位精度)动手 通过读取电位器的值来控制LED灯的亮度300度 旋转角度传感器多圈 旋转角度传感器 60行程 滑动电位器 推子游戏杆 控制杆 JoyStick模拟温度传感器光线传感器声音传感器Sharp 红外距离传感器 30cm,80cm,150cm,5.5m三轴 加速度传感器FlexiForce压力传感器 1 lb,25 lb,100 lbFSR系列压力传感器 压力1-10kG 尺寸和外形不同弯曲传感器 单向,双向拉伸 传感器 4 inch,6 inch动手 实验各种模拟传感器 对RGB LED进行控制 分享串口通信 串口通信(Serial Communication)是

5、Arduino和计算机间按位进行数据传输的一种最基本的方式。使用3根线完成 地线,GND 发送,Tx 接收,Rx 主要参数 波特率:通信速度,表示每秒钟传送的位(bit)的个数 数据位 停止位 奇偶校验位Arduino 串口USB转串口 PC端:串口 Arduino端:USB串口引脚 RX:Pin 0 TX:Pin 1串口数目 Arduino MEGA和Arduino 2560:4个 其余:1个串口初始化函数 Serial.begin(speed)speed:300,1200,2400,4800,9600,14400,19200,28800,38400,57600,115200 通常在 set

6、up()函数里调用Arduino 串口输出 将数据从Arduino传输到PC TX 串口转USB PC端软件串口监视软件 Arduino IDE自带串口监视软件 也可以用其它软件进行接收:Flash,Processing,Director,vvvv等 串口输出函数 Serial.print(val),Serial.println(val)输出ASCII码(后者多一个回车换行)Serial.print(val,format),Serial.println(val,format)按指定格式输出(后者多一个回车换行)Serial.print(val)实例 Serial.print(78)输出78 S

7、erial.print(1.23456)输出1.23 Serial.print(byte(78)输出“N”(N的ASCII码值为78))Serial.print(N)输出N Serial.print(Hello world.)输出Hello world.Serial.print(val,format)实例Serial.print(78,BYTE)输出N Serial.print(78,BIN)输出1001110 Serial.print(78,OCT)输出116 Serial.print(78,DEC)输出78 Serial.print(78,HEX)输出4E Serial.print(1.2

8、3456,0)输出1 Serial.print(1.23456,2)输出1.23 Serial.print(1.23456,4)输出1.2346 动手动手 尝试输出更多格式的数据到计算机 Serial.print(78)Serial.print(1.23456)Serial.print(byte(78)Serial.print(N)Serial.print(Hello world.)Serial.print(78,BYTE)Serial.print(78,BIN)Serial.print(78,DEC)Serial.print(78,HEX)Serial.print(1.23456,2)串口液

9、晶模块波特率9600命令格式所有对该液晶屏进行控制的串口命令都以字符”$”开始,以回车换行”rn”结束,两者之间是相应的命令和参数,不同的命令具有不同的参数。操作命令光标移动:GO行列行和列均从1开始GO 1 1在当前光标位置上显示字符串 PRINT字符串PRINT Hello Arduino清屏:CLEAR 将光标移回到屏幕左上角的初始位置:HOME 设置光标效果:CURSOR显示闪烁第一个参数为是否显示光标(1和0)第二个参数为是否闪烁(1和0)CURSOR 1 1一个完整命令的例子Serial.print($PRINT Flamingo EDArn);Serial.println($PR

10、INT Flamingo EDA);动手 要求:清屏后在屏幕上的第二行第二列开始显示字符串Arduino Club 提示提示 在在loop的最后加的最后加delay防止闪烁防止闪烁 在下载代码的时候不能接显示屏在下载代码的时候不能接显示屏Arduino 串口输入串口队列(Buffer)PC和Arduino间的缓冲区串口输入函数 Serial.available()返回值:当前可读的数据数目 Serial.read()如果串口没有数据可读,返回-1 如果串口有数据可读,返回第一个字符,并从串口队列中取出 Serial.peek()如果串口没有数据可读,返回-1 如果串口有数据可读,返回第一个字符

11、,但不从串口队列取出,因此下次还能读到 Serial.flush()清空串口队列动手作业 从串口输入以$开始,以回车换行(rn)的命令,对其进行解析,控制指定数字I/O引脚上的LED,第一个参数为引脚号,第二个参数为亮灭$D 2 1rn$D 3 0rn 控制指定PWM端口上的LED亮度 第一个参数为引脚号,第二个参数为亮度值$P 6 128rn基于串口的电子积木(一)串行液晶显示屏串行液晶显示屏 字符型字符型 1602 LCD 1602 LCD USBUSB转串口适配器转串口适配器 RS485RS485串口模块串口模块 MAX232 MAX232 串口模块串口模块 无线数据传输模块无线数据传输

12、模块 APC220 APC220 蓝牙串口模块蓝牙串口模块基于串口的电子积木(二)串口串口RFIDRFID模块模块 10cm 10cm 串口串口RFIDRFID模块模块 6cm 6cm XBee USB XBee USB 适配器适配器 直流电机 将电能转换为机械能的一种装置 两个电源接头 在适当的电压下给予足够的电流时将连续旋转,旋转方向由电流方向决定 普通直流电机转速高力矩小,适用于对力矩要求小的场合直流减速电机 直流减速电机(齿轮减速电机)是在普通直流电机的基础上,加上配套齿轮减速箱。齿轮减速箱可以提供较低的转速和较大的力矩,不同的减速比可以提供不同的转速和力矩常用参数工作电压(额定电压)

13、驱动电机推荐使用的电压 高于或者低于工作电压时电机也能工作 实际电压 额定电压,会影响电机的寿命工作电流 电机工作电流越大,输出功率越大 空载运行时,电机的电流最小(空载电流)负载增大到使电机停止转动时(堵转电流)转矩 电机的转动力转速 每分钟旋转的圈数(转/分,RPM)注意!电机属于大电流设备,无法用Arduino引脚直接控制 区别于LED 电机电压高于Arduino的工作电压,注意隔离和接线 出错可能导致Arduino烧毁 电机在不通电的情况下旋转将产生逆电流(逆电压)发电机的工作原理 逆电流的方向与电机工作电流的方向相反 逆电流会造成电子设备的损坏动手 观察逆电压手工发电机基本控制电路

14、用三极管或者MOS管驱动电机动手 用Arduino控制电机的转动代码 与LED灯控制代码相同电机速度控制 复习PWM 高速地开关三极管来实现对电机的控制 占空比(打开时间:关闭时间)决定了输出给电机的能量份额 Arduino的analogWrite函数用来产生PWM信号动手 用Arduino控制电机转动的速度 如何让速度变化更容易观察到?H桥式驱动电路 4个三极管控制一个直流电机 只让对角线上的一对三极管导通 否则会短路,烧坏三极管 能同时控制速度和方向电机驱动芯片L293D 包含两个H桥式驱动电路,可以用来驱动两个直流电机电机电机使能引脚使能引脚方向方向A A方向方向B B电机电源电机电源A

15、rduino 5VArduino 5V电机电源和电机电源和Arduino Arduino 需要共地需要共地!Arduino控制L293D 速度控制 使用Arduino模拟输出引脚 将产生的PWM信号连接到L293D的使能引脚 方向控制 使用Arduino的数字输出引脚 将产生的数字信号连接到L293D的A、B两个方向引脚 正转:A为高,B为低 反转:A为低,B为高 制动:A、B同时为高或者低动手 用L293D控制电机Arduino电机驱动扩展板 基于L298N,工作原理与L293D一样 提供更大工作电流,可以驱动大的直线电机 逆电压消除电路步进电机 一种可以精确控制的交流电机 由驱动脉冲控制,

16、每个脉冲让电机前进一个固定的角度(步进角)电机速度由单位时间内脉冲的个数决定(脉冲频率)功率小,负载能力低,控制相对复杂双极性步进电机 每个线圈都可以两个方向通电 四根引线,每个线圈两条 使用数字万用表确定线圈分组 某两根引线之间能够测量到阻值就属于一组 双极性步进电机的步距通常是1.8 转一圈需要200步工作原理步进电机驱动器 需要不断改变线圈中电流的方向 通过H桥式驱动电路完成 步进电机驱动模块EasyDriver 方向方向步进脉冲步进脉冲地地电机电源电机电源地地线圈线圈A A线圈线圈B B电机电源和电机电源和Arduino Arduino 需要共地需要共地!Arduino控制EasyDr

17、iver 方向控制 使用Arduino的数字输出引脚 速度控制 使用Arduino的数字输出引脚 产生脉冲信号动手 用EasyDriver驱动双极性步进电机升降速曲线 步进电机在拖动负载高速移动一定距离并精确定位时一般来说都应包括五个阶段 启动 加速 高速运行(匀速)减速 停止 不同阶段的脉冲频率应不同舵机 舵机也叫伺服电机(Servo),工作电压一般4.6 7.2V 由直流电机、减速齿轮组、传感器和控制电路组成 主要应用在定位控制上舵机接口 标准三线接口标准三线接口 电源线电源线 地线地线 控制线控制线控制信号 舵机的控制信号也是一种PWM信号 脉冲周期20毫秒 脉冲高电平持续1毫秒(100

18、0微秒)到2毫秒(2000微秒)用来控制的脉冲信号必须持续产生,否则很难稳定注意!舵机对控制脉冲高电平的宽度非常敏感 抖动:控制信号每个脉冲的高电平宽度不稳定 两个控制脉冲的间隔时间不太敏感 只要在可以接受的范围内都可以(14ms到20ms)只有机械约束,没有电路约束 控制脉冲宽度大于920us或者2120us,对电机寿命会有影响 驱动电机到达物理上不可能到达的位置 千万不能接反电源 大部分舵机都可能会烧毁 通过实验来找出电机的运动范围 大部分舵机的运动区间都在150度左右Arduino如何控制舵机 Servo库 servo.attach(pin)在指定的引脚上连接舵机 servo.write

19、(anlog)将舵机旋转到指定的角度位置 servo.writeMicroseconds(us)生成指定宽度(微秒)的控制脉冲动手 利用Arduino为舵机找到中心位置 以中心位置左右摆动Arduino如何与外界沟通 Pin COM SPI IICCOM COM RX/TXRX/TX(0,1)(0,1)SPI SPI SCK,MISO,MOSI,SSSCK,MISO,MOSI,SS(13,12,11,10)(13,12,11,10)I2C I2C SDA/SCLSDA/SCL(A4,A5)(A4,A5)RF遥控 无线射频(Radio Frequency)在空气中传播的电磁波 主要包括无线收/发

20、机 发射模块 接收模块 应用场景 车辆/家庭防盗 遥控玩具4路RF模块 无线发射模块对应于数字输出(Digital Out)将相应引脚设置成高,发出数据 无线接收模块对应于数字输入(Digital In)若相应引脚读出为高,接收数据 一共4个通道:C1、C2、C3、C4无线发射模块无线发射模块无线接收模块无线接收模块动手 两台Arduino一组 发射组 RF发射模块一个 按钮模块一个 接收线 RF接收模块一个 LED模块一个 目标 通过按钮来控制对方LED灯的亮灭参考代码发射端代码发射端代码接收端代码接收端代码问题讨论 各个组之间如何避免冲突 可以尝试使用不同的通道 为RF模块配置不同的地址动

21、手 两台Arduino一组,交换发射组和接收组 发射组 RF发射模块一个 按钮模块两个 接收组 RF接收模块一个 舵机 目标 多通道无线数据收发 模拟遥控汽车,用按钮控制舵机的左右转向RF数据传输 4路RF模块传输的是数字信号 简单的开/关、1/0信号 无线数传模块可以实现各种数据的传输 数字量:开/关 模拟量:光线、温度、声音等APC220 通过串口(COM)与Arduino进行沟通 数据收发一体,即可以发送数据又可以接收数据 数据发送:写串口 Serial.write()数据接收:读串口 Serial.read()传输距离:开阔地1200mArduino与COM模块的连接 传感器扩展板 COM/I2C连接线COMCOM动手 两台Arduino一组 发射组 APC220一个 按钮模块一个 接收组 APC220一个 LED模块一个 目标 发射组在按钮按下时通过APC220模块发送数据A 接收组在收到数据A时点亮LED参考代码发射端代码发射端代码接收端代码接收端代码问题讨论 按钮的处理 消抖处理:发送端delay(100)改成delay(10)呢?如何保证按一下按钮,只发送一次?APC与PC间的无线连接 USB转串口适配器动手 Arduino作为数据收集器采集传感器数据 通过APC220模块传递给PC机 通过串口监视软件观察数据变化 如何使数据更加可读?

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(玩转Arduino合集演示教学课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|