Junio de 2014 Bulid noche: Deslizador de LittleBits Blink (4 / 4 paso)

Paso 4: Qué hace el boceto?

El dibujo es bastante simple, pero todavía ilustra varios conceptos de programación.

En primer lugar, el bosquejo inicializa varias variables que se utilizan más adelante en el bosquejo. Junto con los pines que vamos a utilizar, inicializamos la variable para las velocidades de parpadeo mínimo y máximo, dos valores de tiempo de la tienda y para si el LED debe estar encendido o apagado.

Dado que estas variables se inicializan fuera de cualquier función, son en el ámbito global. Esto significa que puede ser utilizados y cambiados en cualquier lugar en el código y los cambios se mantendrán. Esto será importante más adelante.

El siguiente es la función setup(). Aquí utilizamos pinMode() para configurar los pines, uno para la entrada (el cursor) y de salida (LED). Luego leemos el valor de la botella... no tienes que esperar hasta el loop() leer un valor de como configurar el pin en.

Después setup(), loop() funciona una y otra vez hasta que la energía esté desconectada. No inicializamos las variables aquí porque todo lo que necesitamos es ya en el ámbito global.

Primero, obtenemos la hora actual llamando millis() y poniendo eso en t.

A continuación leemos el valor del atenuador deslice en sldr_val. Debo señalar aquí que los valores que obtenemos aquí deberían ser 0 a 1023, pero Deslice el regulador no puede dar valores tan altos.

Ahora verificamos si debemos hacer algo. Hacemos esto al comparar el tiempo transcurrido desde la anterior iteración de loop() a blink_val. Cuando loop() se ejecuta la primera vez, la vez anterior (l) y blink_val ya establecidos a 0, por lo que todavía funciona. Si ha pasado suficiente tiempo, es tiempo de hacer algo, por lo que entrar en el bloque "si" y empezar a hacer cosas.

Enviamos el valor de la Deslice el regulador (que acaba de leer) en el monitor serie.

