Documentos de Académico
Documentos de Profesional
Documentos de Cultura
NRC: 3007
INTEGRANTES:
Muñoz Richard
Rubio Rodrigo
Silva Carlos
2018-2019
Contenido
Objetivos:................................................................................................................................3
Objetivo General.....................................................................................................................3
Objetivos Específicos...............................................................................................................3
Introducción:...........................................................................................................................3
Materiales:..............................................................................................................................3
Marco teórico..........................................................................................................................4
Redes neuronales................................................................................................................4
Perceptrón..........................................................................................................................6
Neural Network/Data Manager en Matlab (nntool)..........................................................7
Procedimiento.........................................................................................................................8
Análisis de resultados...........................................................................................................17
Conclusiones.........................................................................................................................21
Recomendaciones.................................................................................................................21
Bibliografía............................................................................................................................21
Anexos...................................................................................................................................22
Objetivos:
Objetivo General
Implementar una compuerta NAND mediante Matlab y arduino
Objetivos Específicos
Usar software para el entrenamiento de un perceptrón.
Implementar el perceptrón usando arduino.
Introducción:
Se desea realizar la implementación de una compuerta NAND, usando para ellos una
Tarjeta Arduino que permita la programación de la salida de la neurona, teniendo como
entradas la lectura de dos canales analógicos en este caso dos sensores (LDR) y
presentado la respuesta en un led, como activación del perceptrón.
Materiales:
Equipos:
Redes neuronales
Así, las RNA son sistemas adaptativos que aprenden de la experiencia, esto es,
aprenden a llevar a cabo ciertas tareas mediante un entrenamiento con ejemplos
ilustrativos. Mediante este entrenamiento o aprendizaje, las RNA crean su propia
representación interna del problema, por tal motivo se dice que son autoorganizadas.
Posteriormente, pueden responder adecuadamente cuando se les presentan
situaciones a las que no habían sido expuestas anteriormente, es decir, las RNA son
capaces de generalizar de casos anteriores a casos nuevos. Esta característica es
fundamental ya que permite a la red responder correctamente no sólo ante
informaciones novedosas, sino también ante informaciones distorsionadas o
incompletas.
Las funciones de activación más comunes son las mostradas en la Figura , estas pueden
ser usadas para clasificar.
Perceptrón
Procedimiento
Compuerta NAND
Entradas Objetivo
0 0 1
0 1 1
1 0 1
1 1 0
La Figura 8 muestra el ingreso de las entradas en la matriz “entrada” y el
objetivo como el vector “objetivo”.
10. Diríjase a la pestaña de Train en la parte superior, esta pestaña nos permite
entrenar la red neuronal artificial, seleccionar la entrada (Input) y objetivo
(Tagets) y dar clic “Train Network” para entrenar la red, como se observa en la
Figura 15.
Figura 15 Pestaña Train
Código
double VLDR,VPOT;
double ValorLDR,ValorPOT;
double w1=-0.6,d3,w2=-0.6,b=1,salida;
int LedPin=3;
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
pinMode(3,OUTPUT);
void loop() {
VLDR=analogRead(A0);
ValorLDR=((VLDR/600)/1.71)/0.85;
VPOT=analogRead(A1);
ValorPOT=((VPOT/600)/1.71)/0.85;
d3=((ValorLDR*w1)+(ValorPOT*w2)+b);
if(d3>=0)
{
salida=1;
digitalWrite(3,HIGH);
}
else
{
salida=0;
digitalWrite(3,LOW);
Serial.print(ValorLDR);Serial.print(",");Serial.print(ValorPOT);Seri
al.print(",");Serial.println(salida);
}
15. Implementar el circuito mostrado en la Figura 20.
Análisis de resultados
Compuerta NAND
Prueba 1
Los valores ingresados como entrada fueron:
Entrada uno: 0
Entrada dos: 0
Lo cual implica que la salida del sea 1 y el led este prendido
Compuerta NAND
Entrada Objetivo
s
0 0 1
Prueba 2
Los valores ingresados como entrada fueron:
Entrada uno: 0
Entrada dos: 1
Lo cual implica que la salida del sea 1 y el led este prendido
Compuerta NAND
Entrada Objetivo
s
0 1 1
Prueba 3
Los valores ingresados como entrada fueron:
Entrada uno: 1
Entrada dos: 0
Lo cual implica que la salida del sea 1 y el led este prendido
Compuerta NAND
Entrada Objetivo
s
1 0 1
Prueba 4
Los valores ingresados como entrada fueron:
Entrada uno: 1
Entrada dos: 1
Lo cual implica que la salida del sea 0 y el led este apagado
Compuerta NAND
Entrada Objetivo
s
1 1 0
Los valores ingresados como entrada 1 y la entrada 2 fueron valores que nos
fueron puestos en la entrada de la neurona cuando se la entreno por lo cual esta
trata de asimilar y dar una respuesta acorde a lo que aprendió.
Figura 27 Prueba 5 NAND
Conclusiones
Mediante la herramienta de redes neuronales de Matlab se obtiene los pesos y
el bias ,para le red neuronal puede funcionar de la forma que queremos la
salida implementar.
Se requiere escalar los valores analógicos de entrada de modo que puedan ser
usados en la función de obtención de salida, mediante la programación se tiene
que escalar de forma adecuada para tener una salida coherente.
La salida fue vizualizada mediante un LED, conectado a una salida digital que
mediante condiciones en base a los valores se ponía en HIGH si la salida es
mayor o igual a 0, caso contrario en LOW.
Recomendaciones
En sensores LDR tener un ambiente controlado donde la luz se contante en
todas partes para tener valores analógicos fáciles de escalar
Bibliografía
Avellano. (2016). Obtenido de http://avellano.usal.es/~lalonso/RNA/index.htm
Larrañaga, P., Inza, I., & Moujahid, A. (2017). Redes Neuronales.
MathWorks. (2017). Caja de herramientas de redes neuronales.
Montaño. (2016).
Anexos