Cómo hacer un prototipo urbano 'Que brilla intensamente de un paso de peatones' (8 / 14 paso)

Paso 8: Paso 8: Añadir el código de Arduino

• carga Arduino programa

Yo he conectado el código como un archivo .zip. Aquí está el texto:

/*

A partir de 3:00 de 20 de octubre de 2012 es la versión que funciona con todo lo!
Esta versión se puede cargar 2 dispositivos configurados con un receptor inalámbrico en el pin 4
y un transmisor inalámbrico en el pin 3 (a partir de este tiempo está actualmente en ambos mi dispositivos de prueba)

Vueltas y desactivar un sistema de potencia de salida de luz conectado a digital
PIN 9 al presionar un pulsador conectado al pin 2.

Envía una señal de RF (un mensaje de la letra "A" vía VirtualWire) a otros dispositivos que ejecutan el mismo programa,
causando que se comportan como si su botón se presionó.

Encuestas para los mensajes de RF (usando la biblioteca VirtualWire); recepción de cualquier mensaje en el canal produce unidad
a comportarse como si hubieras presionado el pulsador.

Se debe hacer: Encuesta para un mensaje específico

El circuito:
* LED conectado desde el pin 13 a la tierra (para depuración)
* Externo conectado al pin 9 del circuito de luces
* pulsador conectado al pin 2 de + 5V
* 10K resistencia atado pin 2 de la tierra

Ver JT incompleto OmniGraffle diagrama para un mashup de los anteriores con el circuito de iluminación (sin dispositivos de RF)
http://bildr.org/2011/03/High-Power-Control-with-Arduino-and-tip120/

creado 2005
por DojoDave < http://www.0j0.org>
modificado 30 de agosto de 2011
por Tom Igoe
modificado 20 de octubre de 2012
por Jason Taylor
modificada 08 de noviembre de 2012
por Thomas Deckert

Código de ejemplo original es de dominio público, incluyendo el código de ejemplo de botón de
http://www.Arduino.CC/en/Tutorial/Button
y transmitir y recibir ejemplos de sitio del proyecto VirtualWire

*/

#include < VirtualWire.h >

constantes no va a cambiar. Aquí están acostumbrados a
establecer números de pin:
const int buttonPin = 2;     el número de pin pulsador
const int ledPin = 9;      el número del pin de salida de luz - recuerda "ledPin" aquí significa "luz externa"
const int RF_TX_PIN = 3;    el número de pin para el transmisor
const int RF_RX_PIN = 4;    el número de pin para el receptor
const int debugLED = 13;    el número de pin para la depuración (por defecto) condujo en el escudo

va a cambiar las variables:
buttonState boolean = false;         variable para lectura del estado del pulsador
Boolean oldButtonState = buttonState;
Boolean ledState = false;
Boolean iniciado = false; comienza una secuencia de
waitUntil largo = 0;
largo startTime = 0;
flashStartTime largo = 0;
holdTime int = 12000;  duración de la secuencia de pulsado
tiempo de Flash int = 15000;  duración de la secuencia de destello completa
estroboscópico de int = 500;  duración de un flash
tiempo de ejecución de int = 0;

void setup() {}
Serial.Begin(9600);
Inicializa el pin LED como salida:
pinMode (ledPin, salida);
inicializar el perno pulsador como entrada:
pinMode (buttonPin, entrada);
vw_setup(2000);  Bits por seg.
vw_set_tx_pin(RF_TX_PIN); Configuración transmisión pin
vw_set_rx_pin(RF_RX_PIN);  Configuración recibir pin.
vw_rx_start();       Iniciar el funcionamiento de receptor PLL
}

void loop() {}

Cada vez que a través de loop(), establece 9 Pin en el mismo valor que la variable de estado
digitalWrite (ledPin, ledState);

leer valor de botón al principio del bucle, antes de hacer nada
buttonState = digitalRead(buttonPin);

