已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
arduino入门很简单(培训学习) 第11章LCDO11.1LCD模块LCD1602O11.2LCD控制库LiquidCrystalO11.3LiquidCrystal_I2C库1学习培训11.1LCD模块LCD1602O接下来的学习过程中将以LCD1602为基础来进行讲解。 LCD1602是字符型的液晶显示器。 2学习培训11.2LCD控制库LiquidCrystalO11.2.1LiquidCrystal八线模式O11.2.2LiquidCrystal四线模式3学习培训11.2.1LiquidCrystal八线模式4学习培训11.2.2LiquidCrystal四线模式5学习培训11.3LiquidCrystal_I2C库6学习培训第12章声音模块O12.1麦克风模块O12.2超声波模块7学习培训12.1麦克风模块O12.1.1读取麦克风数据O12.1.2声控灯O12.1.3自适应声控灯8学习培训12.1.1读取麦克风数据9学习培训12.1.2声控灯10学习培训12.1.3自适应声控灯O上一个小节实现的是一个当前环境下是非常好用的一个声控LED,但是如果再将它放在一个噪声比较大的环境中,就会看到LED会时刻都被点亮,通过对程序做一些简单的修改,我们可以创造出一个“自适应”型的声控灯。 11学习培训12.2超声波模块O12.2.1超声波模块HC-SR04O12.2.2第三方库NewPingO12.2.3超声波模块应用12学习培训12.2.1超声波模块HC-SR0413学习培训12.2.2第三方库NewPing14学习培训12.2.3超声波模块应用15学习培训第13章RFID射频识别O13.1RFID概览O13.2RFID硬件O13.3为RFID编程O13.4简易公交收缴费系统16学习培训13.1RFID概览O1.RFID构成O2.RFID工作原理O3.RFID优缺点17学习培训1.RFID构成O RFID主要是由读/写器和应答器构成的。 读/写器的作用是对应答器进行读和写操作,例如最常见的交通工具刷卡器。 应答器是一个信息存储介质,其中的数据通常可以保存一段较长的时间。 这些数据可以被读写器操作。 18学习培训2.RFID工作原理O RFID的工作原理就是利用电磁波进行通讯。 RFID正常工作除了需要硬件的支持外,还需要相关的协议支持,例如常见的ISO/IEC14443A协议。 在软件协议的约束下,应答器与读/写器直接就可以正确地进行通讯。 19学习培训3.RFID优缺点O RFID的优点如下O RFID设备抗干扰能力强,不易损坏;O RFID应答器使用寿命长;O读取距离大;O应答器中的数据可以加密;O数据存储容量大;O存储信息可以修改。 20学习培训3.RFID优缺点O RFID的缺点如下O数据泛滥O没有一个全球标准;O安全问题;O可能会被恶意使用;O高温损坏。 21学习培训13.2RFID硬件O RFID的硬件由读/写器和应答器(通常为电子标签)组成。 读/写器和应答器之间的通讯方式有很多种。 通常情况下,这些方式是互不兼容的,主要原因是工作的频带不同。 O13.2.1RFID读/写器O13.2.2RFID应答器22学习培训13.2.1RFID读/写器O RFID读/写器用来从应答器中读取信息或者向应答器中写入信息。 MFRC522是工作在13.56MHz下的非接触式通信读/写集成电路。 23学习培训13.2.2RFID应答器O RFID应答器用来存储数据。 在本章中使用的是MF1S503x系列的MIFARE1KB智能卡。 24学习培训13.3为RFID编程O13.3.1读取RFID应答器的出厂数据O13.3.2RFID开发流程O13.3.3操作RFID应答器的值块O13.3.4操作RFID应答器读写块25学习培训26学习培训13.3.1读取RFID应答器的出厂数据O RFID应答器在出厂时通常会将访问位设置为FF078069h,而将Key A和Key B均设置为FFFFFFFFFFFFh。 rfid第三方库提供的DumpInfo示例程序可以读取出RFID应答器中可访问的数据。 27学习培训13.3.2RFID开发流程O rfid库将读写寄存器以及校验等步骤都进行了封装。 用户只需要访问几个公共的方法,就可以使用RFID。 28学习培训13.3.3操作RFID应答器的值块O RFID应答器的数据块可以被配置为读/写块和值块。 值块拥有比读/写块更多的操作,这使得对数据的操作非常方便。 下面的示例就是使用MIFARE_Increment()函数对值块进行加1操作。 29学习培训13.3.4操作RFID应答器读写块O RFID应答器读写块的操作在rfid库的帮助下变得非常简单。 该库提供了非常简单的MIFARE_Read()和MIFARE_Write()来完成读取和写入的功能。 30学习培训13.4简易公交收缴费系统O13.4.1缴费系统O13.4.2收费系统31学习培训13.4.1缴费系统O缴费系统的实现思路如下O使用Key B进行验证;O根据串口监视器的提示输入充值金额;O确认充值金额;O充值成功,显示余额。 32学习培训13.4.2收费系统O收费系统的实现非常简单,思路如下O使用密钥进行验证;O执行扣费操作;O输出余额。 33学习培训第14章实时时钟RTCO14.1RTC简介O14.2DS1302集成电路O14.3DS1302工作原理O14.4寄存器的突发模式O14.5第三方库ds1302O14.6简易LED时钟34学习培训14.1RTC简介O RTC就是一个电脑时钟,更通俗地说是一个集成电路,它可以保持一个正确的时间。 在GPS接收器上,它可以通过与当前时间进行比较,从而缩短初始化的时间,而当前时间就是由RTC维持的。 O1.RTC的优点O2.RTC的技术实现O3.常见的RTC芯片35学习培训1.RTC的优点O功耗小,这对于使用备用电源的系统来说非常重要;O释放时序要求严格会话的主系统,这可以使得主系统专心处理会话而不需要维持时钟;O比其他方式更加精确。 36学习培训2.RTC的技术实现O大多数RTC使用的是晶体振荡器,也有一些使用的是通用频率(Utility frequency)。 RTC使用的晶体振荡器的频率是32.768kHz,这个频率也用在石英钟和手表中。 这个频率正好是每秒215个周期,所以这个周期可以方便地被二进制计数器电路使用。 37学习培训3.常见的RTC芯片O现在流行的RTC芯片有DS 1302、DS 1307、PCF 8485、DS 3231、DS 3232、DS 3234、DS32B35等。 这些芯片由于接口简单、价格低廉、使用方便的特点而被广泛采用。 在本章中将以DS1302为主体进行介绍。 38学习培训14.2DS1302集成电路O DS1302是DS1202的继承者,它的封装非常小巧但是功能却是非常强大的。 39学习培训14.3DS1302工作原理O14.3.1CE和时钟控制O14.3.2数据输入和输出O14.3.3时钟/日历O14.3.4写保护寄存器O14.3.5RAM寄存器O14.3.6涓流充电寄存器40学习培训14.3.1CE和时钟控制O CE输入在高电平的时候初始化所有数据操作,它有两个功能O打开控制逻辑允许访问移位寄存器;O终止能力可以终止单位和多位数据传输。 41学习培训14.3.2数据输入和输出O在数据输入之前,首先通过8个SCLK周期输入写命令,在接下来8个SCLK周期的上升沿将1比特的数据输入。 多余的SCLK周期将被忽略,而且数据输入是从BIT0开始的。 42学习培训14.3.3时钟/日历O时间和日期信息可以通过读取指定寄存器获得。 地址读命令写命令BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0取值范围0081h80h CH秒数的十位秒的个位00591183h82h分钟数的十位分钟数的个位00592285h84h12/0小时的十位小时的十位小时的个位112/02333/PM4487h86h00日期的十位日期的个位1315589h88h000月份的十位月份的个位112668Bh8Ah00000周17778Dh8Ch年的十位年的个位009943学习培训14.3.4写保护寄存器O写保护寄存器用于控制对时钟或者RAM寄存器的写操作,该寄存器的地址为8。 地址读命令写命令BIT77BIT6BIT5BIT4BIT33BIT2BIT1BIT0取值范围888Fh8Eh WP0000000-44学习培训14.3.5RAM寄存器O静态RAM是RAM地址空间中的31bytes的连续地址空间。 45学习培训14.3.6涓流充电寄存器O涓流充电寄存器控制的是DS1302的涓流充电特性。 地址读命令写命令BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0取值范围9991h90h TCS TCSTCSTCS DS DSDSDS-46学习培训14.4寄存器的突发模式O突发模式可以通过将命令地址设置为十进制的31(也就是将操作命令的BIT15设为逻辑1)来指定时钟/日历或者RAM寄存器。 在这之前,需要通过BIT6指定操作时钟或者RAM;通过BIT0来指定读或者写。 O1.时钟/日历突发模式O2.RAM突发模式47学习培训1.时钟/日历突发模式O该模式通过时钟/日历命令比特指定,在这个模式下,前8个时钟/日历寄存器可以从地址0的BIT0开始连续地读或者写,其读命令为BFh,写命令为BEh。 48学习培训2.RAM突发模式O该模式通过RAM命令比特指定,在这个模式下,31个RAM寄存器可以从地址0的第0位连续地读或者写。 49学习培训14.5第三方库ds1302O14.5.1ds1302简介O14.5.2使用ds1302库设置日期和时间O14.5.3使用ds1302库读取日期和时间50学习培训14.5.1ds1302简介O ds1302库主要定义了Time和DS1302两个类。 下面依次讲解这两个部分。 O1.Time类O2.DS1302类51学习培训1.Time类O ds1302提供了Time类,该类详细表示了时间和日期,其构造函数如下O Time(uint16_t yr,uint8_t mon,uint8_t date,O uint8_t hr,uint8_t min,uint8_t sec,O Dayday);52学习培训2.DS1302类O ds1302库提供的主要类是DS1302,其构造方法如下O DS1302(uint8_t ce_pin,uint8_t io_pin,uint8_t sclk_pin)53学习培训14.5.2使用ds1302库设置日期和时间54学习培训14.5.3使用ds1302库读取日期和时间O在经过前面两个示例的设置后,指定的时间已经被存储在对应的寄存器中,并且已经开始计时。 与示例14-1以及示例14-2对应的,下面两个示例分别使用将当前时间作为对象返回的time()方法和返回单独时间日期信息的方法读取并输出RTC模块中的时间。 55学习培训14.6简易LED时钟56学习培训第15章伺服电机和步进电机O15.1伺服电机O15.2使用其他器件控制伺服电机O15.3步进电机57学习培训15.1伺服电机O15.1.1伺服电机工作原理O15.1.2伺服电机与ArduinoO15.1.3使用Arduino官方库Servo58学习培训15.1.1伺服电机工作原理O伺服电机(servo motor)是一种位置伺服的驱动器。 伺服电机的主要规格是扭矩与反应转速O扭矩的单位是N/m,在伺服电机规格中一般使用KG/cm,即通常所说的有多大劲;O反应转速的单位是Sec/60,即输出轴转过60需要花费的时间。 通常情况下反应转速越高的伺服电机精度越低,所以需要根据具体应用在两者之间做取舍。 59学习培训15.1.2伺服电机与Arduino60学习培训15.1.3使用Arduino官方库ServoO Servo库是Arduino官方专门为操作伺服电机而设计的一个库。 它非常简单易用,而且比我们自己实现的功能强大得多。 例如,在大多数Arduino板上可以同时控制12个伺服电机,Arduino Mega则可以同时控制48个。 61学习培训15.2使用其他器件控制伺服电机O15.2.1使用旋转电位器控制伺服电机O15.2.2使用按钮开关控制伺服电机O15.2.3使用游戏摇杆控制伺服电机O15.2.4使用遥控器控制伺服电机62学习培训15.2.1使用旋转电位器控制伺服电机63学习培训15.2.2使用按钮开关控制伺服电机64学习培训15.2.3使用游戏摇杆控制伺服电机65学习培训15.2.4使用遥控器控制伺服电机66学习培训15.3步进电机O15.3.1步进电机工作原理O15.3.2步进电机的类型O15.3.328BYJ-48和ULNxxO15.3.4Arduino、ULNxx和28BYJ-48连接O15.3.5使用Arduino的官方库StepperO15.3.6自己实现28BYJ-48的控制函数67学习培训15.3.1步进电机工作原理68学习培训1.单四拍69学习培训2.双四拍70学习培训3.八拍71学习培训15.3.2步进电机的类型O步进电机的工作原理大都是类似的,不过实际的步进电机主要有三种类型,它的使用方式还是有些许差别的,下面就分别介绍这三种类型。 O1.单极式步进电机O2.双极式步进电机O3.通用步进电机72学习培训15.3.328BYJ-48和ULNxx橙色 (4)粉色 (2)红色+5V黄色 (3)蓝色 (1)转子73学习培训15.3.4Arduino、ULNxx和28BYJ-48连接O之所以将Arduino、ULNxx和28BYJ-48三者的连接单独作为一个小节来介绍,是由于它们之间主要有两种连接方式,这两种方式都有各自的优缺点,读者在清楚地了解这些信息后,就可以根据自己的需求做出最优的产品。 O1.使用Stepper库以四线方式控制28BYJ-48步进电机O2.使用Stepper库以两线方式控制28BYJ-48步进电机74学习培训1.使用Stepper库以四线方式控制28BYJ-48步进电机75学习培训2.使用Stepper库以两线方式控制28BYJ-48步进电机单极步进电机76学习培训77学习培训15.3.5使用Arduino的官方库StepperO这个库非常轻巧,它只有3个函数。 函数参数描述功能描述Stepper(steps,pin1,pin2)Stepper(steps,pin1,pin2,pin3,pin4)steps步进电机旋转一周所需要的步数pin1控制线1pin2控制线2pin3控制线3pin4控制线4创建一个Stepper类的对象setSpeed(rpm)rpm步进电机的转速设置步进电机的转速单位是转/分钟,它只设置转速而不控制步进电机旋转step(steps)steps旋转步数,正数向一个方向旋转,负数则向相反的方向旋转控制步进电机旋转指定的步数,它的速度取决于最近调用的setSpeed()函数78学习培训1.控制步进电机以1转/分的速度旋转O伺服电机通常是不可以360旋转的,而步进电机可以,而且步进电机的旋转速度也可以被较精确地控制。 79学习培训2.控制步进电机正反转O控制步进电机的转动方向非常容易,只需要将绕组的通电顺序反向即可,Stepper库提供的实现方式也非常简单,只需要使用一个负值调用step()函数即可。 80学习培训3.Stepper库的step()函数O Stepper库的step()函数非常好用,它可以很方便地控制步进电机旋转指定的步数和旋转方向。 81学习培训15.3.6自己实现28BYJ-48的控制函数O Arduino官方库Stepper为我们控制步进电机提供了方便,但是由于官方库追求的最大兼容性的目标,使得使用Stepper库控制的步进电机只可以双绕组通电的方式运行。 这就使得28BYJ-48只能以双四拍的方式运行。 82学习培训第16章用Arduino做游戏打地鼠O16.1需求分析O16.2打地鼠雏形O16.3打地鼠高级O16.4打地鼠终极83学习培训16.1需求分析O1.雏形O2.升级加入击中动画和随机速度O3.终极将分数显示在LED上O4.连接电路84学习培训16.2打地鼠雏形O16.2.1实现随机“地鼠”O16.2.2按钮逻辑O16.2.3整合代码85学习培训16.2.1实现随机“地鼠”O随机“地鼠”的实现可以按照实现逻辑分为两个比较小的步骤实现随机数和实现随机位置。 下面分别进行介绍。 O1.实现随机数O2.实现随机位置O3.验证代码86学习培训16.2.2按钮逻辑O按钮逻辑部分按照实现逻辑也可以分为两个部分获取按钮值和解析按钮。 下面分别作介绍。 O1.获取按钮值O2.关联按钮值和LED位置O3.打地鼠主要逻辑87学习培训16.2.3整合代码O之前的小节已经将整个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园微型消防站管理制度
- 工厂车间安全培训考试题带答案(完整版)
- 病理学高级职称题试题及答案
- 2025年山东省(专升本)化学真题试卷及答案
- 2026年甘肃省嘉峪关社区工作者考试试卷及答案
- 黑龙江大庆市高职单招英语试题含答案
- 2026年度执业药师西医真题和答案
- 马术场地障碍调试技师(中级)考试试卷及答案
- 老年智能血糖仪研发工程师岗位招聘考试试卷及答案
- 译林版英语三年级下册Unit 8 第3课时 Wrap-up time分层作业(有答案)
- 2026广东潮州市饶平县信访局招聘后勤服务人员1人笔试备考题库及答案解析
- 2026年中国铁路公司招聘考试铁路专业知识真题库及答案
- 发热待查诊治专家共识(2026 版)
- 家具制造工艺流程与标准操作规程
- 2026北京西城初二上学期期末数学试卷和答案
- 马年猜猜乐(马的成语)打印版
- 2026年及未来5年市场数据中国磷化铟行业市场调研分析及投资战略咨询报告
- 北京市东城区2024-2025学年高一上学期期末统一检测地理试卷
- 2025年郑州铁路职业技术学院单招职业技能考试题库含答案
- 物业人员管理及培训方案
- 2.1地形导学案-八年级地理上学期人教版
评论
0/150
提交评论