找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3921|回复: 0
打印 上一主题 下一主题
收起左侧

arduino湿敏传感器报警Proteus仿真程序(用于检测漏液)

[复制链接]
跳转到指定楼层
楼主
主控芯片arduino
外接三个湿敏传感器
显示屏LCD1602
1000ms倒计时,倒计时内湿敏电阻触发即报警。1000ms用于打吊瓶等类似倒计时操作。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)

Arduino源程序如下:
  1. #include <SoftwareSerial.h>
  2. #include <LiquidCrystal.h> //申明1602液晶的函数库
  3. #include <MsTimer2.h>     //定时器库的 头文件

  4. LiquidCrystal lcd(12,11,10,9,8,7,6,5,4,3,2);   //申明1602液晶的11个引脚所连接的Arduino数字端口
  5. int testa = A0;  //测试引脚
  6. int led=A4;    //有水就亮
  7. int a=0;
  8. int b=0;
  9. int c=0;
  10. int vala=0;
  11. int lll=A5;             //外接继电器IN脚

  12. SoftwareSerial BT(A2, A3);

  13. void flash()                        //中断处理函数
  14. {                        
  15.     a++;
  16.     lcd.setCursor(15,2);   
  17.     lcd.print(a%10);
  18.     lcd.setCursor(14,2);   
  19.     lcd.print(a/10);

  20.     if(a>=60)
  21.     {
  22.       a=0;
  23.       b++;
  24.       lcd.setCursor(12,2);   
  25.       lcd.print(b%10);
  26.       lcd.setCursor(11,2);   
  27.       lcd.print(b/10);
  28.       if(b>=60)
  29.       {
  30.         b=0;
  31.         c++;
  32.         lcd.setCursor(9,2);   
  33.         lcd.print(c%10);
  34.         lcd.setCursor(8,2);   
  35.         lcd.print(c/10);
  36.       }
  37.     }
  38. }

  39. void setup()
  40. {
  41. pinMode(led, OUTPUT);//定义小灯接口为输出接口
  42. pinMode(lll, OUTPUT);
  43. pinMode(testa, INPUT);
  44. BT.begin(9600);//设置波特率为9600
  45. lcd.begin(16,2);      //初始化1602液晶工作模式,定义1602液晶显示范围为2行16列字符

  46. MsTimer2::set(1000, flash);        // 中断设置函数,每 1000ms 进入一次中断
  47. MsTimer2::start();                //开始计时
  48. lcd.setCursor(9,2);   
  49. lcd.print("0:00:00");
  50. }

  51. void loop()
  52. {
  53.   vala=digitalRead(testa);//读取传感器的值并赋值给val
  54.   if(vala==1)
  55.    {
  56.     digitalWrite(led, HIGH);    //亮
  57.     digitalWrite(lll, HIGH);    //亮
  58.     delay(1000);  
  59.     BT.println("Help!!!!!");
  60.     lcd.setCursor(5,0);   
  61.     lcd.print("Help!!!!!");
  62.    }

  63.   else {
  64.      digitalWrite(led,LOW);     //灭
  65.      digitalWrite(lll,LOW);     //灭
  66.      delay(1000);  
  67.      lcd.setCursor(5,0);   
  68.      lcd.print("no!!!!!");
  69.       }
  70. }
复制代码

全部资料51hei下载地址:
sketch_apr11a.rar (62.09 KB, 下载次数: 38)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表