找回密码
 立即注册

QQ登录

只需一步,快速开始

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

基于Arduino的PM2.5/10检测仪设计报告

[复制链接]
跳转到指定楼层
楼主

完整的论文下载地址:
PM2.5检测仪设计报告.rar (4.51 MB, 下载次数: 83)


-----下面是论文部分内容的预览-------------------------------------------------------------
PM2.5/10检测仪设计报告
PM2.5/10 detector design report
PM2.5/10检测仪设计诚信声明:
本团队郑重声明:所呈交的PM2.5/10检测仪设计,是本团队在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本团队完全意识到本声明的法律结果由本团队承担。
摘要
   最近中国很多地方出现了严重的雾霾天气,影响着人们生活的各个方面,最严重的危害还是对人体健康的危害。雾霾的组成十分复杂,大小有数百种颗粒物,这些颗粒物通过人体呼吸,进入呼吸道,会引发气管炎,哮喘等呼吸道疾病。众所周知,吸烟的人患肺癌的几率比普通人高60%,而雾霾里含有的有害颗粒物更多,所以雾霾比吸烟更易致癌。因此,对PM2.5/10的测量显得越来越重要。
本设计采用Arduino unoR3 开发板为控制中心,由PM2.5激光传感器SDS011测量空气粉尘浓度,595驱动八位数码管显示当前空气粉尘浓度。当空气中粉尘浓度达到所设定限度启动蜂鸣器自动报警,且能实时对应显示相应的LED灯,直观提醒当前的污染级别。该系统电路简单、工作稳定、集成度高,调试方便,测试精度高,具有一定的实用价值。
Abstract
Recently, severe hazy weathers appeared in many places around China, which caused impact on eve-ry aspect of people’s life. The most dangerous threat lies in the health hazard. The composition of h-aze is very complicated, as it is consisted of hundreds of particulate matters that can be breathed into humans respiratory, which lead to many respiratory diseases such as trachitis and asthma. Howe-ver, smokers have 60% higher chances of contracting lung cancer than ordinary people, and haze also contains many other harmful particulate matters so the haze is more likely to cause cancer tha-n smoking. Therefore, the measurement of PM2.5 is becoming more and more important.
This design uses the unoR3 Arduino development board as the control center, by the PM2.5 laser sensor SDS011 measurement of air dust concentration, 595 drive eight digital tube display the current air dust concentration
When the dust concentration in the air reaches the set limit, the buzzer will start to alarm automat-ically and can display corresponding LED light at real time, visually indicating current pollution le-vel. The system has the advantages of simple circuit, stable operation, high integration, convenient debugging, and high-test accuracy and has important practical value.
目录:
第一章:概述································································1~2
1.1设计的主要内容和意义····································································1~2
  1.1.1设计的主要内容  ······································································· 1
  1.1.2 设计的主要意义··········································································1~2
第二章:主控制器及主要器件····························2~6
2.1 Arduino unoR3开发板·····································································2~3
  2.2 595驱动八位数码管········································································3~5
  2.3 PM2.5激光传感器···········································································5~6
第三章:硬件电路设计···················································7~10
  3.1 电路设计框图············································································7~8
3.2 PM2.5检测仪的简单操作································································9~10
第四章:软件11
  4.1用到的软件Arduino ide ·········································11
第五章: 设计主要用途及应用的场景·································11
5.1主要用途··················································································· 11
  5.2 应用场景 ··················································································11
第六章:应用设计进行的相关实验及结论分析····················12~16
  6.1实验一:公园的检测····································································· 12
  6.2 实验二:路口的检测·······································································13
  6.3实验三: 生活场景的检测································································14~15
  6.4 检测分析····················································································16
  6.5应对做法·····················································································16
第七章:总结································································16
参考文献·····························································································17
附录:程序························································································· 17




第一章:概述
1.1、设计的主要内容和意义
1.1.1、设计的主要内容
本设计提出的“PM2.5,PM10监测”的方案最基本的实现方法是由Arduino开发板、激光粉尘传感器、LED灯、显示模块、报警器等模块组成的电路,PM2.5/10激光传感器SDS011采集空气中PM2.5,PM10的浓度值,经过Arduino unoR3开发板处理后,在595驱动八位数码管上显示,并且设置一个报警值,检测的PM2.5,PM10浓度值超过报警值后,另外,该设计在实时检测浓度的同时,根据当前检测浓度亮起相应的灯,浓度范围分别为:
PM25
浓度/μg/m3
红色LED灯
紫色LED灯
白色LED灯
报警器
环境优
环境良
轻度污染
重度污染
0~40
40~80
80~120
120~999
PM10
0~40
40~80
80~120
120~999
1.1.2、设计的主要意义
1PM2.5由什么组成
   PM2.5是粒径小于2.5μm的空气中的悬浮物。微小的可溶性固体、可溶性气体是形成PM2.5的首要因素。例如SOx(硫的氧化物)、NOx(氮的氧化物)、xCl、xBr、xCO3等物质形成的水的微小液滴,微小液滴和微小颗粒是形成灰霾的主要物质。
