Encontré un documento muy viejo y en ruso, me tomé la tarea de traducirlo y publicarlo acá porque no lo encontré en español y me pareció muy curioso.
Eliminador de Alergias económico con fototerapia por medio de LED y Micro Attiny
Las alergias son por desgracia muy comunes y afectan a nuestras vidas. Desde una pequeña secreción nasal y lagrimeo en pleno verano hasta una erupción cutánea y ataques debilitantes de dolor de cabeza. Las situaciones desesperadas requieren medidas desesperadas, y cada persona alérgica debe encontrar, aplicar y ajustar la medicación u otro método de tratamiento por sí mismo. La electrónica es un campo creativo, por lo que podemos agregar con seguridad una baliza de nariz roja casera al círculo de dispositivos de terapia no tan comunes.
¿Funciona realmente la fototerapia?
Hay varios dispositivos portátiles disponibles para tratar los síntomas de la alergia a la fiebre del heno con rojo. Los creadores afirman que tales agentes hacen que las paredes de los mastocitos sean menos susceptibles a la penetración en ellos, los hace responder más lentamente al polen y, como resultado, liberan menos histamina. Algunos ejemplos comerciales de tales dispositivos son XXXX (Marcas comerciales que no voy a poner aquí porque no son conocidas).
Al mirar las reseñas, se observa que la opinión general es favorable, con muchos usuarios satisfechos. Sin embargo, solo los comentarios positivos de los consumidores crean desconfianza de que los ingenieros electrónicos siempre estén ansiosos por exponer el efecto Placebo. Aunque una persona esté satisfecha con el producto, puede engañarse. La forma más rápida de obtener un conocimiento básico de esta área es buscar "
Manteniéndolo simple (y barato)
El dispositivo típico se basa en dos LED (o diodos láser) y un temporizador microcontrolado. La longitud de onda de los LED suele ser de 660 nm. Además, todo lo que necesita es un microcontrolador ATtiny45, un botón pulsador momentáneo, cuatro resistencias, dos condensadores y un zumbador de CC opcional. Todo el circuito es simple y fácil de entender.
La potencia de entrada puede estar en el rango de 2.7 V a 5.5 V.
Recuerden corregir el valor de resistencia de las resistencias R1 y R2 conectadas en serie con los LED usando la fórmula:
R1 = R2 = (Vcc - 1.8) / 0.02 [Ohm]
El prototipo es alimentado por dos pilas AA de 1,5 V, por lo que la tensión de alimentación es exactamente de 3 voltios. Después de hacer los cálculos, obtenemos una resistencia de 60 ohmios para las resistencias R1 y R2, pero en la práctica las resistencias de 56 ohmios deberían funcionar bien.
Aunque el voltaje de suministro puede ser tan bajo como 2,7 V, tenga en cuenta que la mayoría de los zumbadores (por ejemplo, los activos) necesitan al menos 3 V de suministro. Como alternativa a las celdas secas, es posible utilizar una celda de 3V, tamaño CR2032.
Para simplificar su trabajo, se ha desarrollado una placa de circuito impreso y se pueden descargar archivos en formatos EAGLE y Gerber del sitio. La placa tiene dos puentes adicionales: uno para suministrar energía y otro para un zumbador opcional. El circuito es bastante simple de crear un prototipo y los puentes se pueden quitar para ahorrar dinero.
Funcionamiento del Código
En este desarrollo, la mejor manera de comprender cómo funciona el circuito es familiarizarse con el software.
Cuando se presiona el botón, se genera una interrupción.
El controlador de interrupciones comprueba si el temporizador está funcionando. Si no, inicia el temporizador.
Una vez iniciado, los LED se encienden durante cuatro minutos y se apagan.
Luego, se alimenta un nivel alto al pin PB4 durante medio segundo, luego un nivel bajo durante medio segundo y así sucesivamente dos veces.
Como resultado, el zumbador emitirá dos pitidos como alarma audible.
El ATtiny45 entrará en modo de suspensión para minimizar el consumo de energía, una característica importante para los circuitos alimentados por batería.
Me encanta el olor a luz roja de la mañana
Procedimiento de trabajo de aplicación: inserte LED (o diodos láser de muy baja potencia) en las aberturas nasales, presione los botones y espere hasta que el emisor se apague nuevamente (por defecto, después de 4 minutos).
La imagen 3 muestra a Ingrid usando su dispositivo antialérgico.
Aplicar de una a tres veces al día, dependiendo de la intensidad de su alergia.
De acuerdo, puede que te parezcas a Rudolph, el ciervo de nariz roja por un tiempo, pero definitivamente vale la pena intentarlo.
Simplemente siéntese [en la silla] y relájese.
Modo de uso:
Nota importante: el resultado puede diferir (Por efecto Placebo)
Adjunto Proyecto completo y bien documentado.
Eliminador de Alergias económico con fototerapia por medio de LED y Micro Attiny

