Arduino应用技术 课件 西电 第6-16章 发光二极管LED-用Arduino做游戏打地鼠_第1页
Arduino应用技术 课件 西电 第6-16章 发光二极管LED-用Arduino做游戏打地鼠_第2页
Arduino应用技术 课件 西电 第6-16章 发光二极管LED-用Arduino做游戏打地鼠_第3页
Arduino应用技术 课件 西电 第6-16章 发光二极管LED-用Arduino做游戏打地鼠_第4页
Arduino应用技术 课件 西电 第6-16章 发光二极管LED-用Arduino做游戏打地鼠_第5页
已阅读5页,还剩183页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章发光二极管LED6.1使用到的专用器件6.2驱动单个LED程序6.3驱动LED点阵6.4使用74HC595驱动LED6.5使用MAX7219驱动LED6.6RGB三色LED6.7七段数码管6.1使用到的专用器件在本节中只需要使用到一个专用的器件——LED二极管。LED二极管的类型和规格有很多,这里使用的是一个蓝色的5MM发光二极管。6.2驱动单个LED程序驱动LED的程序非常简单。要持续地点亮一个LED二极管,只需要为LED二极管提供一个额定范围内恒定的电压即可。Arduino开发板的针脚有输入和输出两种模式,将针脚设置为输出模式后就可以做为电源。指定Arduino针脚模式的函数原型如下:pinMode(pin,mode)6.2.1使用数字针脚点亮LED由于数字针脚只能输出高电压和低电压,因此在不借用其他元件的情况下只可以点亮或者熄灭LED。1.电路图2.程序intpin=10;

//指定LED连接的针脚voidsetup(){

pinMode(pin,OUTPUT);//设置针脚模式为输出

digitalWrite(pin,HIGH);//设置针脚输出电压}voidloop(){

}6.2.2使用模拟针脚点亮LED经过前面讲解可以得知,analogWrite()函数可以修改针脚的输出电压(0~5V)。那么,就可以通过为analogWrite()函数传入不同的参数来控制针脚的输出电压,进而就可以控制LED的亮度。6.2.3使用LED发送S.O.S摩尔斯码摩尔斯电码可以很方便地用来发送英文字母、数字以及部分符号。摩尔斯电码是通过控制电信号的长短来发声信息的。SOS这三个字母的摩尔斯电码表示如下:···

―――

···6.2.4使用LED发送摩尔斯电码从示例6-5中的代码中也可以看出dot()和dash()函数是非常类似的,只是等待的时间不同而已,而这个等待的时间也是以一个基准的时间变量stdd来设置的。那么,我们就可以进一步地将上面这两个个函数用一个函数来实现:voiddot(intledPin,intlen,intstdd){

digitalWrite(ledPin,HIGH);

delay(stdd*len);

digitalWrite(ledPin,LOW);

delay(stdd*2);}6.2.5LED跑马灯6.2.6使用LED模拟交通灯6.3驱动LED点阵6.3.1LED点阵显示表情6.3.2LED点阵跑马灯6.3.3回纹灯6.3.4矩形回缩灯6.3.1

LED点阵显示表情6.3.2

LED点阵跑马灯在6.3.5小节中实现了由三个LED组成的简易跑马灯,在本节就在8*8的LED点阵上来实现跑马灯。这个示例的电路不需要改动,我们直接编写对应的程序就可以了。6.3.3回纹灯回纹表示的是从外圈向中心回旋的方式,在我们将要实现的回纹灯就是使用LED点阵来实现这一描述。回纹灯的实现电路与之前的LED点阵示例接法相同,因此这里只需要重新设计程序即可。6.3.4矩形回缩灯矩形回缩灯就是从LED点阵最外圈的8*8矩形回缩到最小的2*2的矩形(以8*8点阵为例),以这种形式来展现类似矩形缩放的效果。其电路接法与前面的所有示例相同,因此这里只需要重新编写程序即可。6.4使用74HC595驱动LED6.4.174HC595使用方式6.4.2使用74HC595驱动LED点阵6.4.174HC595使用方式74HC595是一个CMOS(ComplementaryMetal-Oxide-Semiconductor)器件6.4.2使用74HC595驱动LED点阵6.5使用MAX7219驱动LED6.5.1MAX7219LED显示驱动器6.5.2MAX7219的数据格式6.5.3MAX7219的寄存器6.5.4LedControl库6.5.5Arduino通过MAX7219控制8*8LED点阵6.5.6MAX7219级联控制8*40LED点阵6.5.1