2PM2.5来源:
PM2.5是日常发电、工业生产、汽车尾气排放等过程中经过燃烧而排放的残留物,大多含有重金属等有毒物质。一般而言,粒径2.5微米至10微米的粗颗粒物主要来自道路扬尘等,2.5微米一下的细颗粒物主要来自化石燃料燃烧。挥发有机物。
3PM2.5的危害
气象专家和医学专家认为,由细颗粒物造成的灰霾天气对人体健康的危害甚至要比沙大粒径10微米以上的颗粒物,会被挡在人的鼻子外面;粒径在2.5微米至10微米之间的颗粒物,能够进入上呼吸道,但部分可通过痰液等排出体外,另外也会被鼻腔内部的绒毛阻挡,对人体健康危害相对较小;而粒径在2.5微米以下的细颗粒物,直径不足人类头发丝的1/20大小,不易被阻挡。被吸入人体后会直接进入支气管,干扰肺部的气体交换引发包括哮喘、支气管炎和心血管病等方面的疾病。
世界卫生组织发布的报告显示,无论是发达国家还是发展中国家,目前大多数城市和农村人口均遭受到颗粒物对健康的影响。高污染城市中的死亡率超出相对清洁城市的15%至20%。据统计,在欧洲,PM2.5每年导致386000人死亡,并使欧盟国家人均期望寿命减少8.6个月。人体的生理结构决定了对PM2.5没有任何过滤、阻拦能力,而PM2.5对人类健康的危害却随着医学技术的进步,逐步暴露出其恐怖的一面。气象专家和医学专家认为,由细颗粒物造成的灰霾天气对人体健康的危害甚至要比沙尘暴更大。粒径10微米以上的颗粒物,会被挡在人的鼻子外面;粒径在2.5微米至10微米之间的颗粒物,能够进入上呼吸道,但部分可通过痰液等排出体外,另外也会被鼻腔内部的绒毛阻挡,对人体健康危害相对较小;而粒径在2.5微米以下的细颗粒物,直径相当于人类头发的1/10大小,不易被阻挡。被吸入人体后会直接进入支气管,刺激呼吸道,干扰肺部的气体交换,从而引发咳嗽、呼吸困难、哮喘、慢性支气管炎等呼吸系统的疾病并导致心律不齐、非致命性心脏病等心血管方面的疾病。其中,老人、小孩以及心肺疾病患者是PM2.5污染的敏感人群。
因此,对PM2.5的监测与治理便显得越来越重要。
第二章:主控制器及主要器件
2.1、Arduino unoR3 开发板
1Arduino  UNO R3的介绍
Arduino  UNO R3是一款易用型开源控制器,硬件上与Arduino UNO相比并没有大的变动,最大不同在于USB转串口电路部分,改用的 是一块ATMega16U2单片机,由此成本也有所提高,软件部分与之前一样,没有大的变化。
Arduino是一块基于开放原始代码的Simple i/o平台,并且具有开发语言和开发环境都很简单、易理解的特点。让您可以快速使用Arduino做出有趣的东西。它是一个能够用来感应和控制现实物理世界的一套工具。 它由一个基于单片机并且开放源码的硬件平台,和一套为Arduino板编写程序 的开发环境组成。Arduino可以用来开发交互产品,比如它可以读取大量的开关和传感器信号,并且可以控制各式各样的电灯、电机和其他物理设备。Arduino项目可以是单独的,也可以在运行时和你电脑中运行的程序(例如:Flash,Processing,MaxMSP)进行通讯。
2Arduino unoR3的特性
微控制器核心:AVRmega328P-PU(处理速度可达20MIPS)
工作电压:+5V
外部输入电压:+7V~+12V(建议)
外部输入电压(极值):+6V≤Vin≤+20V
数字信号I/O接口:14(其中6个PWM输出接口)
模拟信号输入接口:6
DC I/O接口电流:40 mA
Flash容量:32 KB (其他2K用于bootloader)
时钟频率:16MHz
3Arduino  UNO R3硬件实物图如下
(4)工作原理图:
2.2、595驱动八位数码管
174HC595芯片:
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。
数据在SHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。如果两个
时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
2)数码管基本属性:
1.采用2片 595驱动数码管,需要 单片机3路IO口,根据数码管动态扫描原理进行显示;
2.宽工作电压3.3V到5V;
3.PCB板尺寸:71mm*22mm
4.数码管型号:共阴
3优点
    74595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。这在串行速度慢的场合很有用处,数码管没有闪烁感。
