martes, 19 de agosto de 2014

[Arduino] Arreglo en grupos de 3 LEDs y letras en acrílico

Para realizar el siguente proyecto me base en la imagen principal de el post. Con el objetivo de mostrar un rotulo llamativo utilizando diodos emisores de luz, y para hacerlo aun mas llamativo utilizando ademas Arduino para hacer un show secuencial de luces.

Comenzamos programando nuestro Arduino UNO, quise hacer algo un tanto diferente en la programación, pues vi algunos codigos en internet pero controlaban una a una las salidad y se volvia un código repetitivo y bastante extenso, asi que dispuse a hacer mi propio código.

La peculiaridad de este codigo es, que controla 3 arreglos que contienen 3 Leds cada uno, pero cada led esta controlado por una salida individual de Arduino.

Quedando así las conexiones:


El código tiene dos modalidades o dos tipos de show de luces, uno que es secuencial y otro en donde las letras se encienden y apagan de forma aleatoria.

En las funciones Onleds y OffLeds es donde controlamos que se enciendan y apaguen de 3 en 3 los leds como si fueran uno solo pero son controlados por sálidas individuales de el Arduino como anteriormente mencione.


int timer = 1000;     

void setup() {
  
  for (int thisPin = 2; thisPin <= 10; thisPin++) {
    pinMode(thisPin, OUTPUT);
  }
  
  

}

void loop() {
  

show1();


}



void show1(){  
  for (int Pin = 2; Pin <= 10; Pin++) {
  
      OnLeds(Pin);
      delay(timer);
      Pin=Pin+2;
      OnLeds(Pin);


  }

  for (int Pin = 10; Pin >= 2; Pin--) {
      
      OffLeds(Pin,1);
      delay(timer);
      Pin=Pin-2;
      OffLeds(Pin,1);
      

  }
  
  delay(timer);
  Todos(1);
  delay(1000);
  Todos(0);

}

void show2(){
  int arreglo[3]={2,5,8};
  int num;
  int iter;
  for (int Pin = 2; Pin <= 10; Pin++) {
      num=random(0,3);
      iter = arreglo[num];
      OnLeds(iter);
      delay(timer);
      Serial.print(iter);
      
      OffLeds(iter,2);
  }  

}

void OnLeds(int x){
    digitalWrite(x, HIGH);
    digitalWrite(x+1, HIGH);
    digitalWrite(x+2, HIGH);

}

void OffLeds(int x, int modo){
    if(modo==1){
    digitalWrite(x, LOW);
    digitalWrite(x-1, LOW);
    digitalWrite(x-2, LOW);
    }
    
    if(modo==2){
    digitalWrite(x, LOW);
    digitalWrite(x+1, LOW);
    digitalWrite(x+2, LOW);
    }

}

void Todos(int S){
   if(S==1){
       for (int thisPin = 2; thisPin < 11; thisPin++) {
          
        digitalWrite(thisPin, HIGH);
       }
   }
     if(S==0){
       for (int thisPin = 2; thisPin < 11; thisPin++) {
          
        digitalWrite(thisPin, LOW);
     }
   }
  } 
  
La instalacion de los leds y las letras fue hecha sobre una pequeña tabla de melanina.


La letras son de acrilico, por lo que al colocar los leds en la parte de abajo del acrilico se ve un efecto de iluminacion muy llamativo.

Al final las letras quedaron así:


El diseño con que fueorn cortadas las letras fue este:


Notese en la parte inferior de cada letra hay una base que es la que se utiliza para incrustarlas en la melanina.

El proyecto ya finalizado con el show secuencial de luces se mira asi:

 



Bonus pic, primero montando en el protoboard para pruebas.


Hasta la PROXYma.

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Best Web Host