MAX7219LED显示驱动器MAX7219是小巧但功能强大的串行输入输出共阴极显示驱动器。它非常容易驱动七段LED数码管和LED点阵。6.5.2MAX7219的数据格式MAX7219的数据是以16位为一个单位的。D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0XXXX寄存器地址数据6.5.3MAX7219的寄存器MAX7219有14个可编址的寄存器,他们可以通过D11~D8的值来指定。寄存器寄存器地址16进制表示D15~D12D11D10D9D8No-OpX00000xX0Digit0X00010xX1Digit1X00100xX2Digit2X00110xX3Digit3X01000xX4Digit4X01010xX5Digit5X01100xX6Digit6X01110xX7Digit7X10000xX8DecodeModeX10010xX9IntensityX10100xXAScanLimitX10110xXBShutdownX11000xXCDisplayTestX11110xXF6.5.4

LedControl库LedControl函数库是一个可以全面控制MAX7219的一个第三方库,它可以从http://playground.arduino.cc/uploads/Main/LedControl.zip获取。6.5.5

Arduino通过MAX7219控制8*8LED点阵1.MAX7219控制8*8LED点阵的连接电路2.Arduino通过MAX7219控制8*8LED的代码实现1.MAX7219控制8*8LED点阵的连接电路2.Arduino通过MAX7219控制8*8LED的代码实现6.5.6

MAX7219级联控制8*40LED点阵所谓级联就是将两个以上的设备通过某种方式连接起来,起到扩容的效果。MAX7219的级联非常容易,只需要将上一级的DOUT作为下一级的DIN,然后共用LOAD和CLK信号。1.MAX7219级联电路2.MAX7219级联的控制代码1.MAX7219级联电路2.MAX7219级联的控制代码6.6RGB三色LED6.7七段数码管七段数码管是常用来显示数字的一类数码管。这类数码管是由多个发光二极管构成的。6.7.1Arduino直接控制七段数码管6.7.2Arduino通过74HC595控制一个七段数码管6.7.3使用两个74HC595驱动4位七段数码管6.7.4Arduino通过MAX7219控制七段数码管6.7.1Arduino直接控制七段数码管6.7.2Arduino通过74HC595控制一个七段数码管6.7.3使用两个74HC595驱动4位七段数码管4位七段数码管通过多路复用技术将4个七段数码管封装在一起。6.7.4