4)硬件实物图如下
(5)工作原理


6)硬件连接图
2.3、PM2.5 激光传感器SDS011
1工作原理
采用激光散射原理:当激光照射到通过检测位置的颗粒物时会产生微弱的光散射,在特定方向上的光散射波形与颗粒直径有关,通过不同粒径的波形分类统计及换算公式可以得到不同粒径的实时颗粒物的数量浓度,按照标定方法得到跟官方单位统一的质量浓度。
2特点:
数据准确:激光检测,稳定,一致性好;
响应快速:场景变换响应时间小于10秒;
便于集成:串口输出(或IO口输出可定制),自带风扇;
分辨率高:分辨颗粒最小直径达0.3微米;
3技术指标:
测量输出:PM2.5/PM10
量程:0.0-999.9微克/立方米
供电电压:5V
最大工作电流:100mA
休眠电流:2mA
工作温度范围:-20-50℃
相应时间:1秒
串口数据输出频率:1次/秒
颗粒物直径分辨率:小于0.3微米
相对误差:10%
4)硬件实物图如下



第三章:硬件电路设计及操作
3.1、电路设计框图3.1.1硬件设计框图: 3.1.2软件设计框图:
3.1.3硬件连接图:
3.1.4  电路原理图:

3.2.1  PM2.5检测仪的操作
接上电源如上图显示,开始检测PM2.5/10。主要操作按钮有3个如下
这两个按钮的功能是划分PM2.5/10的质量等级。左边的是PM2.5,右边的是PM10
持续按下去仪器正面的LED灯会亮,主要操作附属光碟有示。



左上角的红色按钮是复位按钮,主要用于蜂鸣器的复位。




第四章:软件
4.1  编程软件Arduino ide
Arduino IDE是Arduino的开放源代码的集成开发环境,其界面友好,语法简单以及能方便的下载程序,使得Arduino的程序开发变得非常便捷。作为一款开放源代码的软件,Arduino IDE也是由Java、Processing、 avr-gcc等开放源码的软件写成,其另一个最大特点是跨平台的兼容性,适用于Windows、Max OS X以及Linux。2011年11月30号Arduino官方正式发布了Arduino1.0版本,可以下载不同系统下的压缩包,也可以在github上下载源码重新编译自己的IDE。
第五章:设计主要用途及应用场景
5.1、主要用途
本设计主要可用于室内和户外的空气质量的检测,可调节的报警浓度的设计,可用于长期检测和提醒PM2.5和PM10的浓度。
5.2、应用场景
办公室空气检测和提醒,公共场合控烟,空调和通风口处监测,气象台,观测站,马路口监测为期排量
第六章:应用设计进行的相关实验及结论分析
6.1、实验一 :公园检测

PM2.5
日期
7:00
9:00
11:00
13:00
15:00
17:00
19:00
21:00
平均值
8/10
14.0
16.6
22.7
35.3
29.5
26.8
37.6
40.5
27.875
8/11
14.4
15.8
25.4
34.2
35.0
26.7
38.0
41.1
28.825
8/12
18.5
20,8
24.9
36.5
33.6
28.9
36.5
40.6
30.0375
                                               





(单位:微克/立方米)

PM10
日期
7:00
9:00
11:00
13:00
15:00
17:00
19:00
21:00
平均值
8/10
14.8
17.5
23.9
36.8
30.6
28.2
44.5
48.4
30.6
8/11
15.4
15.7
26.7
38.2
28.9
29.1
43.2
50.5
31.0
8/12
19.5
21.2
26.2
37.1
29.4
30.3
45.8
51.6
32.6




(单位:微克/立方米)


6.2、实验二:路口检测

PM25
日期
7:00
9:00
11:00
13:00
15:00
17:00
19:00
21:00
平均值
8/13
106
116
155
142
135
128
131
174
135.875
8/14
112
125
167
159
146
130
128
172
142.375
8/15
97
109
148
134
129
116
129
166
128.5
(单位:微克/立方米)

PM10
日期
7:00
9:00
11:00
13:00
15:00
17:00
19:00
21:00
平均值
8/15
153
167
243
226
167
153
168
212
186.125
8/16
147
161
219
208
173
161
174
197
180
8/17
164
169
223
210
197
160
166
206
186.875




                (单位:微克/立方米)
6.3实验三:常见生活场景检测
卧室PM25
日期
7:00
9:00
11:00
13:00
15:00
17:00
19:00
21:00
平均值
8/15
14.8
19.7
24.9
26.8
34.4
24.5
33.9
40.3
27.4125
8/16
15.4
22.7
35.3
37.6
28.4
18.8
35.0
49.5
30.3375
8/17
19.5
25.4
29.5
25.8
23.2
13.9
39.5
50.9
28.4625
(单位:微克/立方米)


卧室PM10
日期/
7:00
9:00
11:00
13:00
15:00
17:00
19:00
21:00
平均值
8/15
14.8
20.7
26.2
28.2
35.7
25.4
35.6
41.5
28.5125
8/16
15.4
23.9
36.8
44.5
29.4
19.9
36.8
41.6
31.0375
8/17
19.5
26.7
30.6
27.1
23.9
13.9
41.5
52
29.4

(单位:微克/立方米)
宿舍PM25
日期
7:00
9:00
11:00
13:00
15:00
17:00
19:00
21:00
平均值
8/22
50.4
57.8
66.3
70.9
76.8
77.8
85.3
101
73.2875
8/23
55.6
60.8
66.9
70.5
82.0
75.4
86.3
124
77.6875
8/24
54.9
60.2
65.8
70.3
85.3
83.7
93.1
120
79.1625
(单位:微克/立方米)
宿舍PM10
日期
7:00
9:00
11:00
13:00
15:00
17:00
19:00
21:00
平均值
8/22
53.0
58.4
69.8
74.5
80.7
81.5
89.6
107
76.8125
8/23
60.6
63.9
70.3
74.6
93.8
79.3
90.6
130
82.8875
8/24
63.9
62.7
67.5
73.9
89.6
89.4
97.8
126
83.85
(单位:微克/立方米)




6.4、检测分析
(1)相对于实验二和三,实验一的PM25和PM10数值明显低很多,空气质量等级为优,说明在花草树木具有净化空气的效果,说明了花草树木有助于净化空气。
(2)相对于实验一和三,实验三的PM25和PM10数值明显高,特别是中午和晚上的时候到达顶峰,说明是中午和晚上是下班时间引起车流的高峰期造成的。
(3)该设计在日常生活中可以用于对我们经常处在的生活场景进行监测,在家里卧室的检测数据结果是优秀的,但在学校宿舍检测数据明显升高,空气质量为良,这是因为宿舍的旁边是公路;车流量多造成的。

