等(例如: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