




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、零基础学智能家居套件 -For Arduino一.简介零基础学智能家居套件是本公司最新推出的一款基于Arduino爱好者的安卓智能家居学习套件,为什么要学智能家居?我们先来看看智能家居的概念吧 智能家居核心的概念是让人们能轻松享受生活。出门在外,您可以通过电话、电脑来远程遥控您的家居各智能系统,例如在回家的路上提前打开家中的空调和热水器;到家开门时,安卓密码锁功能开启,系统会自动打开电子门锁,安防撤防.开启家中的照明灯具和窗帘迎接您的归来.回到家里,使用安卓手机您可以方便地控制房间内各种电器设备,可以通过智能化照明系统选择预设的灯光场景,读书时营造书房舒适的安静;卧室里营造浪漫的灯光氛围这一切
2、,主人都可以安坐在沙发上从容操作,一个控制器可以遥控家里的一切,比如拉窗帘,给浴池放水并自动加热调节水温,调整窗帘、灯光、音响的状态.智能家居能做的事情还有很多,在此就不一一累述了。总之,智能家居系统能够有时间享受生活的舒适,同时更能节约用电。正如比尔盖茨所言:在不远未来,没有智能家居系统的住宅会像今天不能上网的住宅那样不合潮流。 科易公司研发团队开发的模拟教学的智能家居的套件,安卓部分采用串口数据发送软件来操作,控制部分采用ARDUINO 单片机来控制,目的是让大家能通过这种方式了解智能家居的系统。二.清单:1.ARDUINO UNO R3开发板 1个2.ARDUINO XBEE V5.0传
3、感器扩展板 1个3.bluebee蓝牙模块 1个4.LCD1602 I2C液晶模块1个5.4路继电器模块1个6.红色食人鱼LED模块1个7.绿色食人鱼LED模块1个8.蓝色食人鱼LED模块1个9.3WLED模块1个10.有源蜂鸣模块1个11.无源源蜂鸣模块1个12.光敏电阻模块1个 13.可调电位器模块1个14.土壤湿度传感器1个 15.烟雾传感器模块1个 16.辉盛9克舵机 2个17.6节5号电池盒18.3PIN连接线 12条19.母对母杜邦线 2020USB连接线1条三.教程一览:1.LED灯闪烁2.PWM调光3.交通灯实验4.蜂鸣器实验5.模拟值读取6.光控声音7.舵机控制8.继电器控制
4、9.I2C 1602液晶控制10.土壤湿度实验11.蓝牙控制12.蓝牙智能家居系统实验四.Arduino单片机介绍 Arduino是源自意大利的一个开放源代码的硬件项目平台,该平台包括一块具备简单I/O功能的电路板以及一套程序开发环境软件。Arduino可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制电灯、电机和其他各式各样的物理设备;Arduino也可以开发出与PC相连的周边装置,能在运行时与PC上的软件进行通信。Arduino是一个开放源码电子原型平台,拥有灵活、易用的硬件和软件。要给Arduino下一个最准确的定义,最好用一些实例来描述。您想当咖啡煮好时,咖啡壶就
5、发出“吱吱”声提醒您吗?您想当邮箱有新邮件时,电话会发出警报通知您吗?想要一件闪闪发光的绒毛玩具吗?想要一款具备语音和酒水配送功能的X教授蒸汽朋克风格轮椅吗?想要一套按下快捷键就可以进行实验测试蜂音器吗?想为您的儿子自制一个银河战士手臂炮吗?想自制一个心率监测器,将每次骑脚踏车的记录存进存储卡吗?想过自制一个能在地面上绘图,能在雪中驰骋的机器人吗? Arduino都可以为您实现。 Arduino驱动的安装我们先来下载Arduino的开发软件,web地址:http:/arduino.cc/en/Main/Software下载下来的文件是一个arduino-0023.zip的压缩文件夹,解压出来到
6、硬盘。将Arduino UNO R3开发板通过USB线连接到Windows时,就会提示有名为“Arduino UNO R3“的新USB设备找到, 接着Windows会引导我们进入“找到新的硬件向导”窗口,选取其中的“否,暂时不”选项后单击“下一步”按钮:接下来的步骤需要安装Arduino UNO R3所需的驱动,选取其中的“从列表或指定位置安装(高级)”选项后单击“下一步”按钮:Arduino UNO R3驱动放在Arduino 0023安装目录下的drivers目录中,我们需要为Windows指明该目录为安装驱动时搜索的目录:单击“下一步”按钮后,Windows就开始查找并安装Arduino
7、 驱动程序:如果一切正常的话,我们将看到如下的成功界面:Arduino驱动安装成功之后,我们可以在Windows设备管理器中找到相应的Arduino串口:*五. 实验课程这里大家应该对Arduino有一个初步的了解了,我们下面通过实际操作来学习.例程1 LED 闪烁实验LED 小灯实验是比较基础的实验之一,我们用高亮LED发光模块来完成这个实验。实验器材如下:Arduino uno R3*1Arduino IO 口扩展板V5*1高亮LED发光模块*1 3PIN传感器连接线*1 小灯实验原理图 实物图按照上图链接好电路后,就可以开始编写程序了,我们还是让LED 小灯闪烁,点亮1 秒熄灭1 秒。这
8、个程序很简单与Arduino 自带的例程里的Blink 相似只是将13 数字接口换做10 数字接口。int ledPin = 10; /定义数字10 接口void setup()pinMode(ledPin, OUTPUT);/定义小灯接口为输出接口void loop()digitalWrite(ledPin, HIGH); /点亮小灯delay(1000); /延时1 秒digitalWrite(ledPin, LOW); /熄灭小灯delay(1000); / 延时1 秒编好后点击下载紧接着我们就可以看到我们接到IO口10脚上 的高亮LED灯模块在闪烁了,这样我们的小灯闪烁实验就完成了。*
9、注意:Arduino 开发软件的选择TOOLS栏板卡的选项是UNO,通讯端口要选择初次安装出现的串口两项缺一不可,否则不能下载程序。*例程2 PWM 调光PWM(Pulse-width modulation)脉宽调制PWM是使用数字手段来控制模拟输出的一种手段。使用数字控制产生占空比不同的方波(一个不停在开与关之间切换的信号)来控制模拟输出。一般来说端口的输入电压只有两个0V与5V。如我我想要3V的输出电压怎么办。有同学说串联电阻,对,这个方法是正确滴。但是如果我想1V,3V,3.5V等等之间来回变动怎么办呢?不可能不停地切换电阻吧。这种情况下。就需要使用PWM了。他是怎么控制的呢,对于ard
10、uino的数字端口电压输出只有LOW与HIGH两个开关,对应的就是0V与5V的电压输出,咱本把LOW定义为0,HIGH定义为1.一秒内让arduino输出500个0或者1的信号。如果这500个全部为1,那就是完整的5V,如果全部为0,那就是0V。如果010101010101这样输出,刚好一半一半,输出端口就感觉是2.5V的电压输出了。这个和咱们放映电影是一个道理,咱们所看的电影并不是完全连续的,它其实是每秒输出25张图片,在这种情况下人的肉眼是分辨不出来的,看上去就是连续的了。PWM也是同样的道理,如果想要不同的电压,就控制0与1的输出比例控制就ok当然。这和真实的连续输出还是有差别的,单位时
11、间内输出的0,1信号越多,控制的就越精确。在下图中,绿线之间代表一个周期,其值也是PWM频率的倒数。换句话说,如果arduino PWM的频率是500Hz,那么两绿线之间的周期就是2毫秒。 analogWrite() 命令中可以操控的范围为0-255, analogWrite(255)表示100%占空比(常开), analogWrite(127)占空比大约为50%(一半的时间)。本次实验通过PWM来控制一盏LED灯,让它慢慢变亮再慢慢变暗,如此循环。同样我们还是把高亮LED模块接到数字IO口的10脚,下面是接线图:我们来编程:int brightness = 0; / how bright t
12、he LED isint fadeAmount = 5; / how many points to fade the LED byvoid setup() / declare pin 10 to be an output: pinMode(10, OUTPUT); void loop() / set the brightness of pin 10: analogWrite(10, brightness); / change the brightness for next time through the loop: brightness = brightness + fadeAmount;
13、/ reverse the direction of the fading at the ends of the fade: if (brightness = 0 | brightness = 255) fadeAmount = -fadeAmount ; / wait for 30 milliseconds to see the dimming effect delay(30); 同样我们还是下载到ARDUINO就这样我们用编程的手法让LED渐明渐暗,如同呼吸一般,所以我们给它起了一个神奇的名字,呼吸灯。例程3 交通灯设计实验上面我们已经完成了单个小灯的控制实验,接下来我们就来做一个稍微复杂
14、一点的交通灯实验,其实聪明的朋友们可以看出来这个实验就是将上面单个小灯的实验扩展成3 个颜色的小灯,就可以实现我们模拟交通灯的实验了。我们完成这个实验所需的元件除了Arduino兼容 控制器和下载线还需要的硬件如下:红色LED模块*1 蓝色LED模块*1绿色LED模块*13PIN线*3准备好上述元件我们就可以开工了,我们可以按照上面小灯闪烁的实验举一反三,下面是我们提供参考的原理图,我们使用的分别是数字10、7、4、接口.下面我们来编程:int redled =10; /定义数字10 接口int blueled =7; /定义数字7 接口int greenled =4; /定义数字4 接口vo
15、id setup()pinMode(redled, OUTPUT);/定义红色小灯接口为输出接口pinMode(blueled, OUTPUT); /定义蓝色小灯接口为输出接口pinMode(greenled, OUTPUT); /定义绿色小灯接口为输出接口void loop()digitalWrite(redled, HIGH);/点亮红色小灯delay(1000);/延时1 秒digitalWrite(redled, LOW); /熄灭红色小灯digitalWrite(blueled, HIGH);/点亮蓝色小灯delay(200);/延时0.2 秒digitalWrite(blueled
16、, LOW);/熄灭蓝色小灯digitalWrite(greenled, HIGH);/点亮绿色小灯delay(1000);/延时1 秒digitalWrite(greenled, LOW);/熄灭绿色小灯既然是交通灯模拟实验,红蓝绿三色小灯闪烁时间就要模拟真实的交通灯,我们使用Arduino 的delay()函数来控制延时时间,相对于C 语言就要简单许多了。点击下载到ARDUINO下载程序完成后就可以看到我们自己设计控制的交通灯。例程4 蜂鸣器发声实验用Arduino 可以完成的互动作品有很多,最常见也最常用的就是声光展示了,前面一直都是在用LED 小灯在做实验,本个实验就让大家的电路发出声
17、音,能够发出声音的最常见的元器件就是蜂鸣器和喇叭了,两者相比较蜂鸣器更简单和易用所以我们本实验采用蜂鸣器。以下是要准备的元件:蜂鸣器模块*13PIN线*1 连接图:连接电路时要注意一点就是蜂鸣器有正负极之分,下面右侧实物图可看到蜂鸣器有红黑两种接线。连接好电路程序这方面就很简单了,与前面按键控制小灯是实验程序类似,因为蜂鸣器的控制接口也是数字接口输出高低电平就可以控制蜂鸣器的鸣响。下面我们来编程:int buzzer=8;/设置控制蜂鸣器的数字IO脚void setup() pinMode(buzzer,OUTPUT);/设置数字IO脚模式,OUTPUT为输出 void loop() unsi
18、gned char i,j;/定义变量while(1) for(i=0;i80;i+)/输出一个频率的声音 digitalWrite(buzzer,HIGH);/发声音delay(1);/延时1ms digitalWrite(buzzer,LOW);/不发声音delay(1);/延时ms for(i=0;i100;i+)/输出另一个频率的声音 digitalWrite(buzzer,HIGH);/发声音delay(2);/延时2ms digitalWrite(buzzer,LOW);/不发声音delay(2);/延时2ms 点击下载到ARDUINO),下载完程序,蜂鸣器实验就完成了.例程5 模
19、拟值读取实验本实验我们就来开始学习一下模拟I/O 接口的使用Arduino 有模拟0模拟5 共计6 个模拟接口,这6 个接口也可以算作为接口功能复用,除模拟接口功能以外,这6 个接口可作为数字接口使用,编号为数字14数字19,简单了解以后,下面就来开始我们的实验。电位计是大家比较熟悉的典型的模拟值输出元件,本实验就用它来完成。所需元器件有:电位计模块*1 3PIN线*1本实验我们将电位计的阻值转化为模拟值读取出来,然后显示到屏幕上,这也是我们以后完成自己所需的实验功能所必须掌握的实例应用。我们先要按照以下电路图连接实物图我们使用的是模拟0 接口。程序的编写也很简单,一个analogRead()
20、;语句就可以读出模拟口的值,Arduino 328是10 位的A/D 采集,所以读取的模拟值范围是0-1023,本个实验的程序里还有一个难点就是显示数值在屏幕这一问题,学习起来也是很简单的。首先我们要在voidsetup()里面设置波特率,显示数值属于Arduino 与PC 机通信,所以Arduino 的波特率应与PC 机软件设置的相同才能显示出正确的数值,否则将会显示乱码或是不显示,在Arduino 软件的监视窗口右下角有一个可以设置波特率的按钮,这里设置的波特率需要跟程序里void setup()里面设置波特率相同,程序设置波特率的语句为Serial.begin();括号中为波特率的值。其
21、次就是显示数值的语句了,Serial.print();或者Serial.println();都可以,不同的是后者显示完数值后自动回车,前者不是,更多的关于语句的讲解前面有介绍这里就不再多说了,我们来写程序:int potpin=0;/定义模拟接口0int ledpin=13;/定义数字接口13int val=0;/将定义变量val,并赋初值0void setup()pinMode(ledpin,OUTPUT);/定义数字接口为输出接口Serial.begin(9600);/设置波特率为9600void loop()digitalWrite(ledpin,HIGH);/点亮数字接口13 的LED
22、delay(50);/延时0.05 秒digitalWrite(ledpin,LOW);/熄灭数字接口13 的LEDdelay(50);/延时0.05 秒val=analogRead(potpin);/读取模拟接口0 的值,并将其赋给valSerial.println(val);/显示出val 的值点击(下载到ARDUINO),*下面就是读出的模拟值。本实验到这里就完成了,当您旋转电位计旋钮的时候就可以看到屏幕上数值的变化了,读取模拟值这个方法将一直陪伴我们,模拟值读取是我们很常用的功能,因为很多传感器都是模拟值输出,我们读出模拟值后再进行相应的算法处理,就可以应用到我们需要实现的功能里了。例
23、程 6 光控声音实验 光敏电阻器(photovaristor)又叫光感电阻,是利用半导体的光电效应制成的一种电阻值随入射光的强弱而改变的电阻器;入射光强,电阻减小,入射光弱,电阻增大。光敏电阻器一般用于光的测量、光的控制和光电转换(将光的变化转换为电的变化)。光敏电阻可广泛应用于各种光控电路,如对灯光的控制、调节等场合,也可用于光控开关。本次实验我们先进行一个较为简单的光敏电阻的使用实验1、实验器件 n光敏电阻模块:1个 n有源蜂鸣器模块:1个 3PIN线*22、实验连线 3、实验原理 本程序应用前面几节读取模拟口电压值的方法,直接将光敏电阻接在数字口。当有光照时,光敏电阻的阻值减小,蜂鸣器不
24、响。遮挡光敏电阻模块时,正常发出声音,下面我们来编程:int val;void setup()val = 0;Serial.begin(9600);pinMode( 10 , OUTPUT);void loop()val = analogRead(A0) ;Serial.print( light: );Serial.print( val );Serial.println();if ( ( val ) = ( 50 ) )digitalWrite( 10 , HIGH );delay( 1000 );elsedigitalWrite( 10 , LOW );delay( 1000 ); 点击(下
25、载到ARDUINO),就可以通过光的亮度来控制蜂鸣器的发声。掌握本程序后,大家可以自己动手设计实验,也可以用光敏电阻控制led灯亮度。例程7 舵机控制实验舵机是一种位置伺服的驱动器,主要是由外壳、电路板、无核心马达、齿轮与位置检测器所构成。其工作原理是由接收机或者单片机发出信号给舵机,其内部有一个基准电路,产生周期为20ms,宽度为1.5ms 的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出。经由电路板上的IC 判断转动方向,再驱动无核心马达开始转动,透过减速齿轮将动力传至摆臂,同时由位置检测器送回信号,判断是否已经到达定位。适用于那些需要角度不断变化并可以保持的控制系统。当
26、电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。一般舵机旋转的角度范围是0 度到180 度。舵机有很多规格,但所有的舵机都有外接三根线,分别用棕、红、橙三种颜色进行区分,由于舵机品牌不同,颜色也会有所差异,棕色为接地线,红色为电源正极线,橙色为信号线。舵机的转动的角度是通过调节PWM(脉冲宽度调制)信号的占空比来实现的,标准PWM(脉冲宽度调制)信号的周期固定为20ms(50Hz),理论上脉宽分布应在1ms到2ms 之间,但是,事实上脉宽可由0.5ms 到2.5ms 之间,脉宽和舵机的转角0180相对应。有一点值得注意的地方,由于舵机牌子不同,对于同一信号,不同牌
27、子的舵机旋转的角度也会有所不同。了解了基础知识以后我们就可以来学习控制一个舵机了,本实验所需要的元器件很少只需要舵机一个、跳线一扎就可以了。RB412 舵机*1 面包板跳线*1 扎用Arduino 控制舵机的方法有两种,一种是通过Arduino 的普通数字传感器接口产生占空比不同的方波,模拟产生PWM 信号进行舵机定位,第二种是直接利用Arduino 自带的Servo 函数进行舵机的控制,这种控制方法的优点在于程序编写,缺点是只能控制2 路舵机,因为Arduino 自带函数只能利用数字9、10 接口。Arduino 的驱动能力有限,所以当需要控制1 个以上的舵机时需要外接电源。这里我们通过电位
28、器模块控制一个舵机转动使用原件:arduino 控制板*1电位器模块*19克舵机*1传感器连接线*1这里要注意,不要使用电脑usb供电,因为如果电流需求大于500ma,会有烧毁usb的可能,推荐使用电池外置供电。我们来编程:#include int _ABVAR_1_val;int _ABVAR_2_servo;Servo servo_pin_9;void setup()_ABVAR_1_val = 0;servo_pin_9.attach(9);_ABVAR_2_servo = 0;void loop()_ABVAR_1_val = analogRead(A0) ;_ABVAR_2_serv
29、o = map ( _ABVAR_1_val , 0 , 1023 , 0 , 180 ) ;servo_pin_9.write( _ABVAR_2_servo );编好后点击(下载到ARDUINO)把程序烧到开发板里面,我们就可以利用电位器控制舵机了。例程8 继电器控制我们先来认识一下继电器模块继电器是一种当输入量(激励量)的变化达到规定要求时,在电气输出电路中使被控量发生预定的阶跃变化的一种电器。本公司生产的继电器模块可以接在 240V 交流或 28V 直流电源中对各种其它电器件进行控制。利用单片机可以实现定时控制开关的目的。可以应用于防盗,报警,玩具,建设等领域。继电器是一种电控制器件。
30、它具有控制系统(又称输入回路)和被控制系统(又称输出回路)之间的互动关系。通常应用于自动化的控制电路中,它实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。特别适合于单片机控制强电装置。在控制和使用上也非常方便,只需要给继电器的输出端输入相应不同的电平,即可达到通过控制继电器控制其它设备的目的,另外,在多路继电器 PCB 布局上采用了两行式布局,方便用户引出线的连接。同时在电路中了加了一个直流二极管大大提高了继电器模块的搞电流能力防止三极管被烧坏。另外我们在这款继电器中增加了一个电源指示灯(一路继电器除外),指示灯为红色。在各路继电器中也增加
31、了一个状态指示灯。可以让大家实时观察继电器的开关状态。主要用途继电器是具有隔离功能的自动开关元件,广泛应用于遥控、遥测、 通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一。归结起来有如下的作用:1) 扩大控制范围:例如,多触点继电器控制信号达到某一定值时,可以按触点组的不同形式,同时换接、开断、接通多路电路。 2) 放大:例如,灵敏型继电器、 中间继电器等,用一个很微小的控制量,可以控制很大功率的电路。 3) 综合信号:例如,当多个控制信号按规定的形式输入多绕组继电器时,经过比较综合,达到预定的控制效果。 4) 自动、遥控、监测:例如,自动装置上的继电器与其他电器一起,可以组
32、成程序控制线路,从而实现自动化运行注意事项1)额定工作电压:是指继电器正常工作时线圈所需要的电压, 也就是控制电路的控制电压。根据继电器的型号不同,可以是交流电压,也可以是直流电压。 2)直流电阻:是指继电器中线圈的直流电阻,可以通过万用表测量。 3)吸合电流:是指继电器能够产生吸合动作的最小电流。在正常使用时,给定的电流必须略大于吸合电流,这样继电器才能稳定地工作。而对于线圈所加的工作电压,一般不要超过额定工作电压的 1.5 倍,否则会产生较大的电流而把线圈烧毁。 4) 释放电流: 是指继电器产生释放动作的最大电流。当继电器吸合状态的电流减小到一定程度时,继电器就会恢复到未通电的释放状态。这
33、时的电流远远小于吸合电流。 5)触点切换电压和电流:是指继电器允许加载的电压和电流。它决定了继电器能控制电压和电流的大小,使用时不能超过此值,否则很容易损坏继电器的触点。模块测试下面是关于继电器控制的一个简单测试程序: int relay = 10; /继电器导通触发信号-高电平有效;void setup()pinMode(relay,OUTPUT); /定义端口属性为输出;void loop()digitalWrite(relay,HIGH); /继电器导通;delay(1000);digitalWrite(relay,LOW); /继电器开关断开;delay(1000);在以上的介绍中我只
34、是介绍了四路继电器里面一路的控制,其实四路的继电器它们不论在接线还是控制上都是一样的。例程9 I2C1602液晶控制一、产品介绍大家都知道,LCD 以及数码管之类的显示器它们虽然极大丰富了人机交互性,但是我们有个共同的特点就是,与控制器连接是都要占用较多的 IO 口线,这对一些外围接口不够丰富的控制器是一大难题,同时也限制了控制器的其他功能,针对这点,我们的带I2C 接口的 LCD1602 就能很好的解决这个问题,而且使用起来也是比较简单。二、产品特点接口:I2C 接口 I2C 地址:0x27管脚定义:VCC、GND、SDA、SCL工作电压:+5V 尺寸:27.7mm42.6mm 对比度调节:
35、通过电位器 只使用两个 IO 接口三、使用说明由于该模块是 I2C 接口的,所以我们再使用时要遵循 I2C 的协议,要包含相应的头文件才行,并且一定要加到库中,下面会有介绍。还是先来看看它与 Arduino 控制板是如何连接的那么在使用时我们只要按照这个原理图接线就可以了,具体细节后续介绍。四、模块测试硬件要求1、Arduino 控制器 12、USB 数据线 13、I2C LCD1602 模块 1测试要求的东西就那么多,同上次的一样,我们这次做个简单测试,我们在 LCD 上显示一行字符“”;好了,先看测试代码#include #include LiquidCrystal_I2C lcd(0x2
36、7,16,2); / set the LCD address to 0x27 for a 16 chars and 2 line displayvoid setup()lcd.init(); / initialize the lcd / Print a message to the LCD.lcd.backlight();lcd.print( );void loop()在测试代码的时候一定要将 Wire、LiquidCrystal_I2C 这两个头文件添加到我们的库中,这是该模块工作的保证!好了,我们下次使用 LCD 就不会那么费劲了。例程10土壤湿度传感器控制我们先来看实物这是一个简易的水份
37、传感器可用于检测土壤的水份,当土壤缺水时,传感器输出的模拟值将减小,反之将增大。使用这个传感器制作一款自动浇花装置,当您长时间不在家或过了浇水的时间,它可以感测到您的植物是否已经渴了。防止植物枯萎了才知道是缺水造成的。配合Arduino控制器让您的植物更舒适,花园更智能。土壤湿度传感器模块,它并不是什么高深的东西, 但是如果你需要在工程中用到对土壤湿度的检查,它将是你最好的选择。通过读取两个电极之间的电流的变化,传感器使用两个探头,电流通过土壤,然后读取该电阻得到的水分含量。水比较多的情况下,使土壤更容易地进行电力(减少阻力),而干燥的土壤导电性差(电阻)。 传感器表面做了金属化处理,可以延长
38、它的使用寿命。将它插入土壤,然后使用AD转换器读取它。在它的帮助下,植物会提醒您:我要喝水了,请给我我一点水喝。技术规格供电电压:3.3V或5V工作电流:小于20mA输出电压:0-2.3V【2.3V是完全浸泡在水中的电压值】,5V供电,湿度越大输出电压越大。传感器类型:模拟输出包装方式:静电袋密封接口定义:1脚信号,2脚地,3脚电源正使用寿命:大约1年(表面镀金处理,加强了导电性和抗腐蚀性)模块尺寸:20X60mmArduino 测试代码:测试代码:/* # Example code for the moisture sensor# Connect the sensor to the A0(A
39、nalog 0) pin on the Arduino board # the sensor value description # 0 300 dry soil # 300700 humid soil # 700950 in water*/void setup() Serial.begin(57600);void loop() Serial.print(Moisture Sensor Value:); Serial.println(analogRead(0); delay(100);代码下载到ARDUINO里面后,我们就可以通过串口监测看到土壤的湿度了。例程11蓝牙控制蓝牙-这个名称来自于第
40、十世纪的一位丹麦国王 Harald Blatand , Blatand 在英文里的意思可以被解释为 Bluetooth( 蓝牙 )。所谓蓝牙(Bluetooth)技术,实际上是一种短距离无线电技术,利用“蓝牙”技术,能够有效地简化掌上电脑、笔记本电脑和移动电话手机等移动通信终端设备之间的通信,也能够成功地简化以上这些设备与因特网(Internet)之间的通信,从而使这些现代通信设备与因特网之间的数据传输变得更加迅速高效,为无线通信拓宽道路。Bluetooth Bee 蓝牙无线数传模块采用XBEE造型设计,体积尺寸紧凑,兼容XBEE的扩展底座,适用于各种3.3V的单片机系统,模块可以使用AT指令
41、设置波特率和主从机模式,默认波特率:9600,配对密码1234,从机模式。参数1)蓝牙协议:蓝牙 2.1+EDR 标准2)USB 协议:USB v1.1/2.03)工作频率:2.4GHz ISM 频段4)调制方式:高斯频移键控5)发射功率: 4dBm,第二级6)灵敏度: -84dBm at 0.1% 误信率7)传输速率:2.1Mbps(Max)/160 kbps(Asynchronous);1Mbps/1Mbps(Synchronous)8)安全特性:认证和加密9)支持配置:蓝牙串口(主和从)10)供电电压:+3.3 VDC 50mA 11)工作温度:-20 到 55 摄氏度 因为是初次与蓝牙
42、模块打交道,今天还是先来小试牛刀,让Arduino与手机成功通信吧。先来接线,当蓝牙模块成功的和手机连接后,蓝牙模块连接指示灯绿灯会点亮。 下面就来看看程序吧,我就让Arduino接收到我手机输入的r后,是pin13接口的LED闪烁一下,再输出keyes字样。程序如下:char val;int ledpin=13;void setup() Serial.begin(9600); pinMode(ledpin,OUTPUT);void loop() val=Serial.read(); if(val=r) digitalWrite(ledpin,HIGH); delay(500); digita
43、lWrite(ledpin,LOW); delay(500); Serial.println(keyes); 怎么样,蓝牙的基本原理你掌握了没有。蓝牙通讯在日常的生活中是很常见的,希望大家能熟练掌握蓝牙的操作。例程12蓝牙智能家居综合应用我们先看蓝牙智能家居的原理图通过上图我们不难看出,这套智能家居套装,是应用ARDUINO 和安卓系统的交互。其原理就是手机上的安卓系统通过蓝牙发送指令,来控制ARDUINO单片机控制外围模块的动作,和读取外围的传感器的值。正是由于ARDUINO 和安卓两大系统开源特性,所以我们有机会把未来流行的智能家居建立在其基础之上。当然,今天我们只是初步的勾勒出了一个智能
44、家居的模型,主要是提供想学习又苦于没有资料的爱好者的一个入门的学习。离真正的智能家居,我们还有很长的一段路要走。再看接线示意图通过前面11节的学习,大家应该对这个接线图不会陌生了吧,图示的每个IO口对应的XBEE V5.0扩展板上的电子积木接口。注意,因为接了舵机,所以要用ARDUINO 主板要用外接电源,就用6节5号电池供电,还要注意,程序烧好之后才能插蓝牙,不然无法下载程序。废话不说,上程序:/*/*科易互动科技-安卓智能家居程序*/*Write by LAYHOYA COPY by zuo*/*http:/keyes-*/*Date:2013.5.9*/*#include #includ
45、e #include #include pitches.hLiquidCrystal_I2C lcd(0x27,16,2); / set the LCD address to 0x27 for a 16 chars and 2 line displayint melody = NOTE_E4, NOTE_E4, NOTE_E4, NOTE_C4, NOTE_E4, NOTE_G4, NOTE_G3, NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4
46、, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3, NOTE_C4, NOTE_G3, NOTE_E3, NOTE_A3, NOTE_B3, NOTE_AS3, NOTE_A3, NOTE_G3, NOTE_E4, NOTE_G4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_E4, NOTE_C4, NOTE_D4, NOTE_B3, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C
47、4, NOTE_D4, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_C5, NOTE_C5, NOTE_C5, NOTE_G4, NOTE_FS4, NOTE_E4, NOTE_DS4, NOTE_E4, NOTE_GS3, NOTE_A3, NOTE_C4, NOTE_A3, NOTE_C4, NOTE_D4, NOTE_DS4, NOTE_D4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3, NOT
48、E_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_C4, NOTE_D4, NOTE_E4, NOTE_C4, NOTE_A3, NOTE_G3;int duration = 110; Servo myservo;Servo myservo2;int analogInPin0 = A0;/定义模拟信号1在A0脚位int analogInPin1 = A1;/定义模拟信号2在A1脚位int analogInPin2 = A2;/定义模拟信号3在A2脚位int analogInPin3 = A3;/定义模拟信号4在A3脚位int delay_counter = 0;int sensorValue = 0; int sensorValue1 = 0; int sensorValue2 = 0; int sensorValue3 = 0; int R_LED = 6;/定义三色RGB的红色脚位int G_LED = 5;/定义三色RGB的绿色脚位int B_LED = 3;/定义三色RGB的蓝色脚位int W3w_LED = 13;/定义3W LED 脚位int value = 0;int Pass
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度特种旅游项目风险告知及免责协议
- 2025年度果树种植技术培训与果园承包服务协议
- 2025年度汽车展示柜定制与汽车品牌广告投放协议
- 2025年度新能源车辆销售合同授权委托书
- 路面病害自动检测技术-深度研究
- 电子医疗机器人行业跨境出海战略研究报告
- 绿色建筑性能评估服务企业制定与实施新质生产力战略研究报告
- 益生菌成人肠胃调理胶囊企业制定与实施新质生产力战略研究报告
- 湖泊生态岛屿行业深度调研及发展战略咨询报告
- 高介电常数材料企业制定与实施新质生产力战略研究报告
- 簸箕上的麻雀三声部合唱简谱
- 小批量试制总结报告
- 新媒体部门配置人员架构文件
- 新外研版高二英语选择性必修三unit2 life behind the lens课件
- 黄芩种植时间什么时候最好 黄芩播种技术
- 平面广告之构图与版式设计课件
- 桩基工程竣工验收记录
- 铁路物流-物流产业大数据平台课件
- 《空气动力学基础》绪论课件
- 卡通插画幼儿园国防教育主题班会课程PPT实施课件
- 第一届全国中学生地球科学竞赛初赛试题试题含答案
评论
0/150
提交评论