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 






domingo, 14 de abril de 2013

Laboratorio 7 y 8

Diagrama Protoboard 



Diagrama esquemático





Foto Montaje 
















Código Arduino 

int data=11;
int clock=12;
int latch=8;
int pot1=A1;

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,12);
  byte datos=1 << pos;
 Serial.print(pos,DEC);
 Serial.print(" ");
 Serial.println(datos,BIN);
  digitalWrite(latch,LOW);
  shiftOut(data,clock,MSBFIRST,datos);
  digitalWrite(latch,HIGH);

  delay(100);   


}


Vídeo 



Laboratorio 6

Diagrama en protoboard



Diagrama esquematico





Foto Montaje














Codigo Arduino


int ledR = 3;
int ledG = 4;
int ledB = 5;

int valor;

void setup() {               
  pinMode(ledR, OUTPUT);
  pinMode(ledG, OUTPUT);
  pinMode(ledB, OUTPUT);
  Serial.begin(9600);

}
// the loop routine runs over and over again forever:
void loop() {


  //x = Serial.read();

  while (Serial.available() < 1);
  char letra = Serial.read();
  while (Serial.available() < 1);
  valor = 255-Serial.read();

  if (letra == 'r')
    analogWrite(ledR, valor);
  if (letra == 'g')
    analogWrite(ledG, valor);
  if (letra == 'b')
    analogWrite(ledB, valor); 

}

Vídeo Arduino





Código Proccesing


import controlP5.*;
import processing.serial.*;

ControlP5 cp5;
Serial puerto;

int valR = 128; 
int valG = 128; 
int valB = 128; 

void setup() {

  size(240, 500);
  noStroke();    

  cp5 = new ControlP5(this);

  Slider slideR =
    cp5.addSlider("R", 0, 255, 128, 15, 180, 50, 300);
  slideR.setColor( new CColor(
    0xFFAA0000, 0xFF550000, 0xFFFF0000,
    0xFFFFFFFF, 0xFFFFFFFF));
 
  Slider slideG =
    cp5.addSlider("G", 0, 255, 128, 95, 180, 50, 300);
  slideG.setColor( new CColor(
    0xFF00AA00, 0xFF005500, 0xFF00FF00,
    0xFFFFFFFF, 0xFFFFFFFF));
  Slider slideB =
    cp5.addSlider("B", 0, 255, 128, 175, 180, 50, 300);
  slideB.setColor( new CColor(
    0xFF0000AA, 0xFF000055, 0xFF0000FF,
    0xFFFFFFFF, 0xFFFFFFFF));
   
    String COM = Serial.list()[0];
    puerto = new Serial(this, COM, 9600);
}
void draw() 
{
  background(0xFF444444); 
  fill(valR, valG, valB); 
  rect(15, 15, 210, 150);
 

public void controlEvent(ControlEvent theEvent) {
 
  String nombre = theEvent.getController().getName();
  int valor = int(theEvent.getController().getValue());
  if (nombre == "R") {
     valR = valor;
      puerto.write('r');
      puerto.write(valR);     
  }
  if (nombre == "G") {
     valG = valor;
      puerto.write('g');
      puerto.write(valG);
  }
  if (nombre == "B") {
     valB = valor;
      puerto.write('b');
      puerto.write(valB);
  }
}


Vídeo Proccesing