Luces activadas por la entrada y salida (3 / 4 paso)

Paso 3: El código

El programa está diseñado para encender las luces de un movimiento del sensor 1 y 2 y apagado por sensor 2 a 1. Las variables de distancia están en cm, por lo que se puede editar la variable para adaptarse a sus necesidades. Por defecto el rango se establece en 100 cm.

El programa es como sigue,

/ * El programa utiliza dos sensores ultrasónicos para proporcionar datos de entrada y salidas usados para encender luces o apagado.

* Código escrito por Siddak Bakshi

* Distribución de los derechos reservados

*/

Variables globales

#define trig1Pin 12 //Defining Pin para Trigger1 (puerto de salida)

#define echo1Pin 13 //Defining Pin de Echo1 (puerto de entrada)

#define trig2Pin //Defining 2 Pin para Trigger2 (puerto de salida)

#define echo2Pin 2 //Defining Pin de Echo2 (puerto de entrada)

int led = 8; / * El led representa la luz que está siendo controlada en este proyecto. Si desea utilizar una bombilla normal reemplazar el led con un relé, que se puede utilizar como un interruptor para la bombilla * /

int led1 = 11; / * Led izquierdo y derecho son sólo por conveniencia. Mientras que los prototipos no pueda ver realmente que sensor ultrasónico está trabajando o está activado. Para que los diodos actúan como indicadores. puede quitar los leds izquierdos y derecho del código para el project.* final /

led2 int = 10;

int contador = 0;

time_since_last_reset largo sin signo = 0; Para el establecimiento de referencia antes de bucles int interval_one = 3000; 3 segundos para los 1 º mientras que lazo

int interval_two = 3000; 3 segundos para 2do mientras que lazo

Final de Variables globales

void setup() {Serial.begin (9600); //Serial Monitor a 9600 baudios

pinMode (trig1Pin, salida);

pinMode (echo1Pin, entrada);

pinMode (trig2Pin, salida);

pinMode (echo2Pin, entrada);

pinMode (led, salida);

pinMode (led1, salida);

pinMode (led2, salida); }

void loop() {}

int duration1, distance1;

digitalWrite (trig1Pin, HIGH);

delayMicroseconds(1000);

digitalWrite (trig1Pin, bajo);

duration1 = pulseIn (echo1Pin, HIGH);

Distance1 = (duration1/2) / 29,1;

Si (distance1 < = 100 & & distance1 > = 0) {}

digitalWrite (led2, HIGH);

int t = 0;

time_since_last_reset = millis(); obtener tiempo referenece mientras (t == 0 & & (millis() - time_since_last_reset) < interval_one) //While lazo no. 1 para 'Lights On'

{int duración3, distance3;

digitalWrite (trig2Pin, HIGH);

delayMicroseconds(1000);

digitalWrite (trig2Pin, bajo);

duración3 = pulseIn (echo2Pin, HIGH);

distance3 = (duración3/2) / 29,1;

Si (distance3 < = 100 & & distance3 > = 0)

{

contador ++; Serial.println ("Contador =" + contador);

digitalWrite (led2, LOW);

Serial.println ("encender");

digitalWrite (led, alto); t = 2000; Delay(1000);

}

}

if((Millis() - time_since_last_reset) > = interval_one) //To apaga led1 si acabe el tiempo {}

digitalWrite (led2, LOW);

}

}

int duration2, distancia2.;

digitalWrite (trig2Pin, HIGH);

delayMicroseconds(1000);

digitalWrite (trig2Pin, bajo);

duration2 = pulseIn (echo2Pin, HIGH);

distancia2. = (duration2/2) / 29,1;

Si (distancia2 < = 100 & & distancia2 > = 0)

{digitalWrite (LED 1, HIGH); //Sensor 1 detecta movimiento por lo tanto condujo int t = 0;

time_since_last_reset = millis(); obtener referencia de tiempo mientras (t == 0 & & (millis() - time_since_last_reset) < interval_two) //While lazo n º 2 para 'LucesOff'

{

int duration4, distance4;

digitalWrite (trig1Pin, HIGH);

delayMicroseconds(1000);

digitalWrite (trig1Pin, bajo);

Duration4 = pulseIn (echo1Pin, HIGH);

distance4 = (duration4/2) / 29,1;

Si (distance4 < = 100 & & distance4 > = 0)

{if(counter==0) {digitalWrite (LED 1, LOW); break;

}

contador--;

Serial.println ("Contador =" + contador);

if(Counter==0) {digitalWrite (LED 1, bajo);

Delay(3000);

Serial.println ("apagar las luces");

digitalWrite (led, baja);

t = t + 1;

}

else if (contador! = 0 & & contador > 0)

{

digitalWrite (LED 1, bajo);

rotura;

}

}

demás if((millis() - time_since_last_reset) > = interval_two) //To apaga led1 si acabe el tiempo {}

digitalWrite (LED 1, bajo);

}

}

}

Delay(300);

}

