基于arduino的物联控制 - 图文(3)

2019-05-17 17:04

等(例如:pinMode(ledPin,OUTUPT);)。

void loop() 在setup()函数之后,即初始化之后,

loop() 让你的程序循环地被执行。使用它来运转Arduino。

数字 I/O :

pinMode(pin, mode) :数字IO口输入输出模式定义函数,pin表示为0~

13, mode表示INPUT或OUTPUT。

digitalWrite(pin, value) :数字IO口输出电平定义函数,pin表示为0~

13,value表示为HIGH或LOW。 必须先定义为输入或输出模式digitalWrite才能生效。

int digitalRead(pin):数字IO口读输入电平函数,pin表示为0~13,value

表示为HIGH或LOW。比如可以读数 字传感器。

模拟 I/O :

int analogRead(pin):模拟IO口读函数,pin表示为0~5(Arduino Diecimila

为0~5,Arduino nano为0~7)。比 如可以读模拟传感器(10位AD,0~5V表示为0~1023)。

analogWrite(pin, value) – PWM :数字IO口PWM输出函数,Arduino数字

IO口标注了PWM的IO口可使用该函数,pin表示3, 5, 6, 9, 10, 11,value表示为0~255。比如可用于电机PWM调速或音乐播放。

时间函数:

unsigned long millis(): 返回时间函数(单位ms),该函数是指,当程序运行

就开始计时并返回记录的参数,该参数溢出大概需要50天。

delay(ms): 延时函数(单位ms)。

delayMicroseconds(us): 延时函数(单位us)。

串口收发函数:

11

Serial.begin(speed): 串口定义波特率函数,speed表示波特率(串行每秒传

输数据的速率),如9600,19200等。

int Serial.available():判断缓冲器状态。 int Serial.read():读串口并返回收到参数。 Serial.flush(): 清空缓冲器。 Serial.print(data):串口输出数据。

Serial.print:(数据,数据的进制) 默认为十进制(DEC) Serial.println(data):串口输出数据并带回车符。

以上为arduino使用过程中常用的函数和语法,其他的函数和库可以参考说明书;

2.3 WIFI模块介绍

(图六)wifi串口模块

本设计所使用的Wifi模块(图六)是海凌科电子新推出的低成本嵌入式UART-ETH-WIFI(串口-以太网-无线网)模块。内臵TCP/IP 协议栈,能够实现用户串口、以太网、无线网(WIFI)3 个接口之间的转换。通过HLK-RM04 模块,传统的串口设备在不需要更改任何配臵的情况下,即可通过Internet 网络传输自己的数据。为用户的串口设备通过网络传输数据提供完整快速的解决方案。

12

(图七)HLK-RM04功能结构图

HLK-RM04 模块在使用之前需要做些相应的配臵,模块提供两种配臵方式: 1.WEB 页面; 2.串口AT 指令;

访问web配臵界面需要确认模块的ip地址,以及web认证的用户名密码。通过串口AT指令配臵参数需要先让模块进入AT 指令模式,HLK-RM04_CONFIG串口配臵工具即通过AT 指令方式提供简单方便的配臵过程。在此就不再做过多的介绍,详细可以参考说明书;

3、硬件连接 3.1 温度传感器

温度的测量方式有很多种,本文采用单总线数字式的温度传感器DS18B20,DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式(图八);温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少, 可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。

13

(图八) DS18B02封装

DS18B20内部结构如(图九)所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配臵寄存器。DQ为数字信号输入/输出端(如图);GND为电源地;VDD为外接供电电源输入端。 ROM中的64位序列号是出厂前被激光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。这样就可以实现一根总线上挂接多个DS18B20的目的。

(图九)DS18B20内部结构框图

DS18B02供电方式有两种,分别为寄生电源供电方式(图十)和外部电源供电方式(图十一);

14

(图十)DS18B02寄生电源供电方式

(图十一)外部电源供电方式

独特的寄生电源方式有三个好处:

1)进行远距离测温时,无需本地电源 2)可以在没有常规电源的条件下读取ROM 3)电路更加简洁,仅用一根I/O口实现测温

要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此近寄生电源供电方式只适应于单一温度传感器测温情况下使用,不适宜采用电池供电系统中。并且工作电源VCC必须保证在5V,当电源电压下降时,寄生电源能够汲取的能量也降低,会使温度误差变大。因此必须采用独立电源供电方式,本设计及采用外部电源供电方式;

15


基于arduino的物联控制 - 图文(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:推销技巧

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: