牟晓东
水火无情,为了能对“水情”“火情”的意外情况及时报警,我们借助雨水传感器和火焰传感器,利用Arduino开发制作一个“水火警报仪”系统——LED灯发光、蜂鸣器发声和屏幕显示警报信息。
实验器材:Arduino UNO主板一个,雨水传感器一个,火焰传感器一个,红色LED灯一支,低电平触发蜂鸣器一个,面包板一块,各色杜邦线若干。
首先,将Arduino的5V和GND通过杜邦线连接至面包板;接着,将雨水传感器和火焰传感器的VCC和GND端均插接至面包板(与Arduino的5V和GND相连),二者的DO数字输出端则分别插接至Arduino的7号和8号数字引脚;然后,将蜂鸣器的VCC和GND端同样也插接至面包板,它的I/O信号端插接至12号数字引脚;最后,将LED灯长腿插入13号、短腿插入相邻的GND引脚,再通过数据线将Arduino与计算机USB接口连接(如图1)。

值得一提的是,雨水传感器和火焰传感器的数字输出信号均为“反逻辑”结果——当雨水传感器的感应板上没有水滴时,数字输出信号是高电平“1”;而当检测到有水滴时,则输出低电平“0”。另外蜂鸣器上如果标有“低电平触发”字样时,其工作模式与此类似,只有使用低电平“0”去触发时才会发声。
首先进行变量的定义:语句“int Beep = 12;”和“int led = 13;”分别对应蜂鸣器和LED灯的引脚编号,语句“int WaterSensorPin = 7;”和“int FireSensor
Pin = 8;”则分别对应雨水传感器和火焰传感器的引脚编号;接着,在setup()函数中对它们进行引脚模式的声明,蜂鸣器和LED灯是输出模式——“pinMode(Beep,OUTPUT);”“pinMode(led,OUTPUT);”,两个传感器是输入模式——“pinMode(WaterSensorPin,INPUT);”“pinMode(FireSensor
Pin,INPUT);”;然后,再通过语句“Serial.begin(9600);”设置串口监视器的波特率(如图2)。

在loop()函数中,先……