Paso 4: programa de
programar el arduino con el siguiente código
///////////////////////////////////////////////////////////////////
Centinela por mdwilson 01/05/2013
#include < Servo.h >
Centinela del servo; crear objeto servo para controlar un servo
Gatillo del servo; crear objeto servo para controlar un servo
const int buttonPin = 2; el número de pin pulsador
const int ledPin = 13; el número de los pines del LED
int buttonState = 0; variable para lectura del estado del pulsador
int tooClose = 350; ¿Qué tan cerca es demasiado cerca para el sensor de infrarrojos?
int servoSpeed = 100; ¿Cómo lento quieres turent mover?
int pos = 0; variable para almacenar la posición del servo
intruso boolean = false; ¿existe o un intruso?
void setup()
{
pinMode (ledPin, salida); Inicializa el pin LED como salida:
pinMode (buttonPin, entrada); inicializar el perno pulsador como entrada:
digitalWrite(buttonPin,HIGH);
Serial.Begin(9600); hacer posible la comunicación serial
Sentry.Attach(9); se fija el servo en el pin 9 al objeto servo
Trigger.Attach(10); se fija el servo en el pin 9 al objeto servo
Trigger.Write(0); / / configurar la posición de disparo inicial
}
void loop()
{
leer el estado del pulsador valor:
buttonState = digitalRead(buttonPin);
Si (buttonState == LOW) {}
intruso = false;
Serial.println("RESET");
}
Serial.println ("en =" + intruso);
como no hay ningún intruso, continúan búsqueda
{if(!Intruder)}
para (pos = 0; pos < 180; pos += 1) / / va desde 0 grados a 180 grados
{
Si {} (intruso)
rotura;
}
en pasos de 1 grado
Sentry.Write(POS); Dile el servo a la posición en la variable 'pos'
Delay(servoSpeed); espera a que el servo a la posición
intruderCheck();
}
para (pos = 180; pos > = 1; pos-= 1) / / va de 180 grados a 0 grados
{
Si {} (intruso)
rotura;
}
Sentry.Write(POS); Dile el servo a la posición en la variable 'pos'
Delay(servoSpeed); espera a que el servo a la posición
intruderCheck();
}
} else {}
sistema de la alarma
Alarm();
}
}
hacer el parpadeo led alam
{} void alarm()
digitalWrite (ledPin, HIGH);
Delay(200);
digitalWrite (ledPin, LOW);
Delay(200);
}
Compruebe para ver si el sensor ir ve un objeto
void intruderCheck()
{
int sensorValue = analogRead(A0);
imprimir el valor de leer:
Serial.println(sensorValue);
Si (sensorValue > tooClose & &! intruso)
{
Delay(100);
Shoot();
intruso = true;
}
}
void shoot()
{
Serial.println("Triggered!");
Serial.println ("intruso =" + intruso);
Trigger.Write(45);
Delay(1000);
Trigger.Write(0);
}