【基于Arduino的互联网信号传输系统的硬件和软件设计案例4200字】_第1页
【基于Arduino的互联网信号传输系统的硬件和软件设计案例4200字】_第2页
【基于Arduino的互联网信号传输系统的硬件和软件设计案例4200字】_第3页
【基于Arduino的互联网信号传输系统的硬件和软件设计案例4200字】_第4页
【基于Arduino的互联网信号传输系统的硬件和软件设计案例4200字】_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

基于Arduino的互联网信号传输系统的硬件和软件设计案例目录基于Arduino的互联网信号传输系统的硬件和软件设计案例 1 1 1 2 5 6 2.系统的软件设计 92.1程序设计 92.2软件流程图 2.3程序开发过程和调试 1.系统硬件组成本系统是由两个Arduino开发板(一个主机一个从机)作为主控、ADC转换模块、W5100以太网扩展板、交换机、若干根网线、滑动变阻器以及无源蜂鸣ArduinoUNO有14个数字I/O□,其中3、5、6、9、10、11,这6个引脚可以使用函数analogWrite()输出8位的PWM。它包含了嵌入式控制器能实现的所有功能,如果想要Arduino和电脑实现数据交换,我们只需要用一根数据传输线,连接后就可以给它上电了。其原理图如图13所示。O623457图1原理图Arduino开发板最突出的优点是它的简单易用性,而且功能比较齐全。另一部分是ArduinoIDE,用来烧录程序的。Arduino是开源平台101,支持C语言编程,开发板上的主芯片就可以直接用C语言编译成二进制文件。本次设计我采用Arduino开发板一个主要原因是其里面包含14所示,是Arduino实物图。图2实物图W5100是全功能的、单芯片的以太网控制器,为了容易集成、稳定性和系统成本控制等而设计的。W5100已经被设计成一种网络芯片,即使没有操作系统的情况下,它也能很容易的实现网络连接。W5100内部用来进行信息交换的内存缓冲器是16KB的,为了更好地集成,在MCU侧需要三种接口电路,比如被称为直接和间接的内存访问方式。W5100芯片有80个引脚,其主要引脚介绍如下。复位是59号引脚,该引脚是低电平有效,作用是初始化W5100芯片,通过断言该引脚低电平保持2微秒,全部的内部寄存器都会重新复位到默认的状态。片选是55号引脚,作用是让MCU进入到内存中,哪一个通道接收到片选信号后就会工作。选择寄存器或内存的,它们在芯片内部就被设置成低电平了。是中断,这个引脚表W5100需要MCU注意socket程序连接、断开、数据接收或超时,通过写中断或者socket第n个中断,这个中断就会被清除。31号引脚是SPI使能,这个引脚作用是使能或禁用SPI模式,低电平时是禁用。其芯片引脚图如图15所示图3芯片引脚分布W5100以太网扩展板上还有多种PHY指示灯信号输出,比如TX、RX、Link和Speed等。其实物图如图16所示图16实物图W5100以太网控制器上集成了RJ45以太网接口,可以通过SPI协议与Arduino进行数据交换,从而实现各种网络协议。通过W5100以太网扩展板模块以太网扩展板模块还支持miniSD卡工作方式,也支持SPI通信协议。其原理图如图17所示交换机能够解决以上问题。它是用MAC地址明确连接哪一个设备的方法,来看.路由器能延迟上千微秒.网桥能延迟上百微秒.而交换机,低至几十微秒。不同,交换机主要分成两类,第一类是二层交换,其功能是完成桥接,可根据MAC地址实现交换数据,几乎没有延迟;第二类是三层交换,是按照已有的IP本次设计中互联网的实现是用三个以太网交换机级联搭建成的局域网模拟中实现几乎无延迟连接,而且扩展了网线接□,可使多个设备同时享有所在的局域网,所以我选择交换机作为连接的桥梁。三个交换机级联形式如图18所示。1.4ADC模块ADC转换模块对输入的模拟信号可进行精确的采集与转换,使其转换成数字信号。本设计用的ADC模块是16位的ADS1115芯片,宽电源电压范围是2.0V-5.5V,此芯片内部有基准、振荡器和可编程比较器,由于以上特性,它非收到的强度比较低的微弱信号进行准确地收集和转变,并且能够很好的兼容使用起来比较方便。为了实现ADC模块与arduino的连接,只需要把ADC模块SDA用杜邦线连接起来,ADC模块与Arduino的连线如图19所示,其原理图如图20所示。图5连线图图6原理图ADC转换模块用IC协议通信,IIC通信只需要用到SCL和SDA两根线11,其定时传输数据原理如图21所示。ADS1115与IIC的连接如图22所示。蜂鸣器根据不同的驱动方式能分为有源蜂鸣器和无源蜂鸣器[12,根据构造模式不一样能分为压电式和电磁式。当使用无源蜂鸣器时,必须使波形转换成方波才能使其工作。因为无源蜂鸣器里没有振荡电路,所以无源的比有源的价格要便宜很多,而且无源蜂鸣器可以发出频率不一样的声调,而有源的发出的音调是单一的,所以无源蜂鸣器在日常生活中使用比较广泛。本次设计中所使用的就是无源蜂鸣器,下面就来重点介绍一下无源蜂鸣器的特点。无源蜂鸣器没有正负极,支持5V电压,使用起来比较方便,成本比较低。但无源蜂鸣器要有震荡信号才可以发出声音,这就需要我们自己编写输出控制音调来适应系统提示音、简单音乐发声等。在这次设计中,我是采用PWM脉宽调制来使输出的数字信号变成幅值相等的脉冲,从而使蜂鸣器发出声音。图9蜂鸣器原理图图10蜂鸣器连线图2.系统的软件设计2.1程序设计专用的语言来写程序代码,它比其他语言要简单,可读性高。如图25所示是和从机代码(接收端代码解释),也是程序的关键。由于条件和时间的限制,当前只能实现在接收端通过PWM脉宽调制把数字信号变成幅值相等的脉冲6的方图11ArduinoIDE使用界面本次设计发送端和接收端中包含的主要网络库函数包括Ethernet.init、的了解,我们能够理解信号是怎样通过互联网传输的,以下是这些库函数的含义。Ethernet.init库是用来配置以太网扩展板的CS(芯片选择)的引脚,对于标准的以太网硬件,以太网库中都会有一个默认的CS引脚,但是有些硬件你需要自己动手定义CS引脚。示例程序如下:bytemac[]={0xDE,OxAD,0xBE,OxEF,OxFE,OxED};IPAddressip(10,0,0,1{}Ethernet.begin库函数的作用是初始化网络设置和以太网库。以过正确的网络设置,以太网屏蔽可以自动的获得IP地址。这个语句包括mac和有没有检测到哪个以太网控制器芯片的以太网.begin,如果有的话,这个库就可用于排除故障,如果没有检测到以太网控制器,则可能是硬件存在问题,就需要再对其进行检查。Ehernet.linkStatus作用是告诉我们以太网连接状态是否处于活跃状态。LinkOff表示以太网电缆已经被拔出或有缺陷。2.2软件流程图发送端流程图如图26所示。接收端流程图如图27所示。开始开始N判断硬件是否连接结束图12发送端流程图开始开始程序初始化判断硬件是否连接输出数据结束图13接收端流程图2.3程序开发过程和调试否能通过Arduino开发板A0引脚输出数字值,并在串□监视器中显示出来,其中ADC转换用Arduino中自带的。经过好几次实验之后,在串口监视器里显示出数字值,范围是0-255,并且随着滑动变阻器的值增大,数字值也跟着增大,图28是发送端实物图,图29是发送端串口监视器里的值。□自动决深□shartiaste出引脚连在以太网扩展板的A0□上,烧录程序后,再次观察串□监视器中数值以太网扩展板就会出现硬件无连接状态,如图30所示COM8清空输出域网传输到接收端,即另一个Arduino,接第四步开始在接收端的程序里加入实现PWM脉宽调制的功能。实现这个功我参考了《Aduino程序设计基础》里的函数文档,使蜂鸣器发声用的是高级输了Analogwrite(pin,value)函数,在Arduino开发板的6号引脚上设置PWM,可以使输出的数字信号变成范围在0~255的数值,滑动电位器就可以改变这个值,蜂鸣器会根据值的大小声音发生相应的变化。图31是接收端实物图,图32是接收端串口监视器的值,对比图29可以看出,接收端和发送端的值是同步的,也证明了信号通过局域网传输信息几乎是无延迟的。图18接收端的值最后一步接蜂鸣器,把蜂鸣器从机以太网扩展板连接好之后,接上电源,然后

温馨提示

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

评论

0/150

提交评论