Calabaza de Halloween interactivo (basado en Arduino) (15 / 16 paso)

Paso 15: Notas sobre el bosquejo

Tres aspectos del bosquejo valen el mencionar:

Biblioteca de la dirección

No sólo hace de biblioteca dirección de lectura y escritura a los pines de Arduino mucho más rápido, también permite tratar los pernos como variables.

En vez de escribir

uso sólo puede escribir

Biblioteca PinChangeInt

PinChangeInt le da acceso a interrupciones de pasador en todos los pines de Arduino. Esta biblioteca fue esencial para la codificación de la rutina de medición ultrasónico sin el uso de la función pulseIn .
Hay nada malo con pulseIn per se, salvo el hecho de que es función de bloqueo, es decir, hasta que el borde del pulso se detecta (o hasta un tiempo de espera) nada está sucediendo. Desde dibujo calabaza está escrito con la cooperativa multitaskling en mente, esto es inaceptable.

En lugar de utilizar pulseIn, el proceso de ultrasonido se divide en 3 pasos principales:

  1. Activar el pulso ultrasónico
  2. Trampa eco pin interrupción en el borde de subida (Inicio conteo microsegundos)
  3. Trampa eco pin interrupción en el borde de la caída (parada contando microsegundos)

Mientras está de viaje eco, microcontrolador puede ejecutar otras tareas.

Para más detalles, consulte dibujo de.


Biblioteca de TaskScheduler

TaskScheduler implementa la multitarea cooperativa para microcontroladores Arduino.

Una vez utilizas TaskScheduler, programación Arduino transforma en definir una serie de "tareas" que el dispositivo tiene que hacer, y las interacciones entre ellos.

Por ejemplo, la calabaza se tiene que hacer lo siguiente:

  1. Detección de movimiento
  2. Mida la distancia
  3. Ojos de "Wink" cuando se detecta movimiento
  4. 3 color LED "resplandor" cuando se detecta cierta distancia
  5. ": Grito" cuando alguien está muy cerca

Además, son necesarias 3 tareas específicas "hardware"

  1. Tarea para el control de los ojos (wink y abrir y cerrar)
  2. Tarea de control de motores (vibrar por un tiempo específico)
  3. Tarea de control LED (resplandor)

Cada una de las funciones anteriores se crea como una tarea. Por ejemplo:

tMotion tarea ejecuta una vez, y método de las llamadas MotionDetectedCallback, que se encarga de decidir lo que debe ocurrir una vez que se detecta movimiento basado en la distancia.

tarea tTimeout pone calabaza detrás para dormir si no hay actividad ocurrió durante 1 minuto.

TDistance tarea ejecuta cada 100 milisegundos y desencadena la medición ultrasónica de la distancia.

Hay una coordinación especial se requiere entre tareas independientes puesto que programador es cuidar de él.
Las dependencias explícitas entre las tareas se reflejan en el código de métodos de devolución de llamada, por ejemplo:

una vez que se detecta movimiento, la tarea de detección de movimiento:

  1. Reinicia la tarea de tiempo de espera
  2. Permite la medición (si no estaba habilitada ya) a distancia
  3. Comprueba si calabaza ya está guiñando un ojo, que brilla intensamente o gritando
  4. Si no, comienza la tarea de "guiño"

Para más información sobre TaskScheduler consulte la página de documentación en arduino.cc

Para más detalles consulte también la página de dibujo.

Artículos Relacionados

Arduino powered calabaza de Halloween con detección de movimiento

Arduino powered calabaza de Halloween con detección de movimiento

Hola,Este Instructable le mostrará cómo hacer algunos Halloween decoraciones incluyendo arduino powered calabaza de Halloween con detección de movimiento.Paso 1: Hacer calabaza de Halloween Materiales:Globo redondoPeriódicos viejosHarina suaveAguaTém
La más terrorífica, arduino powered, intermitente y gritando calabaza de halloween!

La más terrorífica, arduino powered, intermitente y gritando calabaza de halloween!

Aquí le damos un instructivo para un proyecto por la tarde que tenía que hacer: intermitente, gritando, arduino powered calabaza de halloween. Es muy divertido, consiste en un poquito de soldadura y es ideal para aprender sobre sensores y salida de l
Remiendo de la calabaza de Halloween IOT

Remiendo de la calabaza de Halloween IOT

