
En anteriores proyectos ya hemos hecho uso de los timers y valores analogicos con Arduino en esta ocasión utilizaremos ambas propiedades para simular la iluminación que nos presentaría una luz de vela en un Led, obviamente el resultado no sera el mismo que el de una vela real, sin embargo, el motivo de esta practica es el de tomar valores analógicos con el fin de manipular componentes de salida.
Título del proyecto: Simulación de la luz de una vela Con Arduino y Led.
Objetivo: Emular el movimiento luminoso producido por la luz de una vela con la ayuda de una placa Arduino y un Led.
Explicación del proyecto: Se trata de simular el movimiento de la llama de una vela. Hacemos uso de la instrucción para generar un numero aleatorio que lo asignamos a una salida analógica PWM y otro numero que lo asociamos a la variable de temporización (tiempo que esperamos para cambiar el valor de la salida)
Nota 2: El proyecto puede ser replicado en cualquier modelo de placa Arduino, incluyendo las versiones genéricas.
Materiales necesarios (puedes comprarlos en nuestra tienda dando clic en los materiales de abajo):
- Un Arduino, se recomienda la placa Arduino Uno R3.
- 1 LED de 2 pines, el color puede ser al gusto del usuario.
- 1 resistencia de 220 ohms
- Protoboar (Solo en caso de que quieras conectar el led a un protoboard para evitar conectarlo directamente en el Arduino).
- Cables (solo aplica si se utiliza un protoboard).
Desarrollo de la programación:
A continuación podrás observar la programación utilizada para desarrollar este proyecto, cada linea de programación posee un texto que especifica la que función cumple.
int ledPin = 9; // selecciona el puerto PWM int val = 0; // define y pone a cero la variable "brillo" int delayval = 0; // define el intervalo de cambio de valor de salida void setup() { randomSeed(0); // inicializa el generador de números aleatorios pinMode(ledPin, OUTPUT); // declara el pin de SALIDA pin 9 } void loop() { val = random(100,255); // genera un número aleatorio entre 100 y 255 que asigna a la variable val analogWrite(ledPin, val); // envía ese valor a la salida pin 9 delayval = random(50,150); // genera un numero aleatorio entre 30 y 100 y lo asigna a la variable de temporización delay(delayval); // espera un tiempo delayval medido en milisegundos }
Nota importante: El led se conecta al pin 9 debido a que requerimos una salida PWM para poder realizar esta practica, debido a ello se necesita conectar en la patita positiva del led una resistencia de 220 ohms.
Circuito eléctrico de la practica:
A continuación puedes ver el circuito eléctrico de la practica, como podrás apreciar no presenta una gran rento en cuanto a conexiones eléctricas, de cualquier forma te lo dejamos para que lo analices.
El pin negativo del LED se encuentra conectado a la salida GND de arduino, mientras que el pin positivo del Led, se encuentra conectado a una resistencia de 220 ohms que posteriormente se conectara a la salida 9 PWM de la placa Arduino.
Conclusión y observaciones finales:
Aun que no lo parezca, en esta practica hemos utilizado la mayoría de sentencias utilizadas en otras practicas, utilizamos valores analógicos para alterar la iluminación del Led, además de ayudarnos de la fusión «delay» para realizar los cambios de iluminación en milisegundos, por último, utilizamos una salida PWM para obtener los datos necesarios.
Poco a poco vamos aumentando el grado de dificultad de las practicas.
Nombre del autor: Luis Antonio De La Cruz Reyes.
Rango en el Staff: Administrador y fundador
Descripción: Mi nombre es Luis, un egresado de la carrera de Ingeniería Electrónica, el motivo por el cual funde y cree esta página, fue para formar un sitio que recopilara todo lo que se va a prendiendo durante la carrera, con el fin de que este conocimiento no se perdiera y sea de utilidad para las futuras generaciones.
Deja una respuesta