«Arduino» decisión 'Caja' ser (Attiny85) (9 / 13 paso)

Paso 8: Diagrama de flujo básico

En primer lugar, es increíble duro para exprimir una interrupción y dormir programa basado en un diagrama de flujo real. He intentado mi mejor en el diagrama anterior, espero que todavía entender por qué el programa es como él es. Te recomiendo ver este diagrama de lado a lado en el código para obtener una mejor comprensión.

El objetivo es básicamente mantener el mayor tiempo posible en el modo 'sueño profundo' microcontrolador llamado "corriente abajo". En este modo se detuvieron todos los relojes y el procesador sólo puede ser despertado con una "interrupción de cambio de pin" o "interrupción externa". Bueno, todos los relojes excepción el perro guardián, es por eso se utiliza para generar horarios.

En el modo de "ilde" el núcleo principal se ha detenido reduciendo el consumo de energía por aproximadamente dos tercios (en comparación con un > 99% reducción), pero la gran ventaja es que el microcontrolador no tiene ningún tiempo de arranque adicional (aproximadamente 4 ms). Así es más práctico ir en "ilde" Si cualquier interrupción se espera pronto.

Vamos a tener una vista en el diagrama:

  1. Después de la rutina de configuración el dispositivo entra directamente en modo de reposo, donde permanece hasta que se produzca una interrupción. En este caso despierta el procesador y el controlador de interrupción va a reaccionar en el evento.
  2. Puesto que el temporizador del vigilante no está habilitado aún y no había ninguna pulsación anterior la primera interrupción comienza la rutina de debounce botón. Esto se hace iniciando el temporizador de vigilante en una interrupción de 16ms. Si cualquier rebote de contacto se produce la interrupción ('presiona') cambio de pin se dispararon nuevamente y el contador a 0. Entre cada una de esas interrupciones el procesador no tiene ningún trabajo que hacer y así enviar en modo de "ilde".
  3. Una vez el botón alcanza un estado estacionario (y no rebote más) el vigilante se habilita la interrupción de temporizador. Debido al estado estacionario del botón la rutina debounce puede no cerrarse y el estado actual del botón utilizado.
  4. Si se presiona el botón uno que se enciende el LED con base en datos aleatorios. Hasta la próxima interrupción tarda menos 100ms, por lo que es práctico enviar el dispositivo en modo "apagado".
  5. Si entonces se suelta el botón se ejecutará la misma rutina de debouce, pero al final se establecerá el temporizador del vigilante 2s para el LED tiempo fuera. Una vez más, el microcontrolador no tiene trabajo hacerlo durante los próximos dos segundos se elige el modo "apagado".
  6. Una vez que la interrupción de temporizador watchdog se activa mientras que no esté en modo debounce, tiene que ser la señal de tiempo de LED. Así todos los LEDs son vuelta de, el perro guardián es desviado hacia abajo y el dispositivo está configurado en modo "apagado" a largo plazo.
  7. Es posible que otra interrupción de cambio de pin se produce mientras el vigilante está en su segundo 2 LED tiempo período. En ese caso se sobrescribirá el ajuste actual del temporizador y el modo de debounce entró.

Artículos Relacionados

Caja para Arduino con corte láser - Uno, Mega, Leonardo, Yun

Caja para Arduino con corte láser - Uno, Mega, Leonardo, Yun

Una caja para nuestras tarjetas Arduino, es un gran aliado para protegerlas y manipularlas de forma más sencilla. ¿Y qué mejor forma para conseguir una caja para tu Arduino fabricarla tú mismo?En este Instructable encontrarás los archivos para fabric
Automático de Arduino DIY crecer caja

Automático de Arduino DIY crecer caja

Siempre he querido hacer un pequeño proyecto Arduino desde cero.Por lo tanto decidí hacer esta caja crece. Este es tal vez más como un '' mira lo que hice '', en vez de un Instructable, pero voy a intentar hacerlo como un Instructable para otros pued
BookClock - reloj basados en Arduino en una caja de cartón

BookClock - reloj basados en Arduino en una caja de cartón

