La máquina del sueño lúcido (2 / 10 paso)

Paso 2: sobre el programa

Distintos de inicialización, el software de lucid13 se ejecuta enteramente a través de interrupciones. Temporizador activa cuenta de IRQ a través de la espera larga inicial hasta que el tema está en un sueño profundo. El escalador del momento entonces se cambia a una tasa alta para crear el PWM liso para el parpadeo del LED soñar lúcido.

Modos de funcionamiento:

--Usuario entrada/opciones
Modo espera para dormir
Modo sueño--PWM

Inicio

Durante el arranque se ilumina el LED durante unos 2 segundos indicar operación.

El dispositivo comprueba si el botón de entrada se pulsa y se mantiene durante el encendido durante los segundos 2 iniciales. Si fue, se introduce el "modo inmediato": los LEDs empiezan a parpadear. Esto es sobre todo así guyfrom7up podría probar fácilmente el hardware sin tener que esperar durante cuatro horas;-).

También podría usarse para "catnap" tipo Estados de sueño.

¿Sin embargo, también podríamos añadir un poco de código para variar la anchura de pulso... creo que whattay?

La configuración del temporizador e IRQ para el estado de espera inicial

Después de la comprobación de entrada de usuario, etc. y configurar el IRQ, el ATtiny13 es inmediata en modo de reposo. En este modo sólo los temporizadores, relojes y las IRQ son funcionales. Por supuesto, esta es una medida de ahorro de energía.

Tiempo de conversión para un contador de 16 bits, por el valor del temporizador de escalador (veces aprox.)--

Una espera de ~ 4 horas es posible con la combinación de bandera CS02 y CS00, un escalador del reloj de 1024. En este estado, se desencadena la IRQ 4.6 veces por segundo. La espera estado fácilmente podría ser bien ajustado, utilizando el contador de 16 bits (para las duraciones < 4 horas) junto con el contador waitstate (para más retrasos.)

Cuatro horas es un retraso tan bueno como cualquiera, una duración más larga waitstate no se utiliza. Un retraso más largo sería una cuestión trivial de implementar.

Nota: guyfrom7up ha encontrado que el waitstate para sus AVRs es un poco más de 4 horas, mientras que el mío es un poco menos. El oscilador interno del RAV no es muy exacto, pero es suficiente para nuestras necesidades...

En 4,6 IRQ por segundo, potencia de CPU consumo debe ser muy bajo. Por supuesto el AVR no puede ser en modo de apagado, ya requiere un externo despierte la señal. Nuestro debe programado internamente, por lo que SLEEP_MODE_IDLE es nuestra mejor opción.

IRQ por segundo, para cada escalador (aprox.)--

La configuración de temporizador y IRQ para soñar modo PWM

El valor del temporizador de escalador cambia a CS00 cuando empieza MODE_DREAMING, para crear las transiciones suaves de la pwm de software. El ciclo de trabajo de la CPU (y IRQ) es mucho mayor (alrededor de 4,7 K por segundo.) Pero el ciclo de trabajo del LED es mucho menos de lo que sería con un simple interruptor on/off. Dibujar una compensación entre la cpu y el LED actual...

El ancho total del pulso (longitud) de lo blink LED es controlado por las constantes MACRO_WIDTH y MACRO_GAP. El PWM es manejado por incrementar el pwm y variables de transición por las constantes PWM_VAL y TRANS_VAL. alteración de las constantes cambiará cómo rápidamente el PWM "rampas para arriba".

En la actualidad, la frecuencia del pulso soñando con frecuencia LED es aproximadamente 1,5 hz.

Tamaño del programa

La versión actual (0.2b) utiliza sólo 438 bytes de memoria flash. Esto es muy por debajo del límite de 1 K en el ATtiny13.

Para agregar más características es sin duda capaz de hacer.

Artículos Relacionados

La máquina del sueño o, cómo estar más despierto mientras duermes

La máquina del sueño o, cómo estar más despierto mientras duermes

Se trata de un dispositivo barato, DIY, Arduino powered oneironautics que permite a los usuarios para sí mismos cuando están en un profundo dreamstate, sin despertar. En otras palabras, esta máquina te dirá cuando estás soñando, mientras estás soñand
Sueños lúcidos: Sueño a la realidad

Sueños lúcidos: Sueño a la realidad

¿Un día que estaba pensando qué sería como controlar mis sueños? Sueños lúcidos, pero ¿cómo lograrlo? Rápidamente saqué lucid dreaming en el ordenador. A sueño lúcido tienes que notar su sueño, "¿cómo voy a hacer eso??!!!!" Pensé. la primera sug
HACER una máquina de sueños de hipnosis mente control Cheap

