Movimiento Tracker con PIRs, Arduino y un Servo (4 / 4 paso)

Paso 4: Programa subir

Este es mi programa. Bastante autoexplicativo. Asignar cada pin del PIR a una matriz y en mi ciclo de lazo principal a través de la matriz de comprobación cada PIR un estado alto. Si va alto entonces mover el servo a la posición de servo correspondiente de PIR.
Lo había programado originalmente por 5 PIRs pero uno de los arneses de cableado estaba mal entonces en lugar de hacer pedazos y solucionarlo fui con sólo 4 PIRs.

El programa hace dos cosas. Si el un PIR es alta y el servo está ya en eso PIRs correspondiente posición, no moverlo.
También, utilizo otra matriz para rastrear si el PIR se ha utilizado desde que fue alto. Yo sólo le permiten ser utilizado una vez para cada estado alto. Si no haces Haz añadido movimiento entre PIRs adyacentes que no es necesario.

Apenas enciendo el LED cada vez que un PIR es alta por lo que te puedo decir mirando el Arduino si hay alguna actividad en el PIRs.

#include < Servo.h >
Autor: jim demello feb de 2014 / /
pirStatus Boolean;
Servo1 servo;
int servangle = 0; variable de ángulo del servo
pirNo de int [] = {3,4,5,6,7};          números de pin de PIR
int pirPrevLow [] = {1,1,1,1,1};     previamente bajo establecido en true
int pirPrevUsed [] = {0,0,0,0,0};     pir en utilizado antes de ir bajo
pirPos de int [] = {10,60,100,140,170}; posiciones para servo (0-180)
int curPosPir = 0;
pirPin int = 3;
int ledPin = 13;

void setup() {}
Serial.Begin(9600);
servo1.Attach(9);
para (int i = 0; i < 4; i ++) {}
pinMode (pirNo [i], entrada);
}
pinMode (ledPin, salida);
Delay(10000); calibrar durante unos 10 segundos
servo1.Write(90); poner el servo en el centro para comenzar
}
////////////////////////////
BUCLE principal
//////////////////
void loop() {}
para (int j = 0; j < 4; j ++) {/ / para cada PIR
pirPin = pirNo [j];
pirStatus = digitalRead(pirPin);
Si (pirStatus == HIGH) {}
digitalWrite (ledPin, HIGH);   el led visualiza el estado de pin de salida de sensores
{if(pirPrevLow[j])}
Si (curPosPir! = pirPin & & pirPrevUsed [j] == 0) {/ / si PIR alta es diferente que la actual posición de PIR y mover a la nueva posición
servo1.Write(pirPos[j]);
Serial.println(j);
Delay(50);
curPosPir = pirPin; mantener el actual PIR
pirPrevUsed [j] = 1;
}
pirPrevLow [j] = 0; PIR es ahora no bajo
}
}
Else {}
digitalWrite (ledPin, LOW);  el led visualiza el estado de pin de salida de sensores
pirPrevLow [j] = 1;   PIR está ahora bajo
pirPrevUsed [j] = 0;
}
} / / fin número j de bucle de detectores PIR
} / / bucle infinito de extremo

Artículos Relacionados

Wii remoto IR cámara Hack con interfaz Arduino

Wii remoto IR cámara Hack con interfaz Arduino

físicamente a extraemos la cámara IR desde el control remoto Wii e interfaz con un arduino controlar un servo.La cámara de infrarrojos de Wii es una cosa maravillosa. Tiene un procesador integrado que las posiciones X e Y y el tamaño de los 4 puntos
Cómo controlar Servo motores con un Arduino

Cómo controlar Servo motores con un Arduino

Este proyecto miniatura le mostrará cómo controlar un servo motor con un Arduino, pero primero debe saber lo que un motor de servo es realmente!Los servomotores son tipos especiales de motores que no girar alrededor en un círculo, sino moverse a una
Controlando un motor Servo de RC con un Arduino y dos interruptores momentáneos

Controlando un motor Servo de RC con un Arduino y dos interruptores momentáneos

el nombre lo dice todo. Controlar un servomotor de RC coche con un Arduino y algunas resistencias, cables de puente y dos interruptores táctiles. Esto hice el segundo día que me dieron mi Arduino, así que estoy muy orgulloso de mí mismo.Paso 1: Lista
Mini Alarma PIR Arduino