este es el más reciente (y más barato aún) miembro de la familia del Sabio reloj .(Como un resumen rápido, los otros miembros de la familia del Sabio reloj son, hasta ahora, la cúpula de vidrio reloj sabio y sabio reloj 2. Son "sabios" porque, j
Arduino shield de ISP de attiny85/45 + depuración ayuda a

Arduino shield de ISP de attiny85/45 + depuración ayuda a

Durante mucho tiempo he querido reducir mis proyectos de arduino y ser capaz de usar una solución permanente, mucho más barata en mis proyectos. Recogí algunos attiny85 de amazon y quería probar y bootload con arduino, curiosamente había muchas cuest
Arduino termistor/solenoide caja

Arduino termistor/solenoide caja

Este proyecto fue parte de mi clase multimedia digital. Yo estaba encargada de diseñar un objeto que albergaría el microcontrolador Arduino utilizando un sensor de algún tipo y un interruptor el usuario podría operar que permitiría que el objeto de h
Arduino Numitron cigarro caja personalidad Tester

Arduino Numitron cigarro caja personalidad Tester

Esto es un probador de personalidad basados en Arduino que mágicamente siente su rasgo actual del estado de ánimo, personalidad y destaca un panel posterior con diodo luminoso. El probador usa un tubo de numitron IV-9 ruso cuenta regresiva durante el
Arduino powered ahorcado caja de regalo/caja de seguridad

Arduino powered ahorcado caja de regalo/caja de seguridad

un de tamaño mediano caja que requiere el usuario tener éxito en un juego de hombre de colgar para acceder al contenido de la caja.  Regalo Gran Idea!!!!!!mi sketch de Arduino se incluirán en este instructiblelo siento por las fotos de mala calidad!y
Arduino Meet iPhone caja

Arduino Meet iPhone caja

instructabots Hola, yo he estuvo al acecho en este sitio de vez en cuando, pero este es mi primer post publicado. También estoy usando esto para experimentar con la aplicación de instructables. ¡Hasta ahora, bien!Tal vez sea una coincidencia, tal vez
BRICOLAJE | Sistema de seguridad de Arduino fácil láser Tripwire!

BRICOLAJE | Sistema de seguridad de Arduino fácil láser Tripwire!

En este tutorial enseñará usted cómo usted puede construir su propio sistema de seguridad de Tripwire de láser en casa!Usted necesitará los siguientes componentes y materiales:Luz de LEDMódulo del laserMódulo de Sensor láserAltavoz o zumbador piezoel
Arduino – DHT11 y Plotter serie V2.0

Arduino – DHT11 y Plotter serie V2.0

Hola chicos,Para poder visualizar sus datos, la última versión del IDE de Arduino 1.6.6 viene pre-instalado con un plotter llamado el Plotter serie, que se puede utilizar para ver su comportamiento de datos en tiempo real que sólo ver los números en
Casa de Arduino automatización caja

Casa de Arduino automatización caja

SU HECHO! ¡ MIRA EL VIDEO EN EL ULTIMO PASO!Así que en mi piso se supone que debemos para tener un tomacorriente conmutado para que puede encender una luz tan pronto como usted entrar en el apartamento. He podido encontrar dicha salida. Así que pensé
Objetivo practicar con Arduino y puntero láser

Objetivo practicar con Arduino y puntero láser

Así que vamos a decirte que eres un soldado de asalto imperial. Constantemente estamos haciendo fuego sobre para escoria rebelde pero cuando estás cara a cara con el enemigo no podía golpear el costado de un at-at con tu rifle láser.Se preocupe no má
Arduino Pro Mini caja de música

Arduino Pro Mini caja de música

Mi recreación de una caja de música se basa en:Página de la caja de música de Sofíahttp://www.craigandheather.net/celemusicbox.htmlNivel de experiencia: medio, que necesita algunas habilidades de soldadura y utilizando un taladro para hacer algunos a
En C y C++ Arduino: monitor y graficador serie

En C y C++ Arduino: monitor y graficador serie

El Arduino se conecta al USB de la computadora, para poder cargar el código. Embargo de pecado, también es posible enviar desde el arduino a la computadora datos y viceversa con un protocolo de comunicación muy sencillo. En este instructable veremos