Académique Documents
Professionnel Documents
Culture Documents
INTRODUCCION.
La memoria es la capacidad de adquirir, almacenar y recuperar
informacin. Sin memoria no podramos percibir, aprender o
pensar, no podramos expresar nuestras ideas ni tendramos
identidad personal, porque sin recuerdos sera imposible saber
quines somos y nuestra vida perdera sentido.
La memoria no es una realidad unitaria. La investigacin
demuestra que la memoria se compone de varios sistemas
interconectados con diferentes propsitos y los fallos de memoria
pueden producirse a diferentes niveles.
Procesos bsicos de la memoria
Tres procesos cognitivos fundamentales: la percepcin, el
aprendizaje y la memoria. Los seres humanos nos adaptamos al
mundo que nos rodea, construimos y renovamos nuestra
representacin del mundo a travs de estos tres procesos.
La memoria humana es una realidad fascinante y compleja. Es la
capacidad mental a la que ms esfuerzo exigimos, aunque a todos
nos ha traicionado alguna vez. Gracias a la memoria recuperamos
imgenes y escenarios del pasado, conservamos nuestras
experiencias y emociones y elaboramos nuestra historia personal
Podemos aprovechar al mximo la capacidad de nuestra memoria
tomando en cuenta algunos aspectos importantes que nos ayudan
a ejercitar nuestra memoria entre los cuales estn la preparacin
mental
La memoria no es un rgano que podamos ver, tocar o
radiografiar, La memoria es un almacn que guarda los recuerdos.
Un conjunto de capacidades que se pueden almacenar. La
memoria humana es una realidad fascinante y compleja. Es la
capacidad mental a la que ms esfuerzo exigimos, aunque a todos
nos ha traicionado alguna vez. Los juegos de memoria ejercitan
considerablemente aquellas partes del cerebro donde se almacena
nuestros recuerdos, especialmente la corteza central (memoria a
corto plazo) y el hipocampo (memoria a largo plazo) juego de
forma aleatoria va iluminando los cuadrantes de colores, y a la vez
que se ilumina cada cuadrante emite un sonido propio. Despus de
esperar, el usuario debe ir introduciendo la secuencia mostrada en
el orden correcto, ayudndose de su memoria visual y sonora. Si
lo consigue, ste responder con una secuencia ms larga, y as
sucesivamente. Si falla el juego en automtico deber reiniciarse
de tal manera que cada error significa regresar al nivel de juego
ms bsico y fcil
El concepto de comunidad de aprendizaje se puede definir como
un grupo de personas que aprende en comn, utilizando
herramientas comunes en un mismo entorno.
Este juego as tambin puede estimular la convivencia en
comunidad y el ejercicio de memoria colectivo.
OBJETIVOS
GENERAL.
Comprender e interpretar de manera clara la forma en que se lleva
a cabo el proceso de adquisicin de memoria, aportando al
proceso de adquisicin de memoria cierto grado de optimizacin
mediante la prctica del juego de memoria. As como demostrar y
proporcionar informacin comprobada del progreso que se
obtiene al fabricar juegos de memoria electrnicos e identificar las
ventajas que tiene el juego de memoria electrnico.
ESPECFICOS
Llevar a cabo de manera satisfactoria el proceso de fabricacin de
un juego electrnico que ponga a prueba la capacidad de memoria
de un humano.
Desarrollar nuevas habilidades y nuevos conocimientos
relacionados al tema al llevar a cabo este proyecto.
Emplear los conocimientos previamente adquiridos de manera
adecuada.
Aterrizar los elementos con que se cuenta en tiempo, forma y
circunstancias correctas.
.
ABSTRACT.
Memory is the ability to acquire, store and retrieve information.
Without memory we could not perceive, learn or think, we could
not express our ideas or personal identity would, because without
memories would not know who we are and our life would be
meaningless.
The memory is not a unitary reality. Research shows that memory
is composed of several interconnected with different purposes and
memory lapses can occur at different levels systems.
Basic memory processes
Three fundamental cognitive processes: perception, learning and
memory. Humans adapt ourselves to the world around us, build
and renew our representation of the world through these three
processes.
Human memory is a fascinating and complex reality. Is the mental
capacity that we require more effort, but everyone has betrayed us
once. Thanks to the memory recovered images and scenes from
the past, we keep our experiences and emotions, we make our
personal history
We can make the most of our memory capacity taking into
account some important aspects that help us exercise our memory
among which are the mental preparation
Memory is not an organ that we can see, touch or radiograph,
Memory is a warehouse that stores memories. A set of capabilities
PROYECTO INTEGRADOR
conseguirse a
electrnicos.
precios
muy
econmicos
muchos
juegos
PROYECTO INTEGRADOR
1 Resistencia de 1 K
4 Resistencias de 100 K
PROYECTO INTEGRADOR
la secuencia.
FUNCIONAMIENTO.
CODIGO ORIGINAL.
CODIGO EN C.
#include <LiquidCrystal.h>
// incluyo la libreria de la LCD con el 74hc595
LiquidCrystal lcd(13,12,11,14,15,16,17);
// le digo donde estan los pines data (DS), latch
(ST_CP) y clock (SH_CP)
int Leds[] ={6,7,8,9};
int Puls[]={2,3,4,5};
int altavoz=10;
int notas[]={1915,1700,1520,1440};
// cadena con las frecuencias de las notas
int notasFin[]={4000,4100,4200,4400};
// cadena con las frecuencias de las notas de fin
de juego
int numeroAleatorio=0;
// variable que almacena el numero aleatorio
int color=0;
// variable que almacena el numero aleatorio acotado entre 0
y3
int
serieLeds[]=
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0};
// cadena con los pins de los leds que forman la serie
int
seriePuls[]=
{0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0};
// cadena con los pins de los pulsadores que forman cada intento
int
serieNotas[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; // cadena con las frecuencias de las notas que forman la serie
int ini=0;
// variable que almacena la semilla del generador de numeros
aleatorios
int tiempo=200;
// variable que marca el ritmo al que se sucede la serie
int serie=1;
// variable que usamos como contador para la longitud de la
serie
int erroresMaximos = 3;
// variable que indica el numero maximo de errores que
se permiten por ronda
int t=0;
// variable que indica si es el comienzo de una ronda
int errores=0;
// variable que indica el numero de errores por cada ronda
int falloSecuencia=0;
// Indica si ha ocurrido algun fallo al introducir la
secuencia
int n=0;
// 3 variables usadas como contadores
int cont=0;
int m=0;
int temp=0;
// Variable temporal
void setup()
{
for (n=0;n<4;n++)
//Establece los pins a los que estan conectados los
pulsadores como entradas
pinMode(Puls[n], INPUT);
for (n=0;n<4;n++)
//Establece los pins a los que estan conectados los leds
como salidas
pinMode(Leds[n], OUTPUT);
for (n=0;n<4;n++)
//Establece los pins a los que estan conectados los 7
Segmentos como salidas
pinMode(altavoz, OUTPUT);
//Establece el pin al que esta conectado el zumbador
como salida
lcd.begin(16,2);
// Pongo el tamao del LCD (16 caracteres, 2 filas)
lcd.clear();
}
void demo()
//Ruleta de presentacion
{
for (n=0;n<4;n++)
{
if
((digitalRead(2)==HIGH)||(digitalRead(3)==HIGH)||(digitalRead(4)==HIGH)||
(digitalRead(5)==HIGH))
break;
digitalWrite(Leds[n],HIGH);
for(cont=0;cont<=100;cont++)
{
digitalWrite(altavoz,HIGH);
delayMicroseconds(notas[n]);
digitalWrite(altavoz, LOW);
delayMicroseconds(notas[n]);
}
digitalWrite(Leds[n],LOW);
delay(100);
}
}
int aleatorio(int datos)
{
return ((1664525*datos)%1023);
}
void serieAleatoria()
{
for(n=0;n<60;n++)
{
numeroAleatorio = aleatorio(numeroAleatorio);
//Generador de numeros aleatorios
color = abs(numeroAleatorio)%4;
//Acota los numeros aleatorios entre 0 y 3
incluidos
serieLeds[n] = Leds[color];
//Forma la serie de leds tomando las salidas digitales
de las posiciones en la cadena
serieNotas[n] = notas[color];
//Forma la serie de notas tomando las salidas digitales
de las posiciones en la cadena
}
}
void parpadeo()
//Provoca el parpadeo de los leds al pasar de ronda
{
for(n=0;n<4;n++)
digitalWrite(Leds[n],HIGH);
delay(100);
for(n=0;n<4;n++)
digitalWrite(Leds[n],LOW);
delay(100);
}
void fin()
// Toca las notas de fin, muestra en pantalla que has perdido
y reinicia el juego.
{
for (m=0; m<4; m++)
{
for(cont=0;cont<(tiempo/4);cont++)
{
digitalWrite(altavoz,HIGH);
delayMicroseconds(notasFin[m]);
digitalWrite(altavoz,LOW);
delayMicroseconds(notasFin[m]);
}
delay(100);
}
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Has perdido.");
lcd.setCursor(0,1);
lcd.print("Prueba otra vez.");
delay(2000);
serie=1;
t=0;
errores=0;
}
void fallo()
// aade un fallo y toca la nota
{
errores++;
delay(100);
for(cont=0;cont<(tiempo/2);cont++)
{
digitalWrite(altavoz,HIGH);
delayMicroseconds(notasFin[0]);
digitalWrite(altavoz,LOW);
delayMicroseconds(notasFin[0]);
}
/*
if(erroresMaximos < 3){
lcd.clear();
lcd.setCursor(1,0);
lcd.print("Has fallado.");
lcd.setCursor(1,1);
lcd.print("Vuelve a probar.");
delay(2000);
}
*/
}
void juego()
// Lo que hace que funcione todo.
{
if(t==0)
//Si es el comienzo de una ronda
{
delay(300);
while((digitalRead(2)==LOW)&&(digitalRead(3)==LOW)&&(digitalRead(4)==LOW)&&(digitalRe
ad(5)==LOW)) // Espera a que se pulse alguno
{
ini++;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Presentacion");
lcd.setCursor(0,1);
lcd.print("Pulsa un boton.");
demo();
//Pone en marcha la ruleta de presentacion
}
//En cuanto se pulsa algun pulsador:
numeroAleatorio = aleatorio(ini);
//Genera el primer numero aleatorio a partir de la
semilla
serieAleatoria();
//Produce la serie aleatoria
}
delay(500);
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Turno de Arduino");
for(n=0;n<serie;n++)
{
digitalWrite(serieLeds[n],HIGH);
// Enciende el led
for(cont=0;cont<(tiempo/2);cont++)
// Da la nota
{
digitalWrite(altavoz,HIGH);
// Envia un pulso al pin del zumbador con la frecuencia
guardada
delayMicroseconds(serieNotas[n]);
// en la posicion correspondiente de la cadena
digitalWrite(altavoz,LOW);
delayMicroseconds(serieNotas[n]);
}
digitalWrite(serieLeds[n],LOW);
//Apaga el led
delay(tiempo);
//Espera un poco a que se ilumine el siguiente
}
t++;
//Para distinguir, con t=0, el comienzo de cada ronda de 10 series
for(m=0;m<5;m++)
parpadeo();
}
void guardaPuls()
{
falloSecuencia=0;
for(m=0;m<serie;m++)
{
while((digitalRead(2)==LOW)&&(digitalRead(3)==LOW)&&(digitalRead(4)==LOW)&&(digitalRe
ad(5)==LOW)) // Esperando que se pulse
delay(10);
for(n=0;n<4;n++)
if(digitalRead(Puls[n])==HIGH)
// Al pulsar, se ilumina el led y suena la nota
{
digitalWrite(Leds[n],HIGH);
for(cont=0;cont<(tiempo/2);cont++)
{
digitalWrite(altavoz,HIGH);
delayMicroseconds(notas[n]);
digitalWrite(altavoz,LOW);
delayMicroseconds(notas[n]);
}
digitalWrite(Leds[n],LOW);
seriePuls[m]=Puls[n]+4;
// Traduccion de pulsador a led
delay(10);
}
if(seriePuls[m]!=serieLeds[m])
// Si hemos pulsado el correcto
{
fallo();
falloSecuencia=1;
break;
}
}
}
void loop()
{
juego();
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Tu turno");
lcd.setCursor(0,1);
lcd.print("Errores:");
lcd.setCursor(9,1);
lcd.print("errores");
guardaPuls();
if (errores < erroresMaximos && falloSecuencia==0)
{
serie++;
lcd.clear();
lcd.setCursor(0,0);
lcd.print("Ronda:");
lcd.setCursor(7,0);
lcd.print(serie);
errores=0;
lcd.setCursor(0,1);
lcd.print("Errores:");
lcd.setCursor(9,1);
lcd.print(errores);
for(m=0;m<5;m++)
parpadeo();
}
if (errores >= erroresMaximos)
fin();
delay(500);
}