HACER una máquina de sueños de hipnosis mente control Cheap

esto es básicamente el proyecto siesta Flash con algunas características extras y algo de trabajo.Es también una versión mínima de máquinas de hipnosis "Luz/sonido" que cuestan cientos de dólares,pero si tiene partes, esta va a costar un par de
Cómo tener un sueño lúcido

Cómo tener un sueño lúcido

lúcidos le permite tener un control total sobre los eventos que ocurren en sus sueños. Eres capaz de experimentar todo lo que puedas imaginar sin ninguna consecuencia. Desde las emociones y todos los días, el pensamiento lógico son más relajado y men
Sueño de $15 a la interfaz de la realidad, control de objetos en el realworld de su sueño lúcido

Sueño de $15 a la interfaz de la realidad, control de objetos en el realworld de su sueño lúcido

¿Que siempre quisiste trabajar en el tiempo que lo desperdicias para dormir? Ahora usted puede!Este proyecto es esencialmente una máscara de sueño lúcido muy compleja que detecta el sueño REM de movimientos oculares.Entonces puede enviar comandos pre
Cómo tener sueños lúcidos

Cómo tener sueños lúcidos

un sueño lúcido es un sueño en que usted, el soñador, cuenta estás soñando.He tenido bastantes sueños lúcidos y he descubierto un método para tenerlos pero * nota * es muy difícil tener un sueño lúcido y requiere mucha práctica pero no funciona la ma
Cómo tener sueños lúcidos, y más

Cómo tener sueños lúcidos, y más

vi alguien en Instructables hizo un Instructable sobre sueños lúcidos, pero pensé que podría más lejos esto y profundizar en lo más* Volver a editar: cambia imagen en paso 4 nuevamente debido a su aparente no-epeleptic siesure causandoMuchas gracias
Máquina del caramelo de la marca Lego

Máquina del caramelo de la marca Lego

Esta es mi máquina del caramelo de Lego. Tiene bolos y si usted quiere comprar bolos. Pero tienes que pagar 25 centavos de dólar a candy. Debe poner 25 centavos en la máquina de monedas para comprar tus dulces. Esta máquina del caramelo tiene rampa p
Máquina del tiempo Telecom

Máquina del tiempo Telecom

En nuestra tienda es tradición que el primer paso de cualquier buen plan que "construir una máquina del tiempo". Si usted tiene una máquina del tiempo puede hacer el resto de los pasos en cualquier orden, medir una vez y cortar dos veces, tienen
Máquina del bordado para una camiseta

Máquina del bordado para una camiseta

compré un montón de camisetas básicas blancas en una variedad de tamaños en venta super y han estado esperando para bordarles. Tengo una máquina de coser y bordado de 'vieja escuela' que no tomó amablemente a los tejidos. Así que cuando se unió a la
Máquina del caramelo de LEGO Mindstorms

Máquina del caramelo de LEGO Mindstorms

Este dulce de caramelo "dulce" la máquina dispone de dos canales inclinados, un mecanismo de bloqueo para almacenar dulces y un divertido y sencillo diseño. Utiliza 2 EV3 servomotores para operar dos canales inclinados del caramelo. Además, el p
Cómo construir una máquina del tiempo (espacio de distorsión de torbellino y dispositivo de dilatación de tiempo)

Cómo construir una máquina del tiempo (espacio de distorsión de torbellino y dispositivo de dilatación de tiempo)

bien permite ponerlo de esta manera, siempre he tenido esta cosa sobre viajar a través del tiempo y tener una máquina del tiempo. Así que trata de hacer uno, he decidido que en vez de ser un barco para viajar, prefiero tener algo portable.Muchas hora
MÁQUINA del tiempo STEAMPUNK

MÁQUINA del tiempo STEAMPUNK

este es mi segundo Punk de vapor / proyecto de Diesel.mi vapor Punk Shrink Ray, que fue mi primer proyecto.   Terminará por encima de esto en la pantalla.Paso 1: Steampunk Time Machine El cuadro básico para empezar esto era una caja de madera pan de
Máquina del tiempo de Minecraft!

Máquina del tiempo de Minecraft!

¿Que siempre quisiste ser un viajero del tiempo en Minecraft, pero conocido era imposible? Bien, ahora usted puede!Paso 1: Obtener un bloque de comando Tipo www.woccu.org/give command_block y pulse Intro. Un bloque de comando aparecerá en tu inventar