arduino wifi模块电表中的报警功能模块

论文发表、论文指导
周一至周五
9:00&22:00
基于Arduino的简易亮光报警器的设计与实现
&&&&&&本期共收录文章20篇
  【摘要】本文叙述了什么是Arduino及其特色;对ATmega单片机进行了简单介绍;详细的叙述了光敏电阻的结构和工作原理。阐述了亮光报警器的基本原理和组成,给出了器件清单、连线方法、源程序及程序下载方法。最后指出Arduino应用前景。中国论文网 /8/view-3785224.htm  【关键词】Arduino;光敏电阻;单片机  1.引言  在2011年举行的Google I/O开发者大会上,Google发布了基于Arduino的Android Open Accessory标准和ADK工具,大家对Arduino的前景十分看好。Phillip Torrone大胆地预测Google将用Android+Arduino的形式掀起自己的“Kinect模式”浪潮。目前,国内关注Arduino的人越来越多。笔者爱好电子制作,接触Arduino较早,希望通过自己的努力让更多的人了解Arduino。Arduino具有丰富的接口,简便的编程环境,极大的自由度,可拓展性能非常高,没有复杂的单片机底层代码,没有难懂的汇编,只是简单而实用的函数,它必将引领一个新的时代!  2.Arduino  2.1 什么是Arduino  Arduino是什么?Arduino是源自意大利的一个开放源代码的硬件项目,Arduino是一块基于开放源代码的USB接口Simple I/O接口板(包括12通道数字GPIO,4通道PWM输出,6-8通道10bit ADC输入通道),并且具有使用类似Java,C语言的IDE集成开发环境。Arduino是一种开放资源的硬件设计,任何人都可以自由的设计,制作自己的Arduino兼容板,便于与计算机和许多其它连接器相连,通过连接器又可以连接到外部电子装置和器件,Arduino可以使用开发完整的电子元件例如Switch或Sensors或其他控制器、LED、步进马达或其他输出装置。Arduino也可以独立运作成为一个可以跟软件沟的接口。Arduino板可以通过USB接口从PC机取电,也可以用9V电池供电。可以直接用计算机对其进行控制,也可以经计算机编程后在断开连接使其独立工作。Arduino开发IDE接口基于开放源代码,可以让您免费下载使用开发出更多令人惊艳的互动作品。简易亮光报警器就是其中一个简单的应用案例。  2.2 Arduino系列控制器特色  1)开放源代码的电路图设计,程序开发接口免费下载,也可依需求自己修改。  2)可以采用USB接口供电,也可以外部供电,双向选择。  3)Arduino支持ISP在线烧写,可以将新的“bootloader”固件烧入ATmega168或AT mega328芯片等兼容芯片。有了bootloader之后,可以通过USB更新程序。  4)可依据官方提供的Eagel格式PCB和SCH电路图,简化Arduino模组,完成独立运作的微处理控制。可简单地与传感器,各式各样的电子元件连接(红外线、超音波、热敏电阻、光敏电阻、伺服舵机…等)。  5)支持多种互动程序,如:Flash、Max/Msp、VVVV、C、Processing....等。  6)应用方面,利用Arduino,突破以往只能使用鼠标、键盘,CCD等输入的装置的互动内容,可以更简单地达成单人或多人游戏互动。  Arduino不仅适合与电子类的师生,更适合与非电子类专业的师生学习,她会让您的专业插上智能的翅膀。Arduino控制器,我的理解是它的硬件CPU就是AVR,主要是软件编程环境与ICCAVR和WINAVR不同,Arduino环境里,不需要设置单片机各寄存器,直接用简单的几个类C的函数就可编程,容易上手,是电子爱好者普遍使用的下位机语言。用过AVR单片机的人都知道AVR难学的原因就是需了解众多的寄存器的功能,并且要在软件中小心地设置这些寄存器,而Arduino不需要。在Arduino环境里,可以把单片机内部当成黑匣子,只要知道单片机的引脚作用就行,Arduino语言程序直接控制这些引脚的输入输出即可,很容易学习使用的。  3.ATmega单片机  ATmega单片机属于美国ATMEL公司AVR中的高档产品,它承袭了AT90所具有的特点,并在AT90(如AT9058515、AT9058535)的基础上,增加了更多的接口功能,而且在省电性能。稳定性、抗干扰性以及灵活性方面考虑得更加周全和完善。  4.光敏电阻介绍  4.1 认识光敏电阻  光敏电阻又称光电管,常用的制作材料为硫化镉,另外还有硫化铝,硫化铅等材料,这些制作材料具有在特定波长下的光照射时,其阻值迅速减小的特性。这是由于光照产生的载流子都参与导电,在外电场的作用下作漂移运动,电子奔向电源的正极,空穴奔向电源的负极,从而使光敏电阻的阻值迅速下降。实物图、结构图和代表符号如图1。  4.2 工作原理  光敏电阻的工作原理是基于内光电效应,光敏电阻的核心器件为光电导体,它是由半导体制成的。光敏电阻没有极性,纯粹是一个电阻器件,使用时可以加直流电压,也可以加交流电压,为了增加灵敏度,两电极常做成梳状。在有光照射时入射光强,电阻减小,入射光弱,电阻增大。  5.设计与实现  5.1 实验器件  光敏电阻 1个  蜂鸣器 1个  Arduino板 1个  5.2 实验连线  把Arduino板的USB口用一条USB线与PC机的USB口相连。光敏电阻的一端插在数字6口,另一端与蜂鸣器的正极相连,蜂鸣器的负极与GND插口相连。实验连线如图2。  5.3 实验原理  本程序采用了一种简单的方式,直接将光敏电阻插在数字口上。程序的功能是让蜂鸣器发声,没有光照时,光敏电阻的阻值较大,声音特别的小;当有光照时,光敏电阻的阻值减小,所以蜂鸣器两端的电压会增大,蜂鸣器声音变大。光照越强,电阻越小,蜂鸣器越响。   5.4 程序代码  Arduino的编程软件窗口如图3所示。  源程序代码如下:  void setup() //初始化函数  {  pinMode(6,OUTPUT); //定义数字I/O口的6脚为输出模式  }  void loop() //执行函数  {  while(1)  {  char i,j; //定义局部变量  while(1)  {  for(i=0;i<80;i++) //输出一个频率的声音  {  digitalWrite(6,HIGH); //控制I/O口输出高电平  delay(1); //延时1mS  digitalWrite(6,LOW); // 控制I/O口输出低电平  delay(1); // 延时1mS  }  for(i=0;i<100;i++) //输出另一个频率的声音  {  digitalWrite(6,HIGH); // 控制I/O口输出高电平  delay(2); // 延时2mS  digitalWrite(6,LOW); // 控制I/O口输出低电平  delay(2); // 延时2mS  }  }  }  }  5.5 程序结构分析  在以上源程序中,标准的程序入口main函数在内部被定义,用户只需要关心以下两个函数:  void setup()  void loop()  setup()函数用于初始化,loop()函数用于执行。初始化函数一般放在程序开头,用于设置一些引脚的输出/输入模式,初始化串口通讯等类似工作。loop()函数中的代码将被循环执行,例如:读入引脚状态、设置引脚输出状态、串行通信等。  我们不难看出Arduino开发语言与C语言类似,提供全部的C语言特性和C++语言的部分特性。当然也可自行加入一些扩展库如对以太网的支持、对伺服电机的支持等。然后可以使用库中提供的函数。具体的应用细节请参考相关文档。  5.6 下载程序  连接好PC机和实验板后,选择好实验板的型号和通信口后,用鼠标点击菜单栏Upload即可下载程序。下载程序如图4。  5.7 功能验证  程序下载到实验板后,用手电筒或其它发光物体照射光敏电阻,可听到声音,光照越强,蜂鸣器的声音越大。也可以用光敏电阻控制LED灯亮度。当你把它放在阳台上,天亮时她还会相公鸡一样叫你起床呢。  6.结语  本设计研究了一种亮光报警器,通过以Atmega328单片机为工作处理器核心,光敏电阻为一种应用广泛的光电式传感器控制蜂鸣器的声音大小。Arduino是一个开源的电子原型平台,Arduino通过接收来自各种传感器的输入来感知环境的变化,通过控制灯光,马达和其它驱动器来表现行为。因为Arduino基于易于使用的硬件和软件而设计,所以适合于艺术家,设计师和业余爱好者创建交互性的对象和环境,Arduino可以让他们的创意制作插上智能的翅膀。  参考文献  [1]李学海.经典80C51单片机快速进阶与实作[M].北京:清华大学出版社,2012.  [2]孙骏荣,吴明展,卢聪勇.Arduino一试就上手[M].北京:科学出版社,2012.  [3]陈圣林,侯成晶.图解传感器技术及应用电路[M].北京:中国电力出版社,2009.  [4][美]Simon Monk.基于Arduino的趣味电子制作[M].吴兰臻,郑海昕,王天祥译.张宝玲审校.北京:科学出版社,2011.  [5]吴双力,等编著.AVR-GCC与AVR单片机C语言开发[M].北京:北京航空航天大学出版社,2004.  作者简介:  刘敏(1974—),女,河北石家庄人,讲师,主要从事电子技术研究。  刘泽军(1971—),男,河北文安人,副教授,主要从事电子技术研究。  宋庆国(1983—),男,工程师,主要从事单片机与嵌入式系统应用开发、物联网技术与应用研究。