Meta: Cuando los niños acercan a la casa el remiendo de la calabaza cobra vida un entorno interactivo basado en movimiento y detección de sonido.Paso 1: Capa de serviciosPaso 2: Flujo de trabajoCuando se detecta movimiento; Haga lo siguiente:No comen
Calabaza de Halloween Maléfica

Calabaza de Halloween Maléfica

Calabaza tallada en Maléfica :)Mis hijos aman los personajes de Disney y por lo tanto, decidieron hacer un deseo basado en estos personajes. Para Halloween, pensé "Maléfica" el carácter villainous será una opción perfecta y así el nacimiento de
Bailarina de Hula basados en Arduino

Bailarina de Hula basados en Arduino

Este instructable fue creado en cumplimiento de los requisitos del proyectode la Makecourse en la Universidad de Florida del surSobre este proyecto: ¡ Hola todos! Estoy seguro que has oído hablar de los bailarines de hula de tablero de instrumentos q
Basados en Arduino casero elegante IOT sistema

Basados en Arduino casero elegante IOT sistema

Hola, soy Michalis Vasilakis de Ardumotive.com y en esta guía de Instructables te mostraré cómo usted puede hacer fácilmente su propio sistema de casa inteligente basado en Arduino uno y un módulo de Ethernet (o protector).Usted podrá utilizar este s
Caja de medida de distancia basados en Arduino

Caja de medida de distancia basados en Arduino

Hola, en este proyecto les mostraré cómo construir su propia caja de medidor de distancia con Arduino uno y un sensor ultrasónico.Antes de comenzar, asegúrese de que usted tiene:Arduino unoSensor ultrasonido HC-SR04LCD 16 x 2Página oficial: http://ww
Delicioso Dip de calabaza para Halloween o Thanksgiving

Delicioso Dip de calabaza para Halloween o Thanksgiving

Para la misma receta puede servir este dips calabaza para Halloween o Thanksgiving, con cortadores de galleta apropiado!Paso 1: Ingredientes y método Para los chips:azúcar de 1/4 c1 polvo de canela cucharadita colmada10 tortillasSpray para hornear co
Alarma de sombra basado en Arduino

Alarma de sombra basado en Arduino

Alarmas de sombra se utilizan generalmente para la protección contra el robo. Una alarma de sombra es un dispositivo que emite una alarma cuando una sombra cae sobre ella. Se describe aquí es un simple circuito de una alarma de sombra basado en ardui
Sistema de seguridad basado en Arduino PIR Motion Sensor

Sistema de seguridad basado en Arduino PIR Motion Sensor

Este proyecto hará nuestro sistema de seguridad basado en Arduino con sensor de movimiento.Cuando el sistema detecta alarma nos avisará por entrar en circuito.http://make.robimek.com/Motion-Security-System-with-Arduino/Paso 1: materiales: Sensor de m
ABCUR - regulador de uso de computadora basado en Arduino

ABCUR - regulador de uso de computadora basado en Arduino

¿Recuerda aquel momento cuando estabas tan absorto en el trabajo en su computadora que completamente perdido noción del tiempo?¿Recuerdo que tenía un dolor de cabeza y calambres en el momento en que se levantó?Recuerde preguntar a ti mismo en cuanto
Ideas de decoración de la calabaza de Halloween simple

Ideas de decoración de la calabaza de Halloween simple

Es temporada de calabaza y es hora de empezar a tallar. En este tutorial, te mostraré algunos simple bricolaje Halloween calabaza decoración consejos, trucos e ideas para asustar a su Halloween.Paso 1: Ver el Video!!Ver el video de Youtube.Paso 2: Re
Crear calabazas de Halloween loco

Crear calabazas de Halloween loco

Te voy a mostrar cómo hacer crazy halloween calabaza proyectos mediante:1. dicromato de amonio2. mercurio tiocianatoPaso 1: Preparar y cortar la calabazaPaso 2: Doble de aluminio y colóquelo en la parte superior.Paso 3: Calabaza de Halloween loco Agr
Visualizador de espectro de bi-color LED matriz Audio basados en Arduino

Visualizador de espectro de bi-color LED matriz Audio basados en Arduino

Después de que surgió con el kit del módulo de controlador de matriz de LED de Bi-color, hemos estado buscando de proyectos interesantes para trabajar con él.Está interesado en algunos de los proyectos que hemos puesto en instructables con este kit d