desencadenantes más ligera de tiempo cada vez que se presiona el botón--Añadir debounce si el tiempo lo permite
Si (buttonState! = oldButtonState) startSeq(); los cambios de estado de botón tiempo en que agregamos tiempo de luces

cosas para manejar el recibo del mensaje de otro dispositivo de
derecho ahora también extiende tiempo incluso si se presiona botón localmente y a través de la calle al mismo tiempo!

uint8_t buf [VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
Si (vw_get_message (buf & buflen)) {/ / no bloqueo
int i;
Serial.Print ("tienes:");
para (i = 0; i < buflen; i ++) {}
digitalWrite (debugLED, HIGH); LED de prueba
Serial.println (buf [i], hexagonal);
}
digitalWrite (debugLED, bajo);
startSeq(); cualquier momento nos aparece un mensaje que añadir tiempo a luces en
}


Si (iniciado) {/ / se pulsa el botón, por lo que

código de intermitencia de trabajo anterior
Si (millis() > = (flashStartTime)) {/ / si LED ha sido más que el tiempo de espera...
Si (millis() < = (flashStartTime + tiempo de Flash)) {/ / enter flash secuencia si no ha entrado aún
Si (((millis() - flashStartTime) % estroboscopio) == 0) {/ / alternar la duración de cada luz estroboscópica. PROBLEMA EN LÍNEA! (dice a Jake)
ledState =! ledState;
Serial.println(Millis() - flashStartTime, DEC);
}
}
Else {(ledState = false); comenzó = false;} / / apagará después secuencia flash
}
}

leer botón valor final del bucle para ver si cambia
oldButtonState = buttonState;
}

¿void startSeq () {/ / así que en la actualidad si el estado del botón cambia en cualquier dirección comenzar otro seq...?

código para enviar un mensaje a otro juego de luces
const char * msg = "A";
digitalWrite (debugLED, true); activar el debug LED
Serial.println("SS");
vw_send ((uint8_t *) msg, strlen(msg));
vw_wait_tx(); Espere hasta que desaparezca todo el mensaje
Serial.println("es");
digitalWrite (debugLED, false); Apagar el LED de depuración
código final para enviar mensaje a otro juego de luces

Ahora vamos a conseguirán parpadeando las luces de este poste!
Iniciado = true;
startTime=millis(); registros cuando en el programa se pulsa el botón
flashStartTime = startTime + holdTime; intermitente la secuencia comenzará después de secuencia
waitUntil = startMillis;
ledState = true; encender LED y comenzar la secuencia cada vez que se presiona el botón

}

Artículos Relacionados

Hacer de una ciudad que brilla intensamente!

Hacer de una ciudad que brilla intensamente!

Aquí te muestro cómo hacer una ciudad que parece su brillante con casa común objetos! Puede utilizar estos para decorar tu hogar o hacer tarjetas fuera de ellos.Se necesita:Pintura en aerosol (me gusta mejor negro)Dos hojas de papelTijerasRocasPaso 1
Huevo que brilla intensamente

Huevo que brilla intensamente

¡ Hola! amigosBienvenidos a mi otro proyecto de bricolaje "huevo que brilla intensamente". En este proyecto voy a mostrarte cómo hacer su propio huevo brillante. Parece bastante chulo y es recargable.Por lo tanto, vamos a empezar.Paso 1: Diagram
Cómo hacer un anillo de linterna verde-incluyendo una versión que brilla intensamente!

Cómo hacer un anillo de linterna verde-incluyendo una versión que brilla intensamente!

Aquí está cómo hacer tu propio anillo de linterna verde de resina del molde. Esta una revisión completa de mi instructable sobre cómo hacer un anillo de linterna verde, que anteriormente sólo mostró cómo se crea un anillo de plata de fundición origin
Cómo hacer una montaña de Nuka Cola que brilla intensamente

Cómo hacer una montaña de Nuka Cola que brilla intensamente

