LEDS CON SECUENCIA Y VELOCIDAD
Sumativa: BLOG DEL PROYECTO FINAL
![]() |
| Leds en secuencia |
En la práctica siguiente se procederá a realizar una conexión dando referencia a los leds, estos, gracias a ARDUINO van a poder estar en secuencia y tener una velocidad que será detallada posteriormente.
Materiales:
![]() |
| Materiales de trabajo |
- ARDUINO (junto con su cable)
- PROTOBOARD
- 8 LEDS
- Cables (Hembra/Hembra)
- RESISTENCIA DE 220 OHMIOS (ROJO ROJO CAFE/ Opcional)
- Potenciómetro
Como referencia fue usado la página web https://www.tinkercad.com/ para ayudar a una mejor eficiencia para el proyecto.
Los objetivos que se desea realizar son:
![]() |
| Objetivo alcanzado |
- Conectar como es debido el arduino con el protoboard junto con sus componentes (leds, potenciómetro)
- Establecer correctamente los códigos en la aplicación de arduino.
- Lo que se debe lograr en la programación es que los leds deben mostrar secuencialmente desde los extremos al centro y centro a los extremos con variación de velocidad usando un potenciometro.
Lo que primero se realizó fue establecer un prototipo de la conexión por medio de la página web Tinkercad para que resulte más fácil su conexión en físico y que no existe ningún altercado (cortos circuitos), y así se realizó.
PASOS DE LA CONEXIÓN FÍSICA Y PROGRAMACIÓN
- Como ya lo hemos visto anteriormente procedemos a hacer la conexión de los leds de forma paralela (Negativo con tierra, es decir, con el GND y positivos con los pines analógicos del arduino), es opcional agregarle resistencias al circuito.
- Realizar la respectiva conexión del potenciómetro Junto al arduino.
- Luego de que el circuito está listo pasamos a realizar la programación, para que se cumplan los objetivos establecidos anteriormente el código es:
//declaro las variables para los pines digitales que se usaran
int led2 = 2;
int led3 = 3;
int led4 = 4;
int led5 = 5;
int led6 = 6;
int led7 = 7;
int led8 = 8;
int led9 = 9;
//declaracion de variable del pin análogo que se usará
int potenciometro = A0;
//variable donde se almacenará el valor sensado del potenciometro
int valorPotenciometro = 0;
void setup() {
//pongo los pines digitales como salida
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
pinMode(led4, OUTPUT);
pinMode(led5, OUTPUT);
pinMode(led6, OUTPUT);
pinMode(led7, OUTPUT);
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
}
void loop() {
//realiza la lectura del valor del potenciometro y lo almacena en la variable
valorPotenciometro = analogRead(potenciometro);
//prendo los leds extremos y apago los internos
digitalWrite(led2, HIGH);
digitalWrite(led9, HIGH);
digitalWrite(led3, LOW);
digitalWrite(led8, LOW);
digitalWrite(led4, LOW);
digitalWrite(led7, LOW);
digitalWrite(led5, LOW);
digitalWrite(led6, LOW);
//espero tanto mili segundos segun el potenciometro marque
delay(valorPotenciometro * 2);
digitalWrite(led2, LOW); digitalWrite(led9, LOW); digitalWrite(led3, HIGH); digitalWrite(led8, HIGH); digitalWrite(led4, LOW); digitalWrite(led7, LOW); digitalWrite(led5, LOW); digitalWrite(led6, LOW); delay(valorPotenciometro*2);
digitalWrite(led2, LOW); digitalWrite(led9, LOW); digitalWrite(led3, LOW); digitalWrite(led8, LOW); digitalWrite(led4, HIGH); digitalWrite(led7, HIGH); digitalWrite(led5, LOW); digitalWrite(led6, LOW); delay(valorPotenciometro*2);
digitalWrite(led2, LOW); digitalWrite(led9, LOW); digitalWrite(led3, LOW); digitalWrite(led8, LOW); digitalWrite(led4, LOW); digitalWrite(led7, LOW); digitalWrite(led5, HIGH); digitalWrite(led6, HIGH); delay(valorPotenciometro*2);
////prendo los leds internos y apago los extremos digitalWrite(led2, LOW); digitalWrite(led9, LOW); digitalWrite(led3, LOW); digitalWrite(led8, LOW); digitalWrite(led4, LOW); digitalWrite(led7, LOW); digitalWrite(led5, HIGH); digitalWrite(led6, HIGH); //espero tanto mili segundos segun el potenciometro marque delay(valorPotenciometro * 2);
digitalWrite(led2, LOW); digitalWrite(led9, LOW); digitalWrite(led3, LOW); digitalWrite(led8, LOW); digitalWrite(led4, LOW); digitalWrite(led7, LOW); digitalWrite(led5, HIGH); digitalWrite(led6, HIGH); delay(valorPotenciometro*2);
digitalWrite(led2, LOW); digitalWrite(led9, LOW); digitalWrite(led3, LOW); digitalWrite(led8, LOW); digitalWrite(led4, HIGH); digitalWrite(led7, HIGH); digitalWrite(led5, LOW); digitalWrite(led6, LOW); delay(valorPotenciometro*2);
digitalWrite(led2, LOW);
digitalWrite(led9, LOW); digitalWrite(led3, HIGH); digitalWrite(led8, HIGH); digitalWrite(led4, LOW); digitalWrite(led7, LOW); digitalWrite(led5, LOW); digitalWrite(led6, LOW); delay(valorPotenciometro*2);
digitalWrite(led2, HIGH); digitalWrite(led9, HIGH); digitalWrite(led3, LOW); digitalWrite(led8, LOW); digitalWrite(led4, LOW); digitalWrite(led7, LOW); digitalWrite(led5, LOW); digitalWrite(led6, LOW); delay(valorPotenciometro*2); }
Todo este código ayudará a realizar leds con secuencia y velocidad.
5. Al final solo se sube el programa al arduino y se verifica su correcto funcionamiento
https://drive.google.com/file/d/0B2VPGDH15v7ZZ2MxSDZlY1FaWlk/view?usp=sharing
https://drive.google.com/file/d/0B2VPGDH15v7ZYklfazVvZHVlUDg/view?usp=sharing
https://drive.google.com/file/d/0B2VPGDH15v7ZSWRSR1JZZG5VTW8/view?usp=sharing
Los enlaces anteriores tratan de las diferentes velocidades en la que pueden ir los leds gracias al potenciómetro incluido (por alguna razón me es imposible subir estos vídeos al blog)
- ¿QUÉ DIFICULTADES TUVO?
La única dificultad que tuve fue programar ya que me confundí y hubo un poco de estrés pero estoy segura que con la práctica esto mejorará, resto con la práctica estuvo sencilla y no hubo mayor problema.
- CONCLUSIÓN
Arduino siendo un dispositivo te puede ayudar a diferentes aspectos de programación con su vasto y amplio alcance en proyectos electrónicos, te puede ayudar en lo que consideres necesario o necesites, este proyecto resulta muy entretenido y divertido, al observar el movimiento de las luces que uno mismo programó.



Comentarios
Publicar un comentario