Arduino通过MAX7219控制七段数码管1.MAX7219控制七段数码管的连接电路2.MAX7219控制七段数码管的实现代码1.MAX7219控制七段数码管的连接电路2.MAX7219控制七段数码管的实现代码第7章蜂鸣器7.1蜂鸣器的工作原理及分类7.2驱动蜂鸣器程序7.3蜂鸣器使用实例7.1蜂鸣器的工作原理及分类蜂鸣器是通过给压电材料供电来发出声音的。压电材料可以随电压和频率的不同产生机械变形,从而产生不同频率的声音。蜂鸣器又分为有源蜂鸣器和无源蜂鸣器两种。7.2驱动蜂鸣器程序7.2.1驱动有源蜂鸣器7.2.2驱动无源蜂鸣器7.2.1驱动有源蜂鸣器7.2.2驱动无源蜂鸣器7.3蜂鸣器使用实例7.3.1使用无源蜂鸣器输出7个基本音级7.3.2使用无源蜂鸣器演奏音乐7.3.3使用有源蜂鸣器发送S.O.S摩尔斯码7.3.1使用无源蜂鸣器输出7个基本音级声音是由物体振动所产生的的。只是由于物体的材料以及振幅、频率不同,而产生不同的声音。声音的响度是由振幅决定的。而音调则是由频率决定的。音阶1(Do)2(Re)3(Mi)4(Fa)5(Sol)6(La)7(Si)频率2622943303493924404947.3.2使用无源蜂鸣器演奏音乐有了上一个示例中的演奏7个基本音阶的经验后,我们就可以根据乐音知识来简易地演奏一些音乐。这里就以生日歌中的一个片段来进行演示。该示例的元器件接法同示例7-3相同。7.3.3使用有源蜂鸣器发送S.O.S摩尔斯码使用有源蜂鸣器发送S.O.S莫尔斯码的接法如图7.4相同,读者参照其连接即可。使用有源蜂鸣器发送S.O.S莫尔斯码的程序与使用LED非常类似,只需稍作修改即可。第8章按钮8.1按钮的作用及分类8.2按钮的实质8.3按钮的使用示例8.1按钮的作用及分类按钮是一种非常常见而且形式多样的控制电器元件。它常用来接通或者断开控制电路。按钮可以分为如下的几种形式:常开按钮:开关触点在默认状态下是断开的。常闭按钮:开关触点在默认状态下是接通的。常开/常闭按钮:在默认状态下有接通和断开的按钮。8.2按钮的实质按钮的实质就是用来发送一个电信号(低电平或者高电平),软件可以根据检测到的信号进行相应的操作。要在Arduino上正确地使用按钮,还需要了解两个个重要的概念——上拉电阻和下拉电阻。首先来看一个不使用下拉电阻的电路,它用一个常开按钮控制Arduino的板载LED(名为L)。按钮被按下时LED点亮,松开时熄灭。8.3按钮的使用示例8.3.1使用按钮控制LED灯8.3.2使用Arduino的中断8.3.3按钮矩阵的使用8.3.4使用按钮矩阵模拟钢琴8.3.1使用按钮控制LED灯8.3.2使用Arduino的中断中断会在需要的时候向CPU发送请求以通知CPU处理。CPU在接收到中断后会暂停执行当前的任务转而处理中断,处理完成后继续执行之前的任务。而在中断未发送的时间段内,CPU可以执行其他的任务,这明显可以大幅度提高运行效率。attachInterrupt(interrupt,ISR,mode)detachInterrupt(interrupt)8.3.3按钮矩阵的使用在本小节中使用的是名为Keypad的第三方库。该库可以从http://playground.arduino.cc//Code/Keypad#Download下载。8.3.4使用按钮矩阵模拟钢琴第9章电位器9.1普通电位器9.2游戏摇杆9.3使用示例9.1普通电位器电位器是一种三端元件,它由两个固定端和一个滑动端组成。9.2游戏摇杆游戏摇杆其实也是一种特殊的电位器。它的X轴和Y轴上分别装有一个电位器。9.3使用示例9.3.1读取电位器的值9.3.2使用电位器控制LED亮度9.3.3使用电位器控制LED流水灯速度9.3.4游戏摇杆的使用9.3.1读取电位器的值电位器在旋转(旋转式电位器)和滑动(滑动式电位器)的过程中会将更大或者更小的电阻接入电路,而对应的电压则变小或者变大。通过Arduino的模拟输入端口,可以读取到这个电压,并为其映射一个相应的值。analogRead(pin)9.3.2使用电位器控制LED亮度9.3.3使用电位器控制LED流水灯速度9.3.4游戏摇杆的使用1.获取游戏摇杆的XY轴方向的值2.使用游戏摇杆控制4个LED1.获取游戏摇杆的XY轴方向的值2.使用游戏摇杆控制4个LED第10章光敏电阻和常见传感器10.1光敏电阻10.2火焰传感器10.3温湿度传感器10.4红外线收发10.5液位传感器10.1光敏电阻10.1.1光敏电阻应用原理10.1.2光控灯10.1.1光敏电阻应用原理根据串联电路的电压规律——串联电路的总电压等于各部分电路两端电压之和,也就是说,光敏电阻的阻值越大,则它分到的电压就越多,而总的电压是固定的。那么,其他部分电路的电压就必然会减小。10.1.2光控灯光敏电阻在日常生活中最常见的一种应用就是声控灯,当然常见的声控灯中还使用到了声音传感器,因此在本小节中就实现一个光控灯。该光控灯在光线暗比较暗的时候点亮,而在光线明亮的时候熄灭。10.2火焰传感器10.3温湿度传感器10.3.1精密摄氏温度传感器LM3510.3.2温湿度传感器模块10.3.1精密摄氏温度传感器LM3510.3.2温湿度传感器模块温湿度传感器是集温度湿度检测于一体的传感器在实际中常用的是DHT11。10.4红外线收发10.4.1红外线模块构成10.4.2使用第三库Irremote10.4.1红外线模块构成最初的红外线接收端则是由单独的光敏电阻和集成电路组成的。现在的接收端普遍将光敏电阻和接收、放大、解调电路集成到了一起。这种形式的优势就在于体积非常小。在接下来的讲解中将使用VS1838B来作为接收端而发射端则是一个常见的MP3遥控器。10.4.2使用第三库Irremote10.5液位传感器10.5.1接触式液位传感器10.5.2完善液位传感器10.5.1接触式液位传感器10.5.2完善液位传感器(1)通过测量或者查看器件手册获取液位传感器可以测量的最高液位;(2)将液位传感器测量液位部分完全浸入液体中,记录Arduino读取到的电压值;(3)使用map()函数将电压与液位重新映射。第11章LCD11.1LCD模块LCD160211.2LCD控制库LiquidCrystal11.3LiquidCrystal_I2C库11.1LCD模块LCD1602接下来的学习过程中将以LCD1602为基础来进行讲解。LCD1602是字符型的液晶显示器。11.2LCD控制库LiquidCrystal11.2.1LiquidCrystal八线模式11.2.2LiquidCrystal四线模式11.2.1LiquidCrystal八线模式11.2.2LiquidCrystal四线模式11.3LiquidCrystal_I2C库第12章声音模块12.1麦克风模块12.2超声波模块12.1麦克风模块12.1.1读取麦克风数据12.1.2声控灯12.1.3自适应声控灯12.1.1读取麦克风数据12.1.2声控灯12.1.3自适应声控灯上一个小节实现的是一个当前环境下是非常好用的一个声控LED,但是如果再将它放在一个噪声比较大的环境中,就会看到LED会时刻都被点亮,通过对程序做一些简单的修改,我们可以创造出一个“自适应”型的声控灯。12.2超声波模块12.2.1超声波模块HC-SR0412.2.2第三方库NewPing12.2.3超声波模块应用12.2.1超声波模块HC-SR0412.2.2第三方库NewPing12.2.3超声波模块应用第13章RFID——射频识别13.1RFID概览13.2RFID硬件13.3为RFID编程13.4简易公交收缴费系统13.1RFID概览1.RFID构成2.RFID工作原理3.RFID优缺点1.RFID构成RFID主要是由读/写器和应答器构成的。读/写器的作用是对应答器进行读和写操作,例如最常见的交通工具刷卡器。应答器是一个信息存储介质,其中的数据通常可以保存一段较长的时间。这些数据可以被读写器操作。2.RFID工作原理RFID的工作原理就是利用电磁波进行通讯。RFID正常工作除了需要硬件的支持外,还需要相关的协议支持,例如常见的ISO/IEC14443A协议。在软件协议的约束下,应答器与读/写器直接就可以正确地进行通讯。3.RFID优缺点RFID的优点如下:RFID设备抗干扰能力强,不易损坏;RFID应答器使用寿命长;读取距离大;应答器中的数据可以加密;数据存储容量大;存储信息可以修改。3.RFID优缺点RFID的缺点如下:数据泛滥没有一个全球标准;安全问题;可能会被恶意使用;高温损坏。13.2RFID硬件RFID的硬件由读/写器和应答器(通常为电子标签)组成。读/写器和应答器之间的通讯方式有很多种。通常情况下,这些方式是互不兼容的,主要原因是工作的频带不同。13.2.1RFID读/写器13.2.2RFID应答器13.2.1RFID读/写器RFID读/写器用来从应答器中读取信息或者向应答器中写入信息。MFRC522是工作在13.56MHz下的非接触式通信读/写集成电路。13.2.2RFID应答器RFID应答器用来存储数据。在本章中使用的是MF1S503x系列的MIFARE1KB智能卡。13.3为RFID编程13.3.1读取RFID应答器的出厂数据13.3.2RFID开发流程13.3.3操作RFID应答器的值块13.3.4操作RFID应答器读写块13.3.1读取RFID应答器的出厂数据RFID应答器在出厂时通常会将访问位设置为FF078069h,而将KeyA和KeyB均设置为FFFFFFFFFFFFh。rfid第三方库提供的DumpInfo示例程序可以读取出RFID应答器中可访问的数据。13.3.2RFID开发流程rfid库将读写寄存器以及校验等步骤都进行了封装。用户只需要访问几个公共的方法,就可以使用RFID。13.3.3操作RFID应答器的值块RFID应答器的数据块可以被配置为读/写块和值块。值块拥有比读/写块更多的操作,这使得对数据的操作非常方便。下面的示例就是使用MIFARE_Increment()函数对值块进行加1操作。13.3.4操作RFID应答器读写块RFID应答器读写块的操作在rfid库的帮助下变得非常简单。该库提供了非常简单的MIFARE_Read()和MIFARE_Write()来完成读取和写入的功能。13.4简易公交收缴费系统13.4.1缴费系统13.4.2收费系统13.4.1缴费系统缴费系统的实现思路如下:使用KeyB进行验证;根据串口监视器的提示输入充值金额;确认充值金额;充值成功,显示余额。13.4.2收费系统收费系统的实现非常简单,思路如下:使用密钥进行验证;执行扣费操作;输出余额。第14章实时时钟——RTC14.1RTC简介14.2DS1302集成电路14.3DS1302工作原理14.4寄存器的突发模式14.5第三方库ds130214.6简易LED时钟14.1RTC简介RTC就是一个电脑时钟,更通俗地说是一个集成电路,它可以保持一个正确的时间。在GPS接收器上,它可以通过与当前时间进行比较,从而缩短初始化的时间,而当前时间就是由RTC维持的。1.RTC的优点2.RTC的技术实现3.常见的RTC芯片1.RTC的优点功耗小,这对于使用备用电源的系统来说非常重要;释放时序要求严格会话的主系统,这可以使得主系统专心处理会话而不需要维持时钟;比其他方式更加精确。2.RTC的技术实现大多数RTC使用的是晶体振荡器,也有一些使用的是通用频率(Utilityfrequency)。RTC使用的晶体振荡器的频率是32.768kHz,这个频率也用在石英钟和手表中。这个频率正好是每秒215个周期,所以这个周期可以方便地被二进制计数器电路使用。3.常见的RTC芯片现在流行的RTC芯片有DS1302、DS1307、PCF8485、DS3231、DS3232、DS3234、DS32B35等。这些芯片由于接口简单、价格低廉、使用方便的特点而被广泛采用。在本章中将以DS1302为主体进行介绍。14.2

