Källare översvämning Alarm - Arduino (3 / 7 steg)
Steg 3: Skiss
/ * Arduino Uno eller Nano
Skiss är skriven under förutsättning att det digitala stift 2, 3, på upp används för detektorerna.
Tre digitala pins--10-12--används för statuslampor och akustiskt larm.
Flottör är öppen vid lågvatten, stängt på hög.
10 k motstånd i serie med flottör, läsa över resistorn.
GND -> 10 K Resistor -> Switch -> Vcc
Resistiv fukt sensorer använda komparator modul, digital signal. Analog utgång inte används.
*/
Konstanter
CONST int sensorStartPin = 2; Lägsta digital sensor pinkod på Arduino ombord
CONST int noSensors = 3; Antalet givare ansluten, inkl flottör
CONST int ledAlarm = 11, ledOK = 10; Grön och röd synlig lysdiod (opt).
CONST int audibleAlarm = 12; PIN ansätta högtalare, siren, etc.
CONST int testDelay = 0; Fördröjer behandlingen frekvens för testning
Variabler
int pin; Scratch--nuvarande pin-count
int sensorState; Nuvarande pin sensor läsa
void setup() {
Deklarera sensor stift lägen
för (pin = sensorStartPin; pin < noSensors + sensorStartPin, stift ++) {
pinMode (pin, mata); Ställa in sensorn stift att mata in läge}
Resten av pins är utmatningsläge
pinMode (ledOK, produktionen);
pinMode (ledAlarm, produktionen);
pinMode (audibleAlarm, produktionen); }
void loop() {
Återställa statusindikatorer--ingen larmvillkoret
digitalWrite (ledOK, hög); Grön lysdiod
digitalWrite (ledAlarm, låg); Röd led
digitalWrite (audibleAlarm, låg); Akustiskt larm av
/ * Steg genom sensor stift, söker digitala staten
Kontrollapparater returnerar 0 om det fukt, 1 När torr.
Flottör stängt när vattennivån är låg, öppna när hög (flytande)
Fast till pull digital pin låg när flottör är stängd kan således
matchande fukt sensor staten. */
Gå igenom sensor stift
för (pin = sensorStartPin; pin < noSensors + sensorStartPin, stift ++) {
sensorState=digitalRead(pin); Läs aktuella pin (vatten = 0, torr = 1)
Delay(testDelay); Fördröjer behandlingen frekvens för testning
While(sensorState==0) {/ / medan larmvillkoret existerar...
digitalWrite (ledOK, låg); OK (grön) av
digitalWrite (ledAlarm, hög); Larm ljus (röd) på
tonen (audibleAlarm, 4000, 500); PIP 4 KHz för 1/2 sek
fördröjning (500).
sensorState = 1;
}
Delay(testDelay);
}
}