Las alergias son por desgracia muy comunes y afectan a nuestras vidas. Desde una pequeña secreción nasal y lagrimeo en pleno verano hasta una erupción cutánea y ataques debilitantes de dolor de cabeza. Las situaciones desesperadas requieren medidas desesperadas, y cada persona alérgica debe encontrar, aplicar y ajustar la medicación u otro método de tratamiento por sí mismo. La electrónica es un campo creativo, por lo que podemos agregar con seguridad una baliza de nariz roja casera al círculo de dispositivos de terapia no tan comunes.
¿Funciona realmente la fototerapia?
Hay varios dispositivos portátiles disponibles para tratar los síntomas de la alergia a la fiebre del heno con rojo. Los creadores afirman que tales agentes hacen que las paredes de los mastocitos sean menos susceptibles a la penetración en ellos, los hace responder más lentamente al polen y, como resultado, liberan menos histamina. Algunos ejemplos comerciales de tales dispositivos son XXXX (Marcas comerciales que no voy a poner aquí porque no son conocidas).
Al mirar las reseñas, se observa que la opinión general es favorable, con muchos usuarios satisfechos. Sin embargo, solo los comentarios positivos de los consumidores crean desconfianza de que los ingenieros electrónicos siempre estén ansiosos por exponer el efecto Placebo. Aunque una persona esté satisfecha con el producto, puede engañarse. La forma más rápida de obtener un conocimiento básico de esta área es buscar "
Manteniéndolo simple (y barato)
El dispositivo típico se basa en dos LED (o diodos láser) y un temporizador microcontrolado. La longitud de onda de los LED suele ser de 660 nm. Además, todo lo que necesita es un microcontrolador ATtiny45, un botón pulsador momentáneo, cuatro resistencias, dos condensadores y un zumbador de CC opcional. Todo el circuito es simple y fácil de entender.
La potencia de entrada puede estar en el rango de 2.7 V a 5.5 V.
Recuerden corregir el valor de resistencia de las resistencias R1 y R2 conectadas en serie con los LED usando la fórmula:
R1 = R2 = (Vcc - 1.8) / 0.02 [Ohm]
El prototipo es alimentado por dos pilas AA de 1,5 V, por lo que la tensión de alimentación es exactamente de 3 voltios. Después de hacer los cálculos, obtenemos una resistencia de 60 ohmios para las resistencias R1 y R2, pero en la práctica las resistencias de 56 ohmios deberían funcionar bien.
Aunque el voltaje de suministro puede ser tan bajo como 2,7 V, tenga en cuenta que la mayoría de los zumbadores (por ejemplo, los activos) necesitan al menos 3 V de suministro. Como alternativa a las celdas secas, es posible utilizar una celda de 3V, tamaño CR2032.
Para simplificar su trabajo, se ha desarrollado una placa de circuito impreso y se pueden descargar archivos en formatos EAGLE y Gerber del sitio. La placa tiene dos puentes adicionales: uno para suministrar energía y otro para un zumbador opcional. El circuito es bastante simple de crear un prototipo y los puentes se pueden quitar para ahorrar dinero.
Funcionamiento del Código
En este desarrollo, la mejor manera de comprender cómo funciona el circuito es familiarizarse con el software.
Cuando se presiona el botón, se genera una interrupción.
El controlador de interrupciones comprueba si el temporizador está funcionando. Si no, inicia el temporizador.
Una vez iniciado, los LED se encienden durante cuatro minutos y se apagan.
Luego, se alimenta un nivel alto al pin PB4 durante medio segundo, luego un nivel bajo durante medio segundo y así sucesivamente dos veces.
Como resultado, el zumbador emitirá dos pitidos como alarma audible.
El ATtiny45 entrará en modo de suspensión para minimizar el consumo de energía, una característica importante para los circuitos alimentados por batería.

