Blow out LED - AZ-Delivery

Hola a todos

Hoy me gustaría presentarles un proyecto que es tan ingenioso como simple. Encontramos esto en Arduino.cc: Apaga este LED Arduino

Esta propuesta de proyecto está dirigida a todos los que les gusta jugar y probar. Para la mayoría de nuestros proyectos, solo es necesario copiar el código al controlador y luego conectar todo. Debido a la falta de hardware, nos llevó un tiempo encontrar los componentes correctos y coordinarlos.

El principio de funcionamiento:

Cuando se opera un LED, la corriente que lo atraviesa genera calor en el cristal emisor. Cuanto más caliente se pone un LED durante el funcionamiento, mayor es la resistencia interna. Si enfriamos un LED, por ejemplo, al soplar sobre él o con un spray frío, esto se reduce y registramos una caída de voltaje.

[Como puede ver aquí, cableamos nuestro LED con los colores incorrectos]

El hardware:

En el ejemplo, se usa una resistencia de 220 ohmios y un LED SMD 0402 con cable. Si tiene este hardware disponible, puede usar el siguiente boceto sin cambios importantes, solo es necesario hacer un pequeño ajuste aquí y allá. Esto se debe a que los cambios en el voltaje son marginales y las condiciones ambientales a veces varían mucho.

El código:

// Blow Out LED Ave crea un LED que puedes apagar. Se vuelve a encender automáticamente después de 2 segundos
//
// Copyright 2018, Paul H. Dietz

// Conexiones LED
#definir ADEMÁS A1               // lado alto de la resistencia
#definir MEDIDA A0            // Lado bajo de la resistencia y el ánodo del LED
// Cátodo de LED va a tierra

#definir NUMSAMPLES 10         // Número de muestras para guardar
#definir MINJUMP 150           // Salto mínimo por reventón

largo int sensedata[NUMSAMPLES];
int dataptr = 0;
int buffull = 0;

nulo configuración() {   De serie.comenzar(250000);                     // Inicializa la comunicación serial   pinMode(MEDIDA, ENTRADA);   pinMode(ADEMÁS, SALIDA);   digitalWrite(ADEMÁS, ALTO);                 // Enciende el LED
}

nulo bucle() {   int cnt;   largo int suma = 0;   // Suma 256 lecturas de ADC (para reducir el ruido de ADC)   para (cnt = 0; cnt < 256; cnt++) {     suma = suma + analogRead(MEDIDA);   }      De serie.println(suma);                      // Salida de la suma para que podamos ver con el trazador de serie   // Compara la medición actual con la más antigua si el buffer está lleno   si (buffull && (suma > (sensedata[dataptr] + MINJUMP))) {       // La caída de temperatura excedió el mínimo - apague     digitalWrite(ADEMÁS, BAJA);     dataptr = 0;                            // Reinicializar el búfer     buffull = 0;     retrasar(2000);                            // tiempo libre para LED     digitalWrite(ADEMÁS, ALTO);   }   otra cosa {     sensedata[dataptr] = suma;               // Almacena los últimos datos en el búfer     dataptr++;                              // Actualizar el puntero del búfer     si (dataptr == NUMSAMPLES) {            // Comprueba si dataptr pasó al final       dataptr = 0;                          // Restablece el dataptr al comienzo       buffull = 1;                          // Marca que el búfer está lleno     }   }
}



Diviértete jugando y probando :)

 

Für arduinoProjekte für anfänger

Deja un comentario

Todos los comentarios son moderados antes de ser publicados