Mini Alarma PIR Arduino

Saludos a todos!Debo comenzar diciendo de que este es mi primer instructable y está totalmente dedicado a la página Databugs (donde yo participo). Diciendo lo anterior no me quise aventurar a hacerlo en ingles aun, por otro lado es probable que siga
Diversión con un Arduino, o cómo aprendí a amar a myrobotlab software...

Diversión con un Arduino, o cómo aprendí a amar a myrobotlab software...

Hola a todos! Estoy tan emocionada en mi primer uso de software myrobotlab ( http://myrobotlab.org/ ) que realmente hice un vídeo sobre él. Hace algún tiempo se han interesado en las impresoras 3D y apenas puede esperar a tener mi propio, por una raz
¿Zappelin, o Cómo entrenar su dirigible con un Arduino y IR remoto

¿Zappelin, o Cómo entrenar su dirigible con un Arduino y IR remoto

es sello de vuelo? ¿Un extranjero aleteo?No es un ZAPpelin, un Arduino controlado interior dirigible no rígido, disposición para aprender de las señales de un control remoto IR a lo comando.Este proyecto surgió a la vida en la tercera to17th de Ardui
Hacer una alarma de robo de Sensor de movimiento Simple. (PIR)

Hacer una alarma de robo de Sensor de movimiento Simple. (PIR)

Se trata de una continuación de mi como a serie de movimiento Sensor de cosas simples. Se presentaron todos Instructables anterior en serie Simple. Y otro paso en la protección contra robo con este sencillo proyecto Ultra solamente 4 cm de longitud.
ARD-e: el robot con un Arduino como un cerebro

ARD-e: el robot con un Arduino como un cerebro

cómo crear un robot de código abierto Arduino controlado por menos de $100.Esperemos que después de leer esto instructable usted será capaz de dar su primer paso en robótica. ARD-e cuesta unos $90 a $130 dependiendo de cuánto electrónica repuesto tie
Tiempo real GPS Tracker con integrado GoogleMaps

Tiempo real GPS Tracker con integrado GoogleMaps

Este proyecto describe cómo puede crear un móvil en tiempo real GPS tracker con Google Maps integrado. Comencé este proyecto principalmente para ver si puedo integrar las diferentes piezas de hardware y software para hacer una solución viable y llevó
Control de mano taladro con Roboduino / Arduino al carrete de soldadura

Control de mano taladro con Roboduino / Arduino al carrete de soldadura

esto explicará cómo nos propuso volver a una mano taladro para volver a carrete de soldadura usando un roboduino (arduino compatible), dos servos y un codificador de DIY.  Mientras que uno podría utilizar TRIACs para jugar con la corriente alterna en
Control de una cámara con un Arduino y el RS232 protector

Control de una cámara con un Arduino y el RS232 protector

Este tutorial le mostrará cómo puede controlar diferentes aspectos de una operación de las cámaras con un Arduino. Operación de estos puede ser el pan y tilt de la cámara, el zoom y el enfoque de la lente y las características RGB. Arduino utiliza un
Funcionamiento de un Motor paso a paso con un Arduino

Funcionamiento de un Motor paso a paso con un Arduino

Hola chicos,Este artículo sobre cómo manejar un Motor paso a paso con un Arduino. El motor de pasos de estos días utilizado en muchos dispositivos de electrónica como, sistema de enfoque automático de cámara, CD-ROM para el movimiento de la lente, la
Arduino powered control servo - hice en TechShop

Arduino powered control servo - hice en TechShop

Servos son increíblemente útiles para hacer "cosas" mover. Pero para mover esa cosa que usted necesita controlar de alguna manera. Por suerte, arduino hace esto muy fácil de hacer y puede hacer con algo como un potenciómetro. Gira el potenciómet
R2D2 HotCat calabaza con un Arduino

R2D2 HotCat calabaza con un Arduino

Esta es una entrada de concurso, por favor voten por mí! Haga clic en la parte superior cinta naranja en la parte superior derecha de esta página. = DCómo hacer un móvil animatronics R2D2 calabaza en una X-Wing. Luz proporcionada por una bombilla de