Mini proyecto: Controlando Luces con Arduino

UNIDAD EDUCATIVA PARTICULAR “POLITÉCNICO”SEGUNDO AÑO DE BACHILLERATO – ¨C¨ Cambridge
Nombre: EMILY CORTEZ Y LAURA MAYO. Fecha: 27/06/2019

Mini Proyecto 2 Estudiantes


MATERIALES DE TRABAJO:
  • 1 PROTOBOARD
  • 1 ARDUINO
  • 1 POTENCIÓMETRO
  • 1 FOTO RESISTOR
  • 2 PULSADORES
  • 8 LEDS
  • 8 RESISTENCIA 220 O 330 OHMIOS
  • CABLES MACHO - MACHO
Para realizar el siguiente proyecto usando los materiales anteriormente mencionados realizaremos el circuito desarrollado a continuación:


Entre los primeros y principales pasos se encuentra la conexión de los leds que es uno de los más fáciles. Para comenzar, iniciamos conectando los leds que vayamos a utilizar (en este caso usamos 8 leds), y a cada uno le agregamos su respectiva resistencia de 220 ohmios. Recomendación: antes de realizar la conexión de todos los leds, debimos asegurarnos de que cada uno funcionaba correctamente, ya que en lo contrario, si no funcionaba, podría haber afectado nuestras conexiones y el circuito puede no encender.

Luego de la conexión de leds y sus resistencias, conectamos el resto de componentes: un potenciómetro, los pulsadores a botoneras junto con sus resistencias y la fotocelda. Tras finalizar la conexion de los componentes tal y como se ven en la imagen, comenzamos lo más difícil, o en otraspalabras lo que requiere muchísima más atención y cautela a la hora de ser conectados: LOS CABLES MACHO MACHO y el arduino.

Estos dos componentes son muy importantes, ya que si realizas mal una conexión, al momento de programar el circuito puede funcionar diferente a como querias o simplemente no funcionar. Para este paso, realizamos junto a Laura las respectivas conexiones cuidando no equivocarnos en alguna siguiendo la imagen del modelo del circuito propuesto. La mayoría de leds se conectaban al arduino desde los pines de entrada digital, pero no directamente, si no que tuvimos que percatarnos que los cables esten conectados en la misma columna de pines donde terminaba la resistencia de cada led en el protoboard y ahi conectabamos al arduino.

Luego de finalizar las respectivas conexiones, podiamos comezar con la programación. Gracias a que el profesor nos habia ayudado desarrollando el codigo, se nos hizo mucho mas facil descargarlo y, usando la aplicacion ARDUINO, pudimos conectar nuestro arduino a la computadora y subirlo sin ningun problema.

CODIGO:

//Variables Globales
//Pines Digitales
//Leds
int led1 = 1;
int led2 = 2;
int led3 = 3;
int led4 = 4;
int led5 = 5;
int led6 = 6;
int led7 = 7;
int led8 = 8;

//Pulsadores
int pulsador1 = 9;
int pulsador2 = 10;

//Pines Analógicos
//Potenciómetro y Foto Celda
int potenciometro = A0;
int foto_celda = A1;

//Variable donde se almacenará el valor sensado del potenciometro
int valorPotenciometro;
int valorFotoCelda;
int valorPulsador1;
int valorPulsador2;

//Para secuencia o barrido de los leds
int secuencia = 0;

void setup() {
  //pongo los leds como salida
  pinMode(led1, OUTPUT);
  pinMode(led2, OUTPUT);
  pinMode(led3, OUTPUT);
  pinMode(led4, OUTPUT);
  pinMode(led5, OUTPUT);
  pinMode(led6, OUTPUT);
  pinMode(led7, OUTPUT);
  pinMode(led8, OUTPUT);

  //pongo los pulsadores en entrada
  pinMode(pulsador1, INPUT);
  pinMode(pulsador2, INPUT);
}

void loop() {
  //realiza la lectura del valor del potenciometro y lo almacena en la variable
  valorPotenciometro = analogRead(potenciometro);
  valorPulsador1 = digitalRead(pulsador1);
  
  //Encendemos o apagamos el pin del LED según convenga
  if (valorPulsador1 == HIGH) {
      secuencia = 1;
  }
  
  if (secuencia == 0) {
    digitalWrite(led1, HIGH);
    digitalWrite(led2, HIGH);
    digitalWrite(led3, HIGH);
    digitalWrite(led4, HIGH);
    digitalWrite(led5, HIGH);
    digitalWrite(led6, HIGH);
    digitalWrite(led7, HIGH);
    digitalWrite(led8, HIGH);
    
    //espero tanto mili segundos segun el potenciometro marque
    delay(valorPotenciometro * 2);
    
    digitalWrite(led1, LOW);
    digitalWrite(led2, LOW);
    digitalWrite(led3, LOW);
    digitalWrite(led4, LOW);
    digitalWrite(led5, LOW);
    digitalWrite(led6, LOW);
    digitalWrite(led7, LOW);
    digitalWrite(led8, LOW);
  
    //espero tanto mili segundos segun el potenciometro marque
    delay(valorPotenciometro * 2);
  } else {
    if (secuencia == 1) {
      digitalWrite(led1, HIGH);
      digitalWrite(led2, LOW);
      digitalWrite(led3, HIGH);
      digitalWrite(led4, LOW);
      digitalWrite(led5, HIGH);
      digitalWrite(led6, LOW);
      digitalWrite(led7, HIGH);
      digitalWrite(led8, LOW);
    
      //espero tanto mili segundos segun el potenciometro marque
      delay(valorPotenciometro * 2);
      
      digitalWrite(led1, LOW);
      digitalWrite(led2, HIGH);
      digitalWrite(led3, LOW);
      digitalWrite(led4, HIGH);
      digitalWrite(led5, LOW);
      digitalWrite(led6, HIGH);
      digitalWrite(led7, LOW);
      digitalWrite(led8, HIGH);
    
      //espero tanto mili segundos segun el potenciometro marque
      delay(valorPotenciometro * 2);
    } else {
      if (secuencia == 2) {
        //aqui otra condición
      }
    }
  }
}

El inconveniente principal con este codigo era el hecho que el pulsador no habia sido programado y nosotras como equipo no sabiamos como desarrollar el codigo o configurarlo para las conexiones que ibamos a realizar. 

Circuito en funcionamiento.

Videos: 


Comentarios

Entradas populares de este blog

ARDUINO + LEDS PRENDIDO EN SECUENCIA + POTENCIÓMETRO REGULANDO VELOCIDAD

PRÁCTICA: MENSAJES POR DISPLAY LCD

PRÁCTICA 1 :EN SERIE Y PARALELO