6.5、应对方法
1理方法:
多植树,减少机动车的排放量,促进清洁能源开发,监督工厂排放等
2生活应对雾霾方法:
1、雾霾天气少开窗,最好不出门或晨练。
2、外出戴专业防尘口罩。
3、多喝桐桔梗茶、桐参茶、桐桔梗颗粒、桔梗汤等“清肺除尘”茶饮。
4、少量补充维生素D。
5、饮食清淡多喝蜂蜜水.
7、尽量减少吸烟甚至不吸烟。
第七章、总结
随着雾霾天气的肆虐,我们有理由且必要的做一些措施来注意我们身边空气的PM2.5/10,而本设计这是基于这点,应用所学的知识,制作一个经济,简单,实用的多功能PM2.5/10浓度检测仪。
在设计中PM2.5激光传感器采集空气中PM2.5和PM10的浓度值,经过Arduino unoR3开发板处理后,在八位数码管上显示,并且设置一个报警值,检测的PM2.5浓度值超过报警值后,蜂鸣器报警。另外,该设计在实时检测浓度的同时,根据当前检测浓度亮起相应的灯,直观的能告知观测者当前的浓度。
在本设计中,需要阅读相应的资料才能做出设计,对于资料的应用和学习能力是很重要,这也算是这次设计给团队带来的锻炼。
当然在设计完成后,本着一开始设计的实用性的出发点,进行了三个检测试验,一方面检测设计的可操作性和实用性,另一方面也是让自己对PM2.5和PM10的产生有了直观的了解。
最后很高心能够通过团队的努力,运用所学顺利完成了该设计。
参考文献
Arduino unoR3开发板用户手册
PM2.5激光传感器用户手册
595驱动八位数码管用户手册
Arduino程序设计基础(第二版)陈吕州
Arduino编程从零开始 Simon Monk
C程序设计教程(第二版)谭浩强
附录:程序
  1. const unsigned char dula[10]=
  2. {
  3.     0x3f,0x06,0x5b,0x4f,0x66,
  4.     0x6d,0x7d,0x07,0x7f,0x6f
  5. };//0到9的段码
  6. unsigned char const wela[]=
  7. {
  8.     0xfe,0xfd,0xfb,0xf7,
  9.     0xef,0xdf,0xbf,0x7f
  10. };//1到7的位码


  11. unsigned char location[8];
  12. unsigned int Pm25=0;//初始化P2.5
  13. unsigned int Pm10=0;//初始化P10
  14. long previousMillis = 0;// 1s的时间间隔,


  15. void jinbao()//报警模块
  16. {
  17. int i=1500;
  18. tone(9,i);
  19. }


  20. void SendByte1(unsigned char dat)
  21. {
  22.   int CLK = 12;int SER = 11;
  23.   unsigned char i;
  24.   for(i=0;i<8;i++)
  25.    {
  26.     digitalWrite(CLK,0);
  27.     digitalWrite(SER,bitRead(dat,7-i));
  28.     digitalWrite(CLK,1);
  29.    }
  30. }

  31. void SendByte2(unsigned char x,unsigned char y)//收集PM10和PM25并且发送给sendbyte1
  32. {   
  33.     SendByte1(x);
  34.     SendByte1(y);  
  35. }
  36. void latch(void)//锁住模块,传感器传来的数据
  37. {      
  38.         int ST = 13;
  39.         digitalWrite(ST,1);
  40.         digitalWrite(ST,0);
  41. }


  42. void PM25(unsigned int v)//PM25按照个十百分离模块
  43. {
  44.   int i;
  45.   if(v/1000)
  46.     {
  47.       location[0]=dula[v/1000%10];
  48.       location[1]=dula[v/100%10];
  49.       location[2]=dula[v/10%10];
  50.      }
  51.        else
  52.         {
  53.           if((v/100) != 0)
  54.           location[0]=dula[v/100%10];
  55.           location[1]=dula[v/10%10]|0x80;
  56.           location[2]=dula[v%10];   
  57.         }
  58.           for(i=0;i<8;i++)
  59.           {
  60.               SendByte2(wela[i],location[i]);
  61.               latch();
  62.           }
  63. }


  64. void PM10(unsigned int v)//PM10按照个十百分离模块
  65. {

  66.   int i;
  67.   if(v/1000)
  68.     {
  69.      location[4]=dula[v/1000%10];
  70.      location[5]=dula[v/100%10];
  71.      location[6]=dula[v/10%10];
  72.      }
  73.        else
  74.         {
  75.           if((v/100) != 0)
  76.          location[4]=dula[v/100%10];
  77.          location[5]=dula[v/10%10]|0x80;
  78.          location[6]=dula[v%10];   
  79.         }
  80.           for(i=0;i<8;i++)
  81.           {
  82.               SendByte2(wela[i],location[i]);
  83.               latch();
  84.           }
  85. }
  86. void Display()//显示模块
  87. {
  88.   int i;
  89.   for(i=0;i<8;i++)
  90.      location[i]=0;
  91.      PM25(Pm25);
  92.      PM10(Pm10);
  93. }
  94. void serialsend()//串口数据模块
  95. {
  96. uint8_t  mData  = 0;//无符号8位
  97. uint8_t i = 0;//无符号8位
  98. uint8_t mPkt[10] = {0};//无符号8位
  99. uint8_t  mCheck= 0;//无符号8位
  100. while (Serial.available() > 0) //串口接收到了数据
  101. {
  102.     mData = Serial.read();  //读取发送的数据
  103.      delay(10);//延时收集数据
  104.      if(mData == 0xAA)
  105.      {
  106.         mPkt[0] =  mData;
  107.         mData = Serial.read();
  108.         delay(10);
  109.            if(mData == 0xc0)
  110.            {
  111.               mPkt[1] =  mData;
  112.               mCheck = 0;
  113.                 for(i=0;i < 6;i++)
  114.                 {
  115.                    mPkt[i+2] = Serial.read();
  116.                    mCheck += mPkt[i+2];
  117.                  }
  118.                  mPkt[8] = Serial.read();
  119.                  delay(10);
  120.                  mPkt[9] = Serial.read();
  121.                    if(mCheck == mPkt[8])//检验好了
  122.                   {
  123.                   Serial.flush();
  124.                   Pm25 = mPkt[2] | (mPkt[3]<<8);
  125.                   Pm10 = mPkt[4] | (mPkt[5]<<8);
  126.                     if(Pm25 > 9999)
  127.                     Pm25 = 9999;
  128.                     if(Pm10 > 9999)
  129.                     Pm10 = 9999; //得到一个好的数据


  130. int Button = digitalRead(2); //读到的状态值
  131. if(Button==0)
  132. {     
  133.     delay(10);
  134.     if(Button==0)               //延时消抖处理
  135.        {
  136.           switch (Pm10/100)
  137.            {
  138.                  case 0 :digitalWrite(3,HIGH);  break;
  139.                  case 1 :digitalWrite(3,HIGH); break;
  140.                  case 2 :digitalWrite(3,HIGH); break;
  141.                  case 3 :digitalWrite(3,HIGH);break;
  142.                  case 4 :digitalWrite(4,HIGH); break;
  143.                  case 5 :digitalWrite(4,HIGH); break;
  144.                  case 6 :digitalWrite(4,HIGH); break;
  145.                  case 7 :digitalWrite(4,HIGH); break;
  146.                  case 8 :digitalWrite(5,HIGH); break;
  147.                  case 9 :digitalWrite(5,HIGH); break;
  148.                  case 10 :digitalWrite(5,HIGH); break;
  149.                  case 11 :digitalWrite(5,HIGH); break;
  150.                  default: digitalWrite(3,HIGH);digitalWrite(4,HIGH); digitalWrite(5,HIGH);jinbao();break;

  151.               }
  152.        }   
  153. }
  154. else
  155. {
  156.       digitalWrite(3,LOW);  digitalWrite(4,LOW);digitalWrite(5,LOW); digitalWrite(9,LOW);
  157. }

  158. int Button1 = digitalRead(10); //读取的状态值
  159. if(Button1==0)
  160. {     
  161.     delay(10);
  162.     if(Button1==0)               //延时消抖处理
  163.        {
  164.             switch (Pm25/100)
  165.             {
  166.                 case 0 :digitalWrite(8,HIGH);  break;
  167.                 case 1 :digitalWrite(8,HIGH); break;
  168.                 case 2 :digitalWrite(8,HIGH); break;
  169.                 case 3 :digitalWrite(8,HIGH);break;
  170.                 case 4 :digitalWrite(7,HIGH); break;
  171.                 case 5 :digitalWrite(7,HIGH); break;
  172.                 case 6 :digitalWrite(7,HIGH); break;
  173.                 case 7 :digitalWrite(7,HIGH); break;
  174.                 case 8 :digitalWrite(6,HIGH); break;
  175.                 case 9 :digitalWrite(6,HIGH); break;
  176.                 case 10:digitalWrite(6,HIGH); break;
  177.                 case 11 :digitalWrite(6,HIGH); break;
  178.                 default:digitalWrite(8,HIGH); digitalWrite(7,HIGH);digitalWrite(6,HIGH);jinbao(); break;

  179.                }
  180.         }
  181. }
  182. else
  183. {
  184.    digitalWrite(8,LOW);  digitalWrite(7,LOW);digitalWrite(6,LOW); digitalWrite(9,LOW);
  185. }
  186.                      }
  187.                 }     
  188.           }
  189.      }
  190. }
  191. void setup()
  192. {
  193.     pinMode(2, INPUT_PULLUP);pinMode(3,OUTPUT);pinMode(4,OUTPUT);
  194.     pinMode(5,OUTPUT);pinMode(6,OUTPUT);pinMode(7,OUTPUT);
  195.     pinMode(8,OUTPUT);pinMode(9,OUTPUT);pinMode(10, INPUT_PULLUP);
  196.     pinMode(11, OUTPUT); pinMode(12, OUTPUT); pinMode(13, OUTPUT);
  197.     Serial.begin(9600,SERIAL_8N1);
  198.     Display();
  199. }
  200. void loop()
  201. {
  202.   serialsend();
  203.   Display();
  204. }
复制代码
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏5 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:151749 发表于 2016-12-2 20:20 | 只看该作者
学习,看看!!!51黑有你更精彩!!!
回复

使用道具 举报

板凳
ID:269827 发表于 2018-1-1 19:29 | 只看该作者
谢谢,学习学习
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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