A continuación actualizamos el valor de blink_val utilizando un bilt en función map() (leer más en http://arduino.cc/en/Reference/Map). Mapa toma una variable y escala de una gama a otra gama. El primer rango es lo que podría ser el valor Deslice el regulador de intensidad, y el segundo rango es lo que queremos; ya hemos inicializado los límites de este rango en la parte superior del bosquejo como min_rate y max_rate.

Ahora tenemos un valor actualizado de blink_rate para comparar con el tiempo transcurrido de esta iteración del loop() hasta más adelante.

El paso siguiente escribe el pin que el LED está encendido, de tal modo convirtiendo el LED de encendido o apagado. La sintaxis utilizada para esto es muy compacta, por lo que voy a explicar.

Una llamada a digitalWrite() toma dos argumentos: el pin y el valor a escribir. Nuestro primer argumento aquí es la variable para el pin del LED, led_pin. El segundo argumento no es un valor, o incluso una variable... es una expresión.

Porque este pin se encuentra en modo digital, pueden entender solamente dos valores: verdadero o falso. Las constantes altas y bajas son alias de verdadero y falso, al utilizar alta, está realmente pasando asi verdad.

De todos modos, de nuevo a nuestra expresión. Es un operador ternario, que es una especie de taquigrafía para if/else bloques de código. Hemos envuelto el operador ternario en paréntesis por claridad. Lamentablemente estos no están documentados en la sección de referencia de la Página Web de Arduino, así que sigue leyendo aquí.

Un operador ternario consta de tres partes. La primera parte es otra expresión que se evalúa el operador ternario. Es seguido por un signo de interrogación.

La segunda parte es el valor devuelto por el operador ternario si la primera parte se evalúa como true. Es seguido por un coma.

La tercera parte es el valor devuelto por el operador ternario si la primera parte no evalúa para true (es decir, false).

La primera parte es nuestra o variable, que es el valor booleano que definimos en la parte superior del bosquejo. Nuestra segunda parte es alta, y la segunda parte es baja.

Así que si o es verdadera, se escribe alto el pin, si no baja se escribe.

Otros veteranos programación probablemente dirá "pero podría simplemente pasar o directamente y no molestarse con un ternario" y la derecha porque o es un valor booleano y va a ser falso (que alta es un alias de) o false (que baja es un alias de). Aquí usé para ilustrar lo que hace un operador ternario.

Después de eso, nos preparamos para el futuro. Invierta o (true se convierte en falsa, false se convierte en verdad), luego actualizar el anterior tiempo l al valor de la corriente t de tiempo.

Pero hay otra cosa aquí. Mediante el uso de o de esta forma en combinación con el LED, hemos creado una máquina de estado para el LED. En electrónica, es una máquina de estado

Un dispositivo que puede estar en uno de un número determinado de condiciones estables dependiendo de su condición anterior y el valor actual de sus entradas.

Nuestra máquina de Estado sólo tiene dos Estados, encendido y apagado.

Artículos Relacionados

Enero de 2014 construir noche con CoolNeon parte II - indicador de proximidad de aparcamiento

Enero de 2014 construir noche con CoolNeon parte II - indicador de proximidad de aparcamiento

¿Siempre hay problemas parking en tu garaje? ¿Golpear la pared o dejar demasiado atrás para cerrar la puerta del garaje? En este instructivo vamos a construir un indicador de proximidad de aparcamiento con EL alambre y escudo de EL alambre de CoolNeo
Enero de 2014 construcción de noche: EL alambre tubo del Nixie del

Enero de 2014 construcción de noche: EL alambre tubo del Nixie del

llamémosla ixie EL tubo para el cortocircuito.  Esta es una de las entradas de los laboratorios H3 en enero 2014 construir noche con CoolNeon.Para aquellos que no saben ver que el tubo Nixie es que un tubo de vacío utiliza sobre todo en Rusia y Europ
LittleBits datos Serial

LittleBits datos Serial

littleBits son divertidos módulos poco electrónicos se pueden utilizar para construir cosas. Con el lanzamiento de un módulo Arduino, ahora puede conectar littleBits al ordenador para el control de aplicaciones y otras cosas en tu escritorio.Paso 1:
ADMISIÓN abierta para agosto de 2014

ADMISIÓN abierta para agosto de 2014

Si usted está en amor con películas y buscando el lugar adecuado para aprender el oficio de hacer cine, entonces no busque más... ADMISIONES ABIERTAS PARA AGOSTO DE 2014 LOTE EN MINDSCREEN PELÍCULA INSTITUTE1. CURSO DE SEIS MESES EN CINEMATOGRAPHY2.
Twitteando, Wireless, regulador de la temperatura del ahumador tambor feo (UDS) con Android

Twitteando, Wireless, regulador de la temperatura del ahumador tambor feo (UDS) con Android

(Última actualización: octubre de 2014. Ver último paso para obtener más información sobre los cambios).Este es el Supervisor Digital de UDS, aplicación para Android y hardware para el mantenimiento de forma remota la temperatura de su UDS como un te
Barato, bonito y raro A4 del trazador de gráfico ($25 + algunos chatarra)

Barato, bonito y raro A4 del trazador de gráfico ($25 + algunos chatarra)

Actualizada el 02 de junio de 2014Mi entrada de concurso fue aceptada - ahora usted puede votar por este proyecto si te gusta! ¡ Gracias!----------------------------------------------------------------------------------------------¡Hola!Al principio
Cómo hacer un Video de cámara oculta YouTube

Cómo hacer un Video de cámara oculta YouTube

Ha sido un tiempo desde mi última instructable; ha pasado casi un año realmente. Yo aún con frecuencia leer el sitio, pero mis esfuerzos creativos han cambiado. Pasé por una fase de fuerte fotografía por un tiempo, y ahora estoy interesado en los vid
Oblivion inspirado Nerf prop

Oblivion inspirado Nerf prop

Esto es todo porque me dejó por una venta de garaje y vio una pistola de Nerf por un dólar. Un dólar.Tuve que comprarlo. Le faltaban algunas piezas, el barril de extensión, el alcance y el clip. PERO ERA UN DÓLAR!Así que tuve que construir algo con é
Un correo electrónico a Bunny

Un correo electrónico a Bunny

A pesar de que ella no puede corteza o meow, Cadburry conejito ahora puede enviar un correo electrónico utilizando los littleBits nube poco. Ella utiliza su pose de beg para empujar una palanca y háganos saber que quiere la col rizada más.Este proyec
Actobotics regulador de canal de 48 pulgadas con retroceso automático y regulador de velocidad

Actobotics regulador de canal de 48 pulgadas con retroceso automático y regulador de velocidad

En 2014, construí el deslizador del canal Actobotics de Servocity.com para el uso con la fotografía de lapso de tiempo. La construcción original se puede encontrar mediante los siguientes enlaces:Estructura deslizanteUsando el control deslizanteAdici
Cómo hacer el avión de papel Turbo UltraVulcan

Cómo hacer el avión de papel Turbo UltraVulcan

Rápido, de largo alcance y versátil, el Turbo UltraVulcan es una variante mejorada del avión de papel de UltraVulcan , ofreciendo rediseñado alas para mejor desempeño y manejo a altas velocidades y mayor rigidez.El Turbo UltraVulcan fue desarrollado
Escala de yo-yo Monte (swing a través de la variación) - Luke Renner

Escala de yo-yo Monte (swing a través de la variación) - Luke Renner

Escalera yo-yo Monte (swing a través de la variación) - demostrado por Luke Renner. Yo-Yos es el N8 por MagicYoYo. Agradecimiento especial a MagicYoYo en Shenzhen! Filmada en el noroeste de nuevo México junio de 2014. Los trucos de montaje de la esca
Cohete de una rama de sauce

Cohete de una rama de sauce

Una colección diversa de madera que se reunieron durante los años puede llevar a algunos proyectos interesantes. Finalmente consiguió a hacer algo había estado pensando por un rato - rayar la construcción de un cohete de una rama de sauce. Aquí está
Álbum de fotos de la escalera de Jacob

Álbum de fotos de la escalera de Jacob

Se trata de un giro en el clásico juguete escala de Jacob, como se describe en la escala de un tradicional Jacob.He utilizado azulejos de madera más grandes (4 x 6 pulg.) asi que pude mostrar fotos de tamaño decente.Paso 1: Materiales: madera, cintas