Me encanta el olor a luz roja de la mañana
Procedimiento de trabajo de aplicación: inserte LED (o diodos láser de muy baja potencia) en las aberturas nasales, presione los botones y espere hasta que el emisor se apague nuevamente (por defecto, después de 4 minutos).
La imagen 3 muestra a Ingrid usando su dispositivo antialérgico.
Aplicar de una a tres veces al día, dependiendo de la intensidad de su alergia.
De acuerdo, puede que te parezcas a Rudolph, el ciervo de nariz roja por un tiempo, pero definitivamente vale la pena intentarlo.
Simplemente siéntese [en la silla] y relájese.
Modo de uso:

Nota importante: el resultado puede diferir (Por efecto Placebo)
C:
/*
*
* Author: Tim Uiterwijk
*/
#define F_CPU 1000000UL //CPU clock at 1 MHz
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <avr/sleep.h>
uint16_t timer0_overflow = 0; //Counts the times timer0 overflowed.
static const uint16_t fourminutecount = 920; //@1MHz, prescaler 1024, 920x timer0 overflow = +-4 minutes, edit value when clock or prescaler change
char fourminute_running = 0; //To check if the 4 minutes are already running
int main(void)
{
DDRB |= (1<<PB0)|(1<<PB1); //PB0 and PB1 as output
GIMSK |= (1<<INT0); //Enable external interrupt request 0
set_sleep_mode(SLEEP_MODE_PWR_DOWN); //Sleep mode = power down
GTCCR = 0x81; //Stop timer0 and reset the prescaler
TCCR0A = 0x00; //Normal port operation and normal count operation (no PWM)
TCCR0B = 0x05; //Prescaler 1024x
TIMSK = 0x02; //Activate timer0 overflow interrupt
sei(); //Enable interrupts
while(1)
{
if (!fourminute_running)
{
sleep_mode(); //Sleep device
}
}
}
ISR (TIMER0_OVF_vect)
{
if (timer0_overflow < fourminutecount)
{
timer0_overflow++; //Count 1 overflow
}
else
{
GTCCR = 0x81; //Stop timer0 and reset the prescaler
fourminute_running = 0;
PORTB = 0; //LEDs off
PORTB |= (1<<PB4); //Buzzer ON
_delay_ms(500);
PORTB = 0; //Buzzer OFF
_delay_ms(500);
PORTB |= (1<<PB4); //Buzzer ON
_delay_ms(500);
PORTB = 0; //Buzzer OFF
}
TIFR |= (1<<TOV0); //Clear flag
} //Timer0 overflow interrupt
ISR (INT0_vect)
{
if (fourminute_running)
{
}
else
{
timer0_overflow = 0;
TCNT0 = 0;
GTCCR = 0x01; //Start timer0 and reset the prescaler
fourminute_running = 1;
PORTB |= (1<<PB0)|(1<<PB1); //LEDs on
}
GIFR |= (1<<INTF0); //Clear flag
} //Push button
Adjunto Proyecto completo y bien documentado.