jueves, 6 de junio de 2013

Sensor de luz "Final"



Diagrama protoboard 








Diagrama esquemático 



Foto montaje 











Código Arduino 


loat RGB[3];
int ldrPin = 0;    
int ambientLight; 
int redLed   = 11;  
int greenLed = 10; 
int blueLed  = 9;  
void setup(){
  pinMode(redLed,OUTPUT); 
  pinMode(greenLed,OUTPUT);
  pinMode(blueLed,OUTPUT); 
 
  // set all the outputs to low
  digitalWrite(redLed,LOW);
  digitalWrite(greenLed,LOW);
  digitalWrite(blueLed,LOW);
}
void loop(){
  for (float x=0;x<PI;x=x+0.00001){
    RGB[0]=255*abs(sin(x*(180/PI)));           
    RGB[1]=255*abs(sin((x+PI/3)*(180/PI)));    
    RGB[2]=255*abs(sin((x+(2*PI)/3)*(180/PI)));
    ambientLight=analogRead(ldrPin); 
     
      analogWrite(redLed,RGB[0]);
      analogWrite(greenLed,RGB[1]);
      analogWrite(blueLed,RGB[2]);
    }
    else{
      digitalWrite(redLed,LOW);
      digitalWrite(greenLed,LOW);
      digitalWrite(blueLed,LOW);
    }
    for(int i=0;i<3;i++){
      if(RGB[i]<1){
        delay(100);
      }
      if(RGB[i]<5){
        delay(50);
      }
      if(RGB[i]<10){
        delay(10);
      }
      if(RGB[i]<100){
        delay(5);
      }
    }
    delay(1);
  }
}
 



Vídeo 



// por ausencia de oscuridad en el laboratorio los led no se apagaban del todo 


Laboratorio 9


Diagrama Protoboard






Diagrama esquematico







Foto Montaje














Código Arduino

int data=11;
int clock=12;
int latch=8;
int pot1=A0;
//byte x,y;
int DP=1;
int A=2;
int B=4;
int C=8;
int D=16;
int E=32;
int F=64;
int G=128;


void setup()
{
  pinMode(pot1,INPUT);
  pinMode(data,OUTPUT);
  pinMode(clock,OUTPUT);
  pinMode(latch,OUTPUT);
  Serial.begin(9600);
}

void loop()
{
  int t1=analogRead(pot1);
  int pos=map(t1,0,1023,0,11);
  


  if(pos == 1)
  {
    proceso(B);
    proceso(C);
   }
  else if(pos==2)
  {
     proceso(A);
     proceso(B);
     proceso(G);
     proceso(E);
     proceso(D); 
  }
    else if(pos==3)
  {
     proceso(A);
     proceso(B);
     proceso(C);
     proceso(D);
     proceso(G);
  }
    else if(pos==4)
  {
     proceso(F);
     proceso(G);
     proceso(B);
     proceso(C); 
  }
    else if(pos==5)
  {
     proceso(A);
     proceso(F);
     proceso(G);
     proceso(C);
     proceso(D); 
  }
    else if(pos==6)
  {
     proceso(A);
     proceso(F);
     proceso(E);
     proceso(D);
     proceso(C);
     proceso(G); 
  }
    else if(pos==7)
  {
     proceso(A);
     proceso(B);
     proceso(C); 
  }
    else if(pos==8)
  {
     proceso(A);
     proceso(C);
     proceso(B);
     proceso(D);
     proceso(E);
     proceso(F);
     proceso(G); 
  }
    else if(pos==9)
  {
     proceso(A);
     proceso(C);
     proceso(B);
     proceso(F);
     proceso(G); 
  }
    else if(pos==0)
  {
     proceso(A);
     proceso(B);
     proceso(C);
     proceso(D);
     proceso(E);
     proceso(F); 
  }
  else
      {
        proceso(DP);
      }
    
    
    

}

void proceso(int x)
{
        digitalWrite(latch,LOW);
    shiftOut(data,clock,MSBFIRST,x);
    digitalWrite(latch,HIGH);
  
}



Vídeo