Como funciona?
A través de una resistencia que varia su valor dependiendo de la luz recibida, aprovecharemos dicha variación para hacer un programa que encienda o apague una serie de LED dependiendo de si hay más luz o menos luz,
Material necesario para este proyecto:
1 x Arduino Uno
1 x Protoboard
1 x LDR(Resistencia de luz)
1 x Potenciómetro 10kΩ
5 x Diodos LED
5 x Resistencias 220Ω
1 x Resistencia 1KΩ
1 x Cables
1 x Transformador
Esquema del circuito Eléctrico
Conexión en la protoboard
Programación
//Aquí almacenamos los datos recogidos del LDR:
int valorLDR = 0;
//Decimos que pines vamos a utilizar para LED
int pinLed1 = 12;
int pinLed2 = 11;
int pinLed3 = 10;
int pinLed4 = 9;
int pinLed5 = 8;
//Y que pin para la LDR
int pinLDR = 0;
void setup()
{
//Establecemos como salida los pines para LED
pinMode(pinLed1, OUTPUT);
pinMode(pinLed2, OUTPUT);
pinMode(pinLed3, OUTPUT);
pinMode(pinLed4, OUTPUT);
pinMode(pinLed5, OUTPUT);
//Le decimos que vamos a usar una referencia externa
analogReference(EXTERNAL);
}
void loop()
{
//Guardamos el valor leido en una variable
valorLDR = analogRead(pinLDR);
//Y comenzamos las comparaciones:
if(valorLDR >= 1023)
{
digitalWrite(pinLed1, LOW);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
digitalWrite(pinLed4, LOW);
digitalWrite(pinLed5, LOW);
}
else if((valorLDR >= 823) & (valorLDR < 1023))
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, LOW);
digitalWrite(pinLed3, LOW);
digitalWrite(pinLed4, LOW);
digitalWrite(pinLed5, LOW);
}
else if((valorLDR >= 623) & (valorLDR < 823))
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, LOW);
digitalWrite(pinLed4, LOW);
digitalWrite(pinLed5, LOW);
}
else if((valorLDR >= 423) & (valorLDR < 623))
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, LOW);
digitalWrite(pinLed5, LOW);
}
else if((valorLDR >= 223) & (valorLDR < 423))
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, HIGH);
digitalWrite(pinLed5, LOW);
}
else
{
digitalWrite(pinLed1, HIGH);
digitalWrite(pinLed2, HIGH);
digitalWrite(pinLed3, HIGH);
digitalWrite(pinLed4, HIGH);
digitalWrite(pinLed5, HIGH);
}
}
En el programa se lee el valor del sensor
Si el valor es mayor o igual a 1023 no se activa ninguna salida
Si el valor es mayor o igual a 823 se activa una salida
Si el valor es mayor o igual a 623 se activan dos salidas
Si el valor es mayor o igual a 423 se activan tres salidas
Si el valor es mayor o igual a 223 se activan las 4 salidas
Aqui se realizo primero con leds, según el sensor detecte proximidad se empezaran a encender los led
una vez funcionando solo es cuestión de quitar los leds y poner el transformador
básicamente simularíamos las maquinitas de toques, donde los leds serian el regulador(potencio metro) y el transformador para dar una descarga fuerte
Aqui un diagrama no muy complejo
Ejemplo del funcionamiento en arduino
Aportación al proyecto
En esta parte se siguen incorporando mas mapas ya que se a tenido muchos problemas en la carga del juego ya que aveces no detecta las rutas de las imágenes aunque estén en la misma carpeta
también se están descargando mas sprites y personajes
Para la interacción con el jugador
Con los compañeros ya se acordó que se hiciera un movimiento random de los personajes y que al acercarse a ellos se pueda interactuar
7 por la tarea, 6 extra por el hardware
ResponderEliminar