DS1302集成电路DS1302是DS1202的继承者,它的封装非常小巧但是功能却是非常强大的。14.3DS1302工作原理14.3.1CE和时钟控制14.3.2数据输入和输出14.3.3时钟/日历14.3.4写保护寄存器14.3.5RAM寄存器14.3.6涓流充电寄存器14.3.1

CE和时钟控制CE输入在高电平的时候初始化所有数据操作,它有两个功能:打开控制逻辑:允许访问移位寄存器;终止能力:可以终止单位和多位数据传输。14.3.2数据输入和输出在数据输入之前,首先通过8个SCLK周期输入写命令,在接下来8个SCLK周期的上升沿将1比特的数据输入。多余的SCLK周期将被忽略,而且数据输入是从BIT

0开始的。14.3.3时钟/日历时间和日期信息可以通过读取指定寄存器获得。地址读命令写命令BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0取值范围081h80hCH秒数的十位秒的个位00~59183h82h

分钟数的十位分钟数的个位00~59285h84h12/0小时的十位小时的十位小时的个位1~12/0~233/PM487h86h00日期的十位日期的个位1~31589h88h000月份的十位月份的个位1~1268Bh8Ah00000周1~778Dh8Ch年的十位年的个位00~9914.3.4写保护寄存器写保护寄存器用于控制对时钟或者RAM寄存器的写操作,该寄存器的地址为8。地址读命令写命令BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0取值范围88Fh8EhWP0000000-14.3.5

