Paso 6: Código de Arduino
La disposición del código es en primer lugar se lee la señal de alarma y una vez que es mayor que 15 enciendan las luces y se comprueba el estado del sensor de presión. Utiliza el tiempo de retardo para comprobar una vez que se pulsa durante más de 5s apagar el LED y la alarma está apagada. Esto ejecutará el despertador (lo tenemos en un intervalo establecido para fines de demostración pero este puede ser ajustado fácilmente), los LED, así como el sensor de velostat.
Este es un ejemplo de nuestro código:
Nota: para comprobar la presión de la velostat, pulsando "CTRL + SHIFT + F" en la ventana de Arduino, puedes ver las variaciones en la presión que usted pulse el velostat. Es cómo determina la cantidad de presión necesaria para apagar la alarma.
int fsrAnalogPin = A3; int LEDpin = 11; int LEDpin2 = 12; int LEDpin3 = 9; int LEDpin4 = 10; int LEDpin5 = 8; int LEDpin6 = 7; int fsrReading; // the analog reading from the FSR resistor dividerint alarmPin = 3; int alarmState; int alarmOff =6;void setup(void) { Serial.begin(9600); // We'll send debugging information via the Serial monitor pinMode(LEDpin, OUTPUT); pinMode(LEDpin2, OUTPUT); pinMode(LEDpin2, OUTPUT); pinMode(LEDpin3, OUTPUT); pinMode(LEDpin4, OUTPUT); pinMode(LEDpin5, OUTPUT); pinMode(LEDpin6, OUTPUT); }void loop(){ alarmState = analogRead(alarmPin); Serial.print("alarm ="); Serial.println(alarmState); fsrReading = analogRead(fsrAnalogPin); Serial.print("Analog reading = "); Serial.println(fsrReading); if (fsrReading >= 500) { delay(5000); digitalWrite(LEDpin, LOW); digitalWrite(LEDpin2, LOW); digitalWrite(LEDpin3, LOW); digitalWrite(LEDpin4, LOW); digitalWrite(LEDpin5, LOW); digitalWrite(LEDpin6, LOW); analogWrite(alarmOff, LOW); delay(10000); digitalWrite(LEDpin,HIGH); digitalWrite(LEDpin2, HIGH); digitalWrite(LEDpin3, HIGH); digitalWrite(LEDpin4, HIGH); digitalWrite(LEDpin5, HIGH); digitalWrite(LEDpin, HIGH); analogWrite(alarmOff,200); Serial.print("alarm ="); Serial.println(alarmState); } delay(500); }