Sei sulla pagina 1di 6

INFORME PROYECTO FINAL

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

MAESTRA MARTHA TELLO

JUAN DAVID RODRIGUEZ ROA

HORACIO CHACON

DANNA RAMIREZ
PÁGINA 1
PROBLEMA PLANTEADO

Debe programarse una placa Arduino para utilizar un sensor de color RGB y determinar en
una interfaz gráfica el color que reconoce el sensor, y de manera independiente debe haber
tres leds rojo, azul y verde y puedan prenderse y apagarse desde la misma interfaz gráfica;
para el modo automático tenemos el sensor de color y en el manual tenemos los leds.

Solución al problema

Para resolver este problema lo primero que se hizo fue conectar el sensor de color a la placa
Arduino Uno, esta fue configurada de la siguiente manera:

1. S0
2. S1
3. S2
4. S3
5. OUT
6. Led rojo
7. Led azul
8. Led verde
VCC 5V
GND

Después procedimos a configurar la placa desde el pc en la aplicación Arduino a continuación


veremos el código que utilizamos para resolver cada problema planteado anteriormente:

1. SENSORES DE COLOR

const int s0 = 1; pinMode(s0,OUTPUT);

const int s1 = 2; pinMode(s1,OUTPUT);

const int s2 = 3; pinMode(s2,OUTPUT);

const int s3 = 4; pinMode(s3,OUTPUT);

const int out = 5; pinMode(out,INPUT);

int rojo = 0; digitalWrite(s0,HIGH);

int verde = 0; digitalWrite(s1,HIGH);

int azul = 0; }

void setup(){ void loop(){

Serial.begin(9600); color();

PÁGINA 2
Serial.print(" "); } else{

Serial.print(rojo, DEC); Serial.write(0);

Serial.print(" "); }delay(900);

Serial.print(verde, DEC); }void color()

Serial.print(" "); {

Serial.print(azul, DEC); digitalWrite(s2, LOW);

digitalWrite(s3, LOW);

if (rojo < azul && verde > azul && rojo rojo = pulseIn(out, digitalRead(out) ==
< 35) HIGH ? LOW : HIGH);

{ Serial.write(1); digitalWrite(s3, HIGH);

}else if (azul < rojo && azul < verde && azul = pulseIn(out, digitalRead(out) ==
verde < rojo) HIGH ? LOW : HIGH);

{ Serial.write(2); digitalWrite(s2, HIGH);

} else if (rojo > verde && azul > verde ) verde = pulseIn(out, digitalRead(out) ==
HIGH ? LOW : HIGH);
{ Serial.write(3);
}

De esta manera podemos utilizar en Java las salidas de estos datos para determinar qué color
es, para este caso rojo=1, azul=2, verde=3.

2. LEDS

Para el problema de los leds es simple, solo tomamos los tres pines donde están conectados y
escribimos el código determinando las acciones de acuerdo a los leds que se ordenen
encender desde la interfaz gráfica:

Int led1 =5; Debemos determiner una variable en


donde vamos a recibir un dato desde la
Int led2 =6; interfaz grafica, para mi solucion utilice
los valores del (1 - 9), donde 4 es la acción
Int led3 =7; para apagar todos los leds que estén
Void setup(){ prendidos.

Serial.begin(9600); if(valor > 0){

pinMode(led1,OUTPUT); if(valor == '1'){

pinMode(led2,OUTPUT); digitalWrite(led1, HIGH);

pinMode(led3,OUTPUT); tone(sonido, 261, 100);

} delay(500);

PÁGINA 3
}else if(valor == '2'){ }else if(valor == '8'){

digitalWrite(led2, HIGH); digitalWrite(led1, HIGH);

tone(sonido, 293, 100); digitalWrite(led2, HIGH);

delay(500); digitalWrite(led3, HIGH);

}else if(valor == '3'){ tone(sonido, 493, 100);

digitalWrite(led3, HIGH); delay(500);

tone(sonido, 329, 100); }else if(valor == '4'){

delay(500); digitalWrite(led1, LOW);

}else if(valor == '5'){ digitalWrite(led2, LOW);

digitalWrite(led1, HIGH); digitalWrite(led3, LOW);

digitalWrite(led2, HIGH); }else if(valor == '9'){

tone(sonido, 349, 100); digitalWrite(led1, LOW);

delay(500); digitalWrite(led2, LOW);

}else if(valor == '6'){ digitalWrite(led3, LOW);

digitalWrite(led1, HIGH); tone(sonido, 261, 100);

digitalWrite(led3, HIGH); delay(300);

tone(sonido, 392, 100); tone(sonido, 261, 100);

delay(500); delay(300);

}else if(valor == '7'){ tone(sonido, 261, 100);

digitalWrite(led2, HIGH); delay(300);

digitalWrite(led3, HIGH); }

tone(sonido, 440, 100); }

delay(500); }

PÁGINA 4
Ya finalmente con este código podremos ejecutar funciones de los dispositivos desde una
interfaz gráfica en la computadora.

DIAGRAMA ESQUEMATICO

Al no encontrar un simulador que simulara Arduino, encontré esta imagen de una manera en
la que podría conectarse los leds y el sensor, en nuestro ejemplo los conectamos desde el pin 0
hasta el pin 7.

Potrebbero piacerti anche