RAM寄存器静态RAM是RAM地址空间中的31bytes的连续地址空间。14.3.6涓流充电寄存器涓流充电寄存器控制的是DS1302的涓流充电特性。地址读命令写命令BIT7BIT6BIT5BIT4BIT3BIT2BIT1BIT0取值范围991h90hTCSTCSTCSTCSDSDSDSDS-14.4寄存器的突发模式突发模式可以通过将命令地址设置为十进制的31(也就是将操作命令的BIT1~5设为逻辑1)来指定时钟/日历或者RAM寄存器。在这之前,需要通过BIT6指定操作时钟或者RAM;通过BIT0来指定读或者写。1.时钟/日历突发模式2.RAM突发模式1.时钟/日历突发模式该模式通过时钟/日历命令比特指定,在这个模式下,前8个时钟/日历寄存器可以从地址0的BIT0开始连续地读或者写,其读命令为BFh,写命令为BEh。2.RAM突发模式该模式通过RAM命令比特指定,在这个模式下,31个RAM寄存器可以从地址0的第0位连续地读或者写。14.5第三方库ds130214.5.1ds1302简介14.5.2使用ds1302库设置日期和时间14.5.3使用ds1302库读取日期和时间14.5.1

ds1302简介ds1302库主要定义了Time和DS1302两个类。下面依次讲解这两个部分。1.Time类2.DS1302类1.Time类ds1302提供了Time类,该类详细表示了时间和日期,其构造函数如下:Time(uint16_tyr,uint8_tmon,uint8_tdate,

uint8_thr,uint8_tmin,uint8_tsec,

Dayday);2.DS1302类ds1302库提供的主要类是DS1302,其构造方法如下:DS1302(uint8_tce_pin,uint8_tio_pin,uint8_tsclk_pin)14.5.2使用ds1302库设置日期和时间14.5.3使用ds1302库读取日期和时间在经过前面两个示例的设置后,指定的时间已经被存储在对应的寄存器中,并且已经开始计时。与示例14-1以及示例14-2对应的,下面两个示例分别使用将当前时间作为对象返回的time()方法和返回单独时间日期信息的方法读取并输出RTC模块中的时间。14.6简易LED时钟第15章伺服电机和步进电机15.1伺服电机15.2使用其他器件控制伺服电机15.3步进电机15.1伺服电机15.1.1伺服电机工作原理15.1.2伺服电机与Arduino15.1.3使用Arduino官方库Servo15.1.1伺服电机工作原理伺服电机(servomotor)是一种位置伺服的驱动器。伺服电机的主要规格是扭矩与反应转速:扭矩的单位是N/m,在伺服电机规格中一般使用KG/cm,即通常所说的有多大劲;反应转速的单位是Sec/60°,即输出轴转过60°需要花费的时间。通常情况下反应转速越高的伺服电机精度越低,所以需要根据具体应用在两者之间做取舍。15.1.2伺服电机与Arduino15.1.3使用Arduino官方库ServoServo库是Arduino官方专门为操作伺服电机而设计的一个库。它非常简单易用,而且比我们自己实现的功能强大得多。例如,在大多数Arduino板上可以同时控制12个伺服电机,Arduino

