Bullicio de la Transfiguración: Controlar el (3 / 5 paso)

Paso 3: La "magia" detrás de la Transfiguración de la ciudad Control

La mayor parte de la magia es sólo una buena programación. Los nombres de las clases se eligen para hacer legible el código de FiniteStateMachine por nadie. Podríamos han dado estado de aspecto y borde para la situación, pero el código es simplemente más difícil de entender. Transfiguration.h es justo esa misma idea. Necesita descargar el archivo Transfiguration.h y añadir a sus archivos de proyecto. Suele ser la misma carpeta que el archivo .ino. Se debe detener y reiniciar el entorno de Arduino antes de que pueda editar el archivo en el entorno de Arduino.

No tienes que hacer lo siguiente es sólo para aquellos interesados en lo que está en el archivo Transfiguration.h

Pragma una vez es ayudar al compilador que sabemos utilizar solamente este archivo una vez.

Incluye en la parte superior trae el NeoPixel, CurieIMU, CurieTime y las funciones I2C.

Incluyen el vector es especial. Es un conjunto de rutinas que le permiten mantener una colección de cosas. En nuestro caso es una colección de longitudes y colores, o se ve. Básicamente, cada vez que vea vector puede leer como una colección de blabla.

Clase de color es realmente la parte del software de mantener el rojo, verde y azul de los colores en la paleta.

Colores es realmente una colección de colores para un Look. Tiene una función mágica llamada transfigurar que calcula un color entre el último color y el color actual con el tiempo. Así que las transiciones de un color a otro no es brusco.

Longitud es almacenar la paleta de opciones de longitud.

Longitudes como los colores es una colección de longitud y tiene una función de Transfiguración que no es tan complicada como colores.

Una mirada como era de esperar tiene colores y longitudes. Así que aunque el código de la versión parcial de programa para la máquina de estado finito sólo utiliza un Color y longitud. Este código está listo para tantos como el 101 de Arduino puede manejar.

#defines son sólo una manera de hacer constantes que ocupan ningún espacio en su Arduino.

Situación es la idea general de una situación que puede ocurrir. La función dominante es hasOccurred será true si se ha producido la situación.

Paso, el centrifugado y el tiempo son sólo especiales versiones de situación. Algunos programadores avanzados pueden preguntarse por qué la situación, paso, vuelta y tiempo se hacen de esta manera y la respuesta simple es la legibilidad. Encantado de discutir más en un correo electrónico.

Transición es una clase que mantiene la mirada actual, el siguiente aspecto y qué situación ocurrió que provoca la transición.

updateStepCount y eventCallback tienen razón desde el CurieIMU -> stepCount demo, menos algunos Serial Outptut.

Finalmente la clase de ocasión. Una colección de miradas, una colección de situaciones y una colección de reglas de transición para pasar de un estado a otro.

getPeg, setPeg son simplemente una manera de señalar un tiempo cuando algo ocurrió. Pensamos que una clavija en la tierra en el tiempo y luego ver cuánto de eso peg eres.

Bucle pasa justo por las situaciones mirando para ver si alguno se han producido y luego comprobar que la mirada coincide con una transición.

Configuración hace toda la configuración de la IMU, hora, alambre y NeoPixel

Increíblemente, eso es todo. Es 256 líneas de código, pero realmente sólo puesta en práctica de ideas que cada uno tiene sentido.

Artículos Relacionados

Bullicio de la Transfiguración: Longitud

Bullicio de la Transfiguración: Longitud

Este instructable caminarán a través de cómo construir el mecanismo de la longitud de nuestro los fabricantes mayores de Américas.. Es un poco de una larga secuencia de pasos, pero al final tienes una manera de cambiar la longitud de algo y controlar
Bullicio de Transfiguración: Color

Bullicio de Transfiguración: Color

Un poco de introducciónMi hija y yo somos "Transfiguración bullicio" uno de los equipos en fabricantes más grande de Américas. Han sido eliminados de ese show pero había planeado para compartir nuestro trabajo aquí de todos modos. Se puede ver e
Bullicio de Transfiguración: Laser corte grabado hoja

Bullicio de Transfiguración: Laser corte grabado hoja