转载请注明来源。原文地址:
【xzbu】郑重声明:本网站资源、信息来源于网络,完全免费共享,仅供学习和研究使用,版权和著作权归原作者所有,如有不愿意被转载的情况,请通知我们删除已转载的信息。
xzbu发布此信息目的在于传播更多信息,与本网站立场无关。xzbu不保证该信息(包括但不限于文字、数据及图表)准确性、真实性、完整性等。1811人阅读
利用红外线对火焰非常敏感的特点,使用特制的红外线接收管来检测火焰,然后把火焰的亮度转化为高低变化的电平信号,输入到中央处理器,中央处理器根据信号的变化做出相应的程序处理。
所需元器件
红外接收管1个、蜂鸣器、10KΩ电阻1个、面包板、跳线若干、Arduino控制板
如上图所示,首先将红外三极管的负极接到5V端口中,正极连接10KΩ的电阻,电阻的另一端连接GND。在三极管与电阻之间接一根导线接到模拟端口A0上,把蜂鸣器与第八接口相连,另一端接地,这样电路就接好了。
注意:区分蜂鸣器的正负极,数字端口要接对。
当有火焰靠近时,模拟口读出的电压就是变化的,所以在实验开始时可以先储存一个没有火焰时的模拟口的电压&#20540;。把模拟信号转化为高低变化的电平信号,引起蜂鸣器发声。
int flame=A0;//定义火焰接口为模拟0 接口
int Beep=8;//定义蜂鸣器接口为数字8 接口
int val=0;//定义数字变量
void setup()
{ pinMode(Beep,OUTPUT);//定义LED 为输出接口
pinMode(flame,INPUT);//定义蜂鸣器为输入接口
Serial.begin(9600);}//设定波特率为9600&
void loop() { val=analogRead(flame);//读取火焰传感器的模拟&#20540;
Serial.println(val);//输出模拟&#20540;,并将其打印出来
if(val&=600)//当模拟&#20540;大于600 时蜂鸣器鸣响
{ digitalWrite(Beep,HIGH); } else { digitalWrite(Beep,LOW); } }
总结上面的实验,这个实验其实就是光控声音的一个拓展,共同点都是把光信号转化为高低变化的电平信号输出去。在这之中,也遇到过两点问题,一点就是将传感器接A0端口的接到A1上去,导致线路图与程序不想符,写入程序出现错误;另一点就是蜂鸣器的正负极没有区分,实验没反应。
版权声明:本文为博主原创文章,未经博主允许不得转载。
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:82861次
积分:1161
积分:1161
排名:千里之外
原创:32篇
转载:29篇
(1)(1)(1)(21)(5)(1)(14)(5)(3)(1)(1)(1)(1)(2)(1)(2)用arduino做电压表_arduino吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:26,719贴子:
用arduino做电压表收藏
刚才忽然想到中学物理学的自偶变压,默认的板子最大可以用模拟接口检测5v电压,分1024极,如果接一个升压自偶,不就可以测大电压了吗,再做点保护电路,和lcd,不就成了一个精度还不错的电压表了嘛?哈哈!
为什么获得好评的永远是别人的PPT?想让自己变成别人嘛!
没错,它的10bits模拟输入足够做个像样的电压表了,其实万用表都可以,下面给个链接供参考:这是有人用ATMege328做的万用表散件来出售,用的是Arduino硬件加运放,很简陋,但编程用了AVR,你可以轻松移植成Arduino。
我刚刚用icl7107做的电压表、好烦琐、、调试了好久、还没成功、一直有问题、而且网络上的教程是五花八门、、看了看、我拥有的arduino竟然也能当电压表、、我还买了五套icl7107的东东、真是浪费了、、
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或}

我要回帖

更多关于 arduino 电流表 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信