Mega则可以同时控制48个。15.2使用其他器件控制伺服电机15.2.1使用旋转电位器控制伺服电机15.2.2使用按钮开关控制伺服电机15.2.3使用游戏摇杆控制伺服电机15.2.4使用遥控器控制伺服电机15.2.1使用旋转电位器控制伺服电机15.2.2使用按钮开关控制伺服电机15.2.3使用游戏摇杆控制伺服电机15.2.4使用遥控器控制伺服电机15.3步进电机15.3.1步进电机工作原理15.3.2步进电机的类型15.3.328BYJ-48和ULN200315.3.4Arduino、ULN2003和28BYJ-48连接15.3.5使用Arduino的官方库Stepper15.3.6自己实现28BYJ-48的控制函数15.3.1步进电机工作原理1.单四拍2.双四拍3.八拍15.3.2步进电机的类型步进电机的工作原理大都是类似的,不过实际的步进电机主要有三种类型,它的使用方式还是有些许差别的,下面就分别介绍这三种类型。1.单极式步进电机2.双极式步进电机3.通用步进电机15.3.3

28BYJ-48和ULN200315.3.4Arduino、ULN2003和28BYJ-48连接之所以将Arduino、ULN2003和28BYJ-48三者的连接单独作为一个小节来介绍,是由于它们之间主要有两种连接方式,这两种方式都有各自的优缺点,读者在清楚地了解这些信息后,就可以根据自己的需求做出最优的产品。1.使用Stepper库以四线方式控制28BYJ-48步进电机2.使用Stepper库以两线方式控制28BYJ-48步进电机1.使用Stepper库以四线方式控制28BYJ-48步进电机2.使用Stepper库以两线方式控制28BYJ-48步进电机15.3.5使用Arduino的官方库Stepper这个库非常轻巧,它只有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()函数1.控制步进电机以1转/分的速度旋转伺服电机通常是不可以360°旋转的,而步进电机可以,而且步进电机的旋转速度也可以被较精确地控制。2.控制步进电机正反转控制步进电机的转动方向非常容易,只需要将绕组的通电顺序反向即

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论