Artículos Relacionados

Activada por movimiento PumpkinBot

Activada por movimiento PumpkinBot

Esta es una variación temática de Halloween del proyecto "vibrobot" clásico, con un ligero giro: es activada por movimiento en lugar de tener sólo un simple interruptor on/off. Utiliza un sensor infrarrojo pasivo (PIR) para detectar el movimient
Arduino intermedio: Entradas y salidas

Arduino intermedio: Entradas y salidas

Continuando con mi introducción a Arduino puesto, irá este Instructable sobre algunos temas un poco más avanzados con Arduino, relativos específicamente a controlar y muchas entradas y salidas. La siguiente clase cubre cómo conectar entradas de Ardui
Entrada y salida nudo y lazo pulsera

Entrada y salida nudo y lazo pulsera

este tutorial le mostrará cómo hacer un brazalete de paracord de estilo "entrada y salida". Hasta que me imagino que esto no es realmente el comienzo... vaya al paso 1 para el comienzo mostrar cómo se hace la parte interior.
Cómo jugar "Luces brillantes" por Gary Clark Jr. en la guitarra

Cómo jugar "Luces brillantes" por Gary Clark Jr. en la guitarra

Una lección de guitarra sobre cómo jugar luces brillantes por Gary Clark Jr.
Activada por movimiento DIY luces - Galileo

Activada por movimiento DIY luces - Galileo

Este proyecto utiliza un sensor infrarrojo pasivo como un sensor de movimiento para encender una bombilla.Paso 1: Recogemos suministros Recoger un sensor infrarrojo pasivo (PIR) como se muestra en la imagen. Usted también necesitará un Galileo, un de
Niño robot 3000 por Adam Fujita. Herramienta educativa para padres activada por voz!!

Niño robot 3000 por Adam Fujita. Herramienta educativa para padres activada por voz!!

Niño robot 3000 de historias para Paloma on Vimeo.El niño robot es un dispositivo simple que creó para ilustrar cómo adecuada crianza de los hijos podría ser practicada. Este bot se hace de un Parralax escudo Bot con un micrófono Electret de fruta de
¿Árbol de Navidad luces controladas por teléfono? Un simple hack Internet de las cosas.

¿Árbol de Navidad luces controladas por teléfono? Un simple hack Internet de las cosas.

Mi hijo quería ser capaz de convertir el árbol de Navidad encendido y apagado con su teléfono. Cavado alrededor en el laboratorio secreto de montaña (también conocido como el sótano) y vino para arriba con el siguiente proyecto, que utiliza un Arduin
Activada por movimiento descendente de la araña

Activada por movimiento descendente de la araña

Esta divertida decoración de Halloween es una gran araña que desciende desde el techo cuando alguien camina más allá! Utiliza un Arduino uno, sensores IR, un motor de corriente continua y algunos otros componentes. La estructura general es bastante s
Activada por movimiento torreta

Activada por movimiento torreta

En este proyecto voy a mostrarle cómo usar armas de nerf motorizado y pistolas de agua para hacer torretas automáticas que puede utilizar para disparar a tus amigos.La pistola se controla con un Sensor de movimiento infrarrojo y un microcontrolador A
Activada por movimiento velocidad juego

Activada por movimiento velocidad juego

La mayor parte del cable EL tiempo se usa como es, con manual de control de encendido/apagado. Sin embargo, quería controlar con un Arduino, así que reaccionaría a los resultados de un sensor. Este juego de movimiento-activado parpadea cuando el usua
Realmente simple interruptor audio (2 entradas, 1 salida)

Realmente simple interruptor audio (2 entradas, 1 salida)

este es un proyecto desarrollado durante el "Taller de Inventos" (AKA agosto construcción de noche), patrocinado por Instructables y Jameco, que algunos de los componentes de este instructable.Es un caso que tiene una entrada de audio y dos sali
Activada por movimiento de squirt - Arduino, cañones de agua

Activada por movimiento de squirt - Arduino, cañones de agua

chica es un cañón de agua de movimiento activado utilizando Arduino.Esto fue diseñado para su uso en el jardín, pero como es invierno lo probamos en el cuarto de baño. ¡ Funciona!Seguimiento del movimiento verdadero es caro y complicado por lo que es
Activada por movimiento "Ataque de Creeper"

Activada por movimiento "Ataque de Creeper"

en enero decidí que necesitaba para actualizar mi seguridad en el hogar. Por desgracia para mí mi edificio no permiten perros un animal asustadizo grande no era una opción. Entonces de repente, inspiración pulsó o supongo que se podría decir que expl
Nombre en luces! Por lo menos, las iniciales.

Nombre en luces! Por lo menos, las iniciales.

Ya que yo y mi novia sucede que tiene la misma inicial, pensé que sería muy cool para inmortalizar en luces, como Broadway! Además, sería una bonita lámpara para el salón!Paso 1: partes En primer lugar tuve que averiguar cuántas luces y qué tipo de l