Étape 3: L’esquisse
/ * Arduino Uno ou Nano
Esquisse est écrit en supposant que digital broches 2, 3, sur place sont utilisés pour les détecteurs.
Trois axes numériques--10 à 12--sont utilisés pour les LEDs d’indication et d’alarme sonore.
Interrupteur à flotteur est ouvert à marée basse, fermée à la puissance maximum.
10 résistance k en série avec interrupteur à flotteur, lire aux bornes de la résistance.
GND -> 10 K résistance -> interrupteur -> SCR
Module de comparateur utilisation capteurs résistifs humidité, signal numérique. Sortie analogique non utilisée.
*/
Constantes
const int sensorStartPin = 2 ; Plus petit nombre de broches de capteur numérique sur la carte Arduino
const int noSensors = 3 ; Nombre de capteurs connectés, y compris l’interrupteur à flotteur
const int ledAlarm = 11, ledOK = 10 ; Vert et rouge LED indicateurs visibles (facult.)
const int audibleAlarm = 12 ; Broche à actionner les enceintes, sirène, etc..
const int testDelay = 0 ; Ralentit la fréquence de lecture pour les tests
Variables
tige d’int ; Zéro--courant épingler au comte
int sensorState ; Capteur de NIP actuel lecture
void setup() {}
Déclarer les modes de broche de capteur
pour (broche = sensorStartPin ; broche < noSensors + sensorStartPin ; pin ++) {}
pinMode (pin, entrée) ; Set de broches de capteur à mode d’entrée}
Reste des goupilles sont mode de sortie
pinMode (ledOK, sortie) ;
pinMode (ledAlarm, sortie) ;
pinMode (audibleAlarm, sortie) ; }
void loop() {}
Indicateurs d’état de remise à zéro--aucune condition d’alarme
digitalWrite (ledOK, HIGH) ; Led verte allumée
digitalWrite (ledAlarm, basse) ; Red led éteinte
digitalWrite (audibleAlarm, basse) ; Alarme sonore hors
/ * Étape par l’intermédiaire de broches de capteur, à la recherche d’état numérique
Comparateurs retournent 0 si l’humidité détecté, 1 lorsque sec.
Interrupteur à flotteur fermé lorsque le niveau d’eau est faible, quand haute (Floating (planer)
Filaire à goupille numérique faible lorsque l’interrupteur à flotteur est fermée, ainsi
État de capteur d’humidité correspondant. */
Faire défiler les broches de capteur
pour (broche = sensorStartPin ; broche < noSensors + sensorStartPin ; pin ++) {}
sensorState=digitalRead(pin) ; NIP actuel de lecture (eau = 0, sec = 1)
Delay(testDelay) ; Ralentit la fréquence de lecture pour les tests
while(sensorState==0) {/ / alors que la condition d’alarme existe...
digitalWrite (ledOK, basse) ; OK (vert) éteint
digitalWrite (ledAlarm, HIGH) ; Voyant d’alarme (rouge) sur
ton (audibleAlarm, 4000, 500) ; Un bip de 4kHz pendant 1/2 sec
retard (500) ;
sensorState = 1 ;
}
Delay(testDelay) ;
}
}