Se trata de una adición a nuestro ajetreo de Transfiguración: dispositivo de Color. El propósito de este instructable es mostrar cómo puede tomar nuestra hoja de Fractal infinito de Thingiverse y luego utilizar OpenScad seguido de Inkscape para hacer
IoT - controlar un Raspberry Pi Robot por internet con HTML y shell scripts sólo

IoT - controlar un Raspberry Pi Robot por internet con HTML y shell scripts sólo

(Si te gusta este Instructables, no olvide votar en ella (por encima de: bandera de la esquina a la derecha). está compitiendo en concursos de automatización y de INTERNET de las cosas. ¡Muchas gracias! ;-)En este instructables, aprenderemos cómo cre
Controlar cualquier aparato luz o eléctrico con tablet o smartphone (wifi)

Controlar cualquier aparato luz o eléctrico con tablet o smartphone (wifi)

Controlar cualquier aparato ligero o eléctrico con tablet o smartphone (wifi) usando arduino, blynk y un wemos / Junta de ESP8266En este tutorial vamos a hacer algo pido un wifi controlado interruptor de CA. (Pero también funciona para las aplicacion
Controlar cualquier dispositivo usando un Raspberry Pi y un módulo de relé

Controlar cualquier dispositivo usando un Raspberry Pi y un módulo de relé

El objetivo de este ible es mostrar cómo empezar con la creación de un módulo de relé en su pi y controlarlo. Mi objetivo es añadir scripts a mis pulpos para encender y apagar luces, pero de todas formas decides finalmente controlar los comandos GPIO
Cómo controlar pantalla rota (rota) y Android (o ambos) de vidrio y reciclaje.

Cómo controlar pantalla rota (rota) y Android (o ambos) de vidrio y reciclaje.

ESPAÑOL:Hola, cebador de este es mi Instructable, tomé la decisión de hacerlo porque no encontré en internet una solución para mi problema, y me las ingenie para arreglarlo.NO ME HAGO RESPONSABLE DE RECUBRIMIENTO DAÑADOS, ESTAS SON MIS RECOMENDACIONE
5 maneras de controlar un crad (tutorial de magia)

5 maneras de controlar un crad (tutorial de magia)

5 maneras fáciles de controlar una tarjeta
Controlar un actuador pequeño con Arduino

Controlar un actuador pequeño con Arduino

Este Tutorial de actuador lineal de Arduino muestra cómo controlar un Actuador pequeño Firgelli usando una placa compatible con Arduino y varios sensores de entrada, incluyendo un Slider y la perilla de rotación por control directo, Joystick para mov
Controlar una placa de Arduino usando un Control remoto infrarrojo

Controlar una placa de Arduino usando un Control remoto infrarrojo

-IntroducciónHola a todos, mi nombre es Noreddine Kessa, soy un entusiasta de la electrónica.  Me divertí mucho este fin de semana jugando con mi juguete nuevo, Kit Arduino ATmega328 DIY que he conseguido en eBay, y me encantaria compartir la alegría
Cómo comprar y controlar el motor sin cepillo

Cómo comprar y controlar el motor sin cepillo

Si quieres hacer tu propio rc avión o helicóptero tienes que aprender a controlar el motor sin cepillo. Más de la voluntad de trabajo ESC (Control electrónico de velocidad) no para nosotros, pero no todos. Alguien tiene que control ESC (utilizo Ardui
Voz controlar tu PC desde tu teléfono (android)

Voz controlar tu PC desde tu teléfono (android)

este instructable lazos con mi anterior instructable, 'voz controlada asistente PC'. Si usted no ha visto que, ir allí primero como esta ' ible se construye sobre el anterior: Este instructable le mostrará cómo controlar el asistente 'Jarvis' desde s
Controlar un coche RC usando el ordenador

Controlar un coche RC usando el ordenador

En este proyecto, transformó un barato coche RC pertenece a mi hijo en un vehículo autónomo con unos sencillos pasos y Arduino. El coche puede ser controlado con la PC a través de puerto serie/USB, o puede conducir autónomamente a través de Arduino.P
Controlar un actuador lineal grande con Arduino

Controlar un actuador lineal grande con Arduino

Este Tutorial de actuador lineal de Arduino muestra cómo hacer control manual básico de un actuador lineal grande con dos botones y un Arduino. En el primer conjunto de código, el primer botón extiende el actuador y el segundo botón retrae el actuado