Sumativa de Programación

Unidad Educativa Particular Politécnico 
Sumativa - Programación 
       Nombre: Danna Solís    Curso: Primero Bachillerato "Johns Hopknis"   Fecha: 18/08/2017


       En este circuito necestimos la conexión de 8 leds, que se prendan simultáneamente de manera 
       desde los extremos hacia al centro y usamos el potenciometro para poder controlar el tiempo.

    
       MATERIALES:
  • Protoboard
  • 8 Leds
  • Arduino Uno R3 
  • Potenciometro 
  • 8 Resistencias de 220 ohmios o cualquiera
  • Cables macho - Macho
    

      A continuación se explicara la conexión física: 


  •  Conectar un cable macho-macho en el pin GND  del Arduino en la parte negativa  del protoboard.
  • Conectar 8 leds en el protoboard, su pata negativa quede en el lado izquierdo y la otra pata positiva en el lado derecho.
  • Conectar resistores del lado positivo de cada led.
  • Conectar los pines digitales con los 8 leds, cada uno tiene un pin digital diferente. (pines 2 al 9) 
  • Para finalizar la conexión debe ser colocadoel potenciómetro en el protoboard. Su pata derecha debe de ir conectada al pin "5V" del Arduino,la pata de izquierda debe ir conectado a la corriente negativa del protoboard y la pata del centro debe ir conectada al pin analógico "A0" del Arduino.



Leds                                                                            Arduino Uno R3


Forma de programación: 
  • Abrir programa del Arduino
  • Programación de los leds; Dar nombre a todas las variables a utilizar: int led x= y (x= cualquier variable) (y= nombre del pin de salida al que el componente se encuentra conectado)
Ejemplo:  
  • int led = 2;
  • int led1 = 3;
  • int led2 = 4;
  • int led3 = 5;
  • int led4 = 6;
  • int led5 = 7;
  • int led6 = 8;
  • int led7 = 9;
En esta parte se programa el potenciómetro , se realiza de la misma manera que se hizo con los leds, pero en este se realizan dos:
  • int potenciometro = A0;
  • int valorDelPotenciometro;
Una vez hecho lo de la parte de arriba se le debe de indicar al Led qué estado inicial debe de tener, siempre debe ser "OUTPUT" porque se encendera desde afuera hacia adentro.  
  • // the setup routine runs once when you press reset:
  • void setup() {
  •   // initialize the digital pin as an output.
  •   pinMode(led, OUTPUT);
  •   pinMode(led1, OUTPUT);
  •   pinMode(led2, OUTPUT);
  •   pinMode(led3, OUTPUT);
  •     pinMode(led4, OUTPUT);
  •   pinMode(led5, OUTPUT);
  •   pinMode(led6, OUTPUT);
  •   pinMode(led7, OUTPUT);
  • }
En esta parte se debe de poner el valor del potenciómetro para que se defina el tiempo de cada secuencia
  • // the loop routine runs over and over again forever:
  • void loop() {
  •   valorDelPotenciometro = analogRead(potenciometro);
Hay que poner: digitalWrite(LOW/HIGH)
LOW es para que el led se encuentre apagado y HIGH para que el led se encienda.
  •   digitalWrite(led, HIGH);
  •   digitalWrite(led7, HIGH);
  •   digitalWrite(led1, LOW);
  •   digitalWrite(led6, LOW);
  •    digitalWrite(led2, LOW);
  •   digitalWrite(led5, LOW);
  •   digitalWrite(led3, LOW);
  •   digitalWrite(led4, LOW);
  •   delay(valorDelPotenciometro);
La ultima parte es para definir cuanto dura la acción


El "led 7" y el "led2" deben ser los únicos en prenderse
  •   digitalWrite(led, LOW);
  •   digitalWrite(led7, LOW);
  •   digitalWrite(led1, HIGH);
  •   digitalWrite(led6, HIGH);
  •    digitalWrite(led2, LOW);
  •   digitalWrite(led5, LOW);
  •   digitalWrite(led3, LOW);
  •   digitalWrite(led4, LOW);
  •   delay(valorDelPotenciometro);
Una vez que llegue hasta esta parte se seguira repitiendo sucesivamente con los leds
  •     digitalWrite(led, LOW);
  •   digitalWrite(led7, LOW);
  •   digitalWrite(led1, LOW);
  •   digitalWrite(led6, LOW);
  •    digitalWrite(led2, HIGH);
  •   digitalWrite(led5, HIGH);
  •   digitalWrite(led3, LOW);
  •   digitalWrite(led4, LOW);
  •   delay(valorDelPotenciometro);
Ahore se llegará al centro para que se vayan apagando y prendiendo en regreso
  •       digitalWrite(led, LOW);
  •   digitalWrite(led7, LOW);
  •   digitalWrite(led1, LOW);
  •   digitalWrite(led6, LOW);
  •    digitalWrite(led2, LOW);
  •   digitalWrite(led5, LOW);
  •   digitalWrite(led3, HIGH);
  •   digitalWrite(led4, HIGH);
  •   delay(valorDelPotenciometro);

  •   digitalWrite(led, LOW);
  •   digitalWrite(led7, LOW);
  •   digitalWrite(led1, LOW);
  •   digitalWrite(led6, LOW);
  •    digitalWrite(led2, HIGH);
  •   digitalWrite(led5, HIGH);
  •   digitalWrite(led3, LOW);
  •   digitalWrite(led4, LOW);
  •   delay(valorDelPotenciometro);

  •   digitalWrite(led, LOW);
  •   digitalWrite(led7, LOW);
  •   digitalWrite(led1, HIGH);
  •   digitalWrite(led6, HIGH);
  •    digitalWrite(led2, LOW);
  •   digitalWrite(led5, LOW);
  •   digitalWrite(led3, LOW);
  •   digitalWrite(led4, LOW);
  •   delay(valorDelPotenciometro);
  •   }
Qué complicaciones tuvo?
Al momento de programar tuve complicaciones en la parte del código para que los leds se enciendan y apaguen, tuve que volverlo a hacer como 3 veces. Otra dificultad que tuve fue en la práctica física ya que algunos leds no encendian y tuve que cambiar 2 veces el lado del protoboard hasta que me salió.

Conclusiones: 
En conclusión antes de comenzar lo mejor para uno mismo es, ultilizar una app para primero hacer simuladores como "tinkercad" para que uno practique hasta que uno mismo ya sabe y poder hacerlo fisicamente. Lo mejor es que al momento que uno este conectando cable o cualquier objeto se lo revise si sirve y tambien si esta bien ubicado en el lugar indicado.



Y asi fue como quedo




Comentarios

Entradas populares de este blog

Practica #2 CIRCUITO MIXTO - SERIE Y PARALELO