Aquí está un rápido tutorial sobre cómo hacer una montaña de Nuka Cola tapa para todos tus fans de Fallout!Paso 1: Recoger los suministros...Para este proyecto necesitarás lo siguiente:-Una montaña (es una montaña de corcho desde el almacén del dólar
Cómo hacer texto que brilla intensamente en Paint.NET

Cómo hacer texto que brilla intensamente en Paint.NET

esto es como hacer texto tienen un efecto que brilla intensamente en Paint.NET. En este instructable, utilicé la fuente Tengwar Annatar con efecto brillante para hacer una especie de mirada "runes de la magia"; sin embargo, esta técnica puede ap
El huevo que brilla intensamente

El huevo que brilla intensamente

¡¡¡Gracias!!!tan sorprendente para mí, acabas de llegar a la final con mi huevo glowig. Gracias a todos aquí en instructables no belive ir hasta con uno de mis proyectos. Espero te puedo mostrar más agradable, divertida, cracia,... cosas pronto.Solo
Multi Color luz espada que brilla intensamente - LEDs RGB para pintar con luz.

Multi Color luz espada que brilla intensamente - LEDs RGB para pintar con luz.

acabo de láminas nuevas para mi limpiaparabrisas y el paquete al instante me hizo querer empezar a luchar de la espada. Espadas de luz Blinky para pintar con la luz ¡ SÍ!!!!!!Puede crear este proyecto para:Efectos especiales de fotografía llamado la
Neumático de la bicicleta que brilla intensamente

Neumático de la bicicleta que brilla intensamente

andar en bicicleta por la noche requiere mucho cuidado. Por seguridad, se recomienda utilizar una linterna para iluminar el camino delante de usted. Habló reflectores montados y flancos reflectantes son de uso frecuente para hacer los lados de la bic
Inicio remedio para conseguir la piel que brilla intensamente

Inicio remedio para conseguir la piel que brilla intensamente

Introducción:-La mayoría de las chicas quiere lucir hermosa, con la piel impecable y radiante. Chicas usan muchas clases de productos dañinos que resultan en el brillo temporal de la piel y se descolora lejos pronto dejando una piel opaca. Durante si
Textil tejida a mano que brilla intensamente modular

Textil tejida a mano que brilla intensamente modular

este proyecto debe satisfacer sus necesidades si usted está mirando para hacer una manta de picnic nocturno, quieren un método para espantar a los monstruos de armario o necesitan una manera útil para iluminar tu vida después de la Apocalipsis. El mé
IGLO: Identifica el objeto que brilla intensamente

IGLO: Identifica el objeto que brilla intensamente

lo que puedes ver en el video... Se parece a... No sé cómo describirlo. Usted definitivamente no confundirla con un plano. Planos no cambiar la dirección tan rápida. También no vuelan en formaciones como esta. Y definitivamente no cambian de color. ¿
LED luces caramelo gomoso.  Comestibles + caramelo que brilla intensamente!

LED luces caramelo gomoso. Comestibles + caramelo que brilla intensamente!

Este es nuestro Instructable haciendo techie comestibles + caramelo gomoso del luz de LED que brilla intensamente en el SMART de SoHa. Hacemos esto para la gente a comer en las clases y encuentros. Si se les ponen bajo una luz negra brillan! Esto es
Simple decoración que brilla intensamente de ghost

Simple decoración que brilla intensamente de ghost

Hola,Después de un Comentario hecho por instructablies miembros holloweem tiré juntos esta rápida y barata decoración fantasma que brilla intensamente. dependiendo de sus palillos del resplandor será última sola noche pero son tan rápidos y barato ha
Fantasma que brilla intensamente

Fantasma que brilla intensamente

Halloween es el momento cuando nosotros nos podemos adornar y decorar nuestras casas con fantasmas. Así que esta vez decidimos decorar nuestra casa con pequeño lindo '' fantasma que brilla intensamente ''. Combinación de Artes de la fibra con la elec