SlideShare una empresa de Scribd logo
1 de 10
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
DOCUMENTO EXPOSICION SISTEMA DE INFERENCIA DIFUSO
MAMDANI
Adriana Marcela Romero Vargas
amromerov@libertadores.edu.co
Jairo Antonio Carreño Rodríguez
jacarrenor@libertadores.edu.co
CODIGO EN ARDIUNO DEL SISTEMA DE INFERENCIA MAMDANI BASADO EN UN CONTROL DE
TEMPERAARURA
float entrada; // Variable para la entrada
int referencia; // variable de referencia
float error; // variable del error
float av; //variable av
float frio; // variable de entrada de fuzificacíon
float tibio; // variable de entrada de fuzificacíon
float mediocaliente; // variable de entrada de fuzificacíon
float caliente; // variable de entrada de fuzificacíon
int salida; // variable salida
void setup() {
Serial.begin(9600); // Se inicia la comunicacion serial
}
void loop() {
entrada = analogRead(A0); // Lee el valor de entrada del pin A0 del puerto análogo
referencia=45; // valor de referencia
entrada=((entrada*500)/1023);
error=referencia-entrada; // calculo del error 45-valor leído pin A0
av=abs(error); // av es el valor absoluto del error
// Se describen cada uno de los conjuntos difusos de entrada
if (av<=20){
frio=1;
tibio=0;
mediocaliente=0;
caliente=0;
}
if ( av>20 && av<30){
frio=((30-av)/10);
tibio=((av-20/10));
mediocaliente=0;
caliente=0;
}
if ( av>30 && av<40){
frio=0;
tibio=1;
mediocaliente=0;
caliente=0;
1
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
}
if ( av>40 && av<50){
frio=0;
tibio=((50-av)/10);
mediocaliente=((av-40)/10);
caliente=0;
}
if ( av>50 && av<60){
frio=0;
tibio=0;
mediocaliente=1;
caliente=0;
}
if ( av>60 && av<70){
frio=0;
tibio=0;
mediocaliente=((70-av)/10);
caliente=((av-60)/10);
}
if ( av>=70){
frio=0;
tibio=0;
mediocaliente=0;
caliente=1;
}
// Terminos para sacar el centro de masa o centroide.
salida= (((frio*15)+(tibio*35)+(mediocaliente*55)+(caliente*85))/(tibio+frio+mediocaliente+caliente));
// Accion de control, defuzzificador
salida=(salida-15)*3.64; //
// Para la salida del PWM
analogWrite(11,salida); //escribimos la salida en un pin analógico
// imprime la grafica de la funcion de control del sistema
Serial.print(salida); Serial.print("salida = ");
Serial.print(" entrada = ");
Serial.print(entrada);
Serial.print("referencia = ");
Serial.println(referencia);
delay(500); //espera 3 segundos para la siguiente medición
}
2
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
CODIGO MATLAB
entrada = input('Entrada = '); % Se ingresa un valor de entrada
referencia = input('Referencia = '); % Se ingresa un valor referencia
error = referencia - entrada; % Calculo del error
hold on
% Se describen cada uno de los conjuntos difusos para el error
for error = 1 : 0.1 : 100
if error >= 0 && error < 15
A1 = 1;
A2 = 0;
A3 = 0;
A4 = 0;
A5 = 0;
end
if error >= 15 && error <= 30
A1 = (30-error)/15;
A2 = (error-15)/15;
A3 = 0;
A4 = 0;
A5 = 0;
end
if error >= 30 && error < 45
A1 = 0;
A2 = 1;
A3 = 0;
A4 = 0;
A5 = 0;
end
if error >= 45 && error <= 60
A1 = 0;
A2 = (60-error)/15;
A3 = (error-45)/15;
A4 = 0;
A5 = 0;
end
if error >= 60 && error < 75
A1 = 0;
A2 = 0;
A3 = 1;
A4 = 0;
A5 = 0;
end
if error >= 75 && error <= 90
A1 = 0;
A2 = 0;
A3 = (90-error)/15;
A4 = (error-75)/15;
A5 = 0;
end
if error >= 90 && error < 105
A1 = 0;
A2 = 0;
A3 = 0;
A4 = 1;
3
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
A5 = 0;
end
if error >= 105 && error <= 120
A1 = 0;
A2 = 0;
A3 = 0;
A4 = (120-error)/15;
A5 = (error-105)/15;
end
if error >= 120 && error < 135
A1 = 0;
A2 = 0;
A3 = 0;
A4 = 0;
A5 = 1;
end
% calculo centtro de masa
if error >= 0
salida = ((A1*15)+(A2*47.5)+(A3*67.5)+(A4*97.5)+(A5*120))/(A1+A2+A3+A4+A5);
else
salida = 0;
end
plot(error,salida,'.r') % Imprime la grafica función de control
end
4
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
Grafica 1. Funcion de control del sistema
Cuando se ingresa un valor de entrada de 15 se obtiene el siguiente centro de masa.
5
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
Funcion de control para un valor de referencia de 45 y valor de entrada de 15.
Cuando se ingresa un valor de entrada de 50 se obtiene el siguiente centro de masa.
6
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
Funcion de control para un valor de referencia de 45 y valor de entrada de 50.
Cuando se ingresa un valor de entrada de 70 se obtiene el siguiente centro de masa.
7
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
Funcion de control para un valor de referencia de 45 y valor de entrada de 70.
BIBLIOGRAFIA
8
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
http://www.dma.fi.upm.es/recursos/aplicaciones/logica_borrosa/web/fuzzy_inferencia/mamdani1.htm
9
FUNDACION UNIVERSITARIA LOS LIBERTADORES.
http://www.dma.fi.upm.es/recursos/aplicaciones/logica_borrosa/web/fuzzy_inferencia/mamdani1.htm
9

Más contenido relacionado

La actualidad más candente (18)

Estructura switch case
Estructura switch caseEstructura switch case
Estructura switch case
 
Cajero en C++
Cajero en C++Cajero en C++
Cajero en C++
 
Funcion scanf
Funcion scanfFuncion scanf
Funcion scanf
 
Entrada
EntradaEntrada
Entrada
 
Presentación boolean
Presentación booleanPresentación boolean
Presentación boolean
 
Estructuras de control
Estructuras de controlEstructuras de control
Estructuras de control
 
1 entrada y salida estandar(1)
1 entrada y salida estandar(1)1 entrada y salida estandar(1)
1 entrada y salida estandar(1)
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
algoritmos y Programacion
algoritmos y Programacionalgoritmos y Programacion
algoritmos y Programacion
 
PHP
PHPPHP
PHP
 
Clase 6
Clase 6Clase 6
Clase 6
 
R94315
R94315R94315
R94315
 
ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++ESTRUCTURAS DE CONTROL: BUCLES EN C++
ESTRUCTURAS DE CONTROL: BUCLES EN C++
 
DATOS LENGUAJE C
DATOS LENGUAJE CDATOS LENGUAJE C
DATOS LENGUAJE C
 
Funciones y procedimientos
Funciones y procedimientosFunciones y procedimientos
Funciones y procedimientos
 
Correccion e.p.u
Correccion e.p.uCorreccion e.p.u
Correccion e.p.u
 
Operadores
OperadoresOperadores
Operadores
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 

Similar a Paper ieee

Estructura general de un programa
Estructura general de un programaEstructura general de un programa
Estructura general de un programaCarlos Collaguazo
 
Previo8- Dispos E/S
Previo8- Dispos E/SPrevio8- Dispos E/S
Previo8- Dispos E/SBertha Vega
 
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?Agile Spain
 
Fundamentos de programación 1. diseño de algoritmos
Fundamentos de programación 1. diseño de algoritmosFundamentos de programación 1. diseño de algoritmos
Fundamentos de programación 1. diseño de algoritmosEdward Ropero
 
Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010Jair BG
 
Algoritmospseudocodigo
AlgoritmospseudocodigoAlgoritmospseudocodigo
AlgoritmospseudocodigoDavid Perez
 
Guia Programacion 1
Guia Programacion 1Guia Programacion 1
Guia Programacion 1martell024
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010Jair BG
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresionesJorge Ñauñay
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucionJair BG
 
Material de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación ComputacionalMaterial de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación Computacionalmnllorente
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaAna Ruth G H
 
53692670 arduino-programacion
53692670 arduino-programacion53692670 arduino-programacion
53692670 arduino-programacionCesar Castelo
 

Similar a Paper ieee (20)

Estructura general de un programa
Estructura general de un programaEstructura general de un programa
Estructura general de un programa
 
Previo8- Dispos E/S
Previo8- Dispos E/SPrevio8- Dispos E/S
Previo8- Dispos E/S
 
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
Quiero hacer ágil, ¿y ahora qué: Java, Ruby o Scala?
 
Fundamentos de programación 1. diseño de algoritmos
Fundamentos de programación 1. diseño de algoritmosFundamentos de programación 1. diseño de algoritmos
Fundamentos de programación 1. diseño de algoritmos
 
Arduino Basico.pptx
Arduino Basico.pptxArduino Basico.pptx
Arduino Basico.pptx
 
Micc mej feb18_2010
Micc mej feb18_2010Micc mej feb18_2010
Micc mej feb18_2010
 
Clase 02
Clase 02Clase 02
Clase 02
 
Algoritmospseudocodigo
AlgoritmospseudocodigoAlgoritmospseudocodigo
Algoritmospseudocodigo
 
Ejemplos java
Ejemplos javaEjemplos java
Ejemplos java
 
Aprende a usar GDB, el depurador de C
Aprende a usar GDB, el depurador de CAprende a usar GDB, el depurador de C
Aprende a usar GDB, el depurador de C
 
Guia Programacion 1
Guia Programacion 1Guia Programacion 1
Guia Programacion 1
 
Micc mej sept16_2010
Micc mej sept16_2010Micc mej sept16_2010
Micc mej sept16_2010
 
Operadores y expresiones
Operadores y expresionesOperadores y expresiones
Operadores y expresiones
 
Micc mej feb18_2010_solucion
Micc mej feb18_2010_solucionMicc mej feb18_2010_solucion
Micc mej feb18_2010_solucion
 
Material de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación ComputacionalMaterial de Clases TP 03 - Programación Computacional
Material de Clases TP 03 - Programación Computacional
 
Laboratorio1 entrada-salida de datos / Lenguance C
Laboratorio1   entrada-salida de datos / Lenguance CLaboratorio1   entrada-salida de datos / Lenguance C
Laboratorio1 entrada-salida de datos / Lenguance C
 
Comandos de Raptor,C# y Java
Comandos de Raptor,C# y JavaComandos de Raptor,C# y Java
Comandos de Raptor,C# y Java
 
Nueva secuencia
Nueva secuenciaNueva secuencia
Nueva secuencia
 
53692670 arduino-programacion
53692670 arduino-programacion53692670 arduino-programacion
53692670 arduino-programacion
 
Operadores
OperadoresOperadores
Operadores
 

Último

Instalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendioInstalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendioPardoGasca
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptxrorellanoq
 
UNIDAD 2.- SENSORES.TIPOS DE SENSORES Y SU CLASIFICAIÓN
UNIDAD 2.- SENSORES.TIPOS DE SENSORES  Y SU CLASIFICAIÓNUNIDAD 2.- SENSORES.TIPOS DE SENSORES  Y SU CLASIFICAIÓN
UNIDAD 2.- SENSORES.TIPOS DE SENSORES Y SU CLASIFICAIÓNLuisLobatoingaruca
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfWaldo Eber Melendez Garro
 
Presentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptxPresentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptxInstitutoTeodoroKint
 
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdfJlnParada
 
examen ExANI 2...........................
examen ExANI 2...........................examen ExANI 2...........................
examen ExANI 2...........................migueljosedelaolopez
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfSalomeRunco
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdfSantiagoRodriguez598818
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoMarianoSanchez70
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfFtimaMontserratZaraz
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanaArnolVillalobos
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasGraciaMatute1
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosandersonsubero28
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalaciónQualityAdviceService
 
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdfTECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdfEddieEDM
 
Cuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdfCuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdffredyflores58
 
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxAlanCarrascoDavila
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfChristianMOntiveros1
 
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdfSO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdfStayBe1
 

Último (20)

Instalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendioInstalacion de un Sistema contra incendio
Instalacion de un Sistema contra incendio
 
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
8 2024A CONDUCCION DE CALOR EN REGIMEN TRANSITORIO.pptx
 
UNIDAD 2.- SENSORES.TIPOS DE SENSORES Y SU CLASIFICAIÓN
UNIDAD 2.- SENSORES.TIPOS DE SENSORES  Y SU CLASIFICAIÓNUNIDAD 2.- SENSORES.TIPOS DE SENSORES  Y SU CLASIFICAIÓN
UNIDAD 2.- SENSORES.TIPOS DE SENSORES Y SU CLASIFICAIÓN
 
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdfslideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
slideshare.vpdfs.com_sensores-magneticos-controles-pptx.pdf
 
Presentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptxPresentacion Feria Cientifica Proyecto.pptx
Presentacion Feria Cientifica Proyecto.pptx
 
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
1 CENTROIDES 2°Computohhhhhhhhhhhhhhhh.pdf
 
examen ExANI 2...........................
examen ExANI 2...........................examen ExANI 2...........................
examen ExANI 2...........................
 
S01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdfS01.s1 - Clasificación de las Industrias.pdf
S01.s1 - Clasificación de las Industrias.pdf
 
3er Informe Laboratorio Quimica General (2) (1).pdf
3er Informe Laboratorio Quimica General  (2) (1).pdf3er Informe Laboratorio Quimica General  (2) (1).pdf
3er Informe Laboratorio Quimica General (2) (1).pdf
 
Riesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajoRiesgos taller mecanico prevencion de accidentes de trabajo
Riesgos taller mecanico prevencion de accidentes de trabajo
 
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdfMyoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
Myoelectric_Control_for_Upper_Limb_Prostheses.en.es (2).pdf
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 
metodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantasmetodos de fitomejoramiento en la aolicacion de plantas
metodos de fitomejoramiento en la aolicacion de plantas
 
Tipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplosTipos de suelo y su clasificación y ejemplos
Tipos de suelo y su clasificación y ejemplos
 
Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdfTECNOLOGIA DE CONCRETO 2024 estudiante.pdf
TECNOLOGIA DE CONCRETO 2024 estudiante.pdf
 
Cuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdfCuestionario 20222222222222222222222224.pdf
Cuestionario 20222222222222222222222224.pdf
 
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docxUnidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
Unidad 2 Métodos Numéricos. Solución de ecuaciones algebraicas.docx
 
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdfTrabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
Trabajo practico N°14 - Despacho Economico de Cargas - Campus 2022.pdf
 
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdfSO5. s5. Unidad 2. Sectorización_-639808213.pdf
SO5. s5. Unidad 2. Sectorización_-639808213.pdf
 

Paper ieee

  • 1. FUNDACION UNIVERSITARIA LOS LIBERTADORES. DOCUMENTO EXPOSICION SISTEMA DE INFERENCIA DIFUSO MAMDANI Adriana Marcela Romero Vargas amromerov@libertadores.edu.co Jairo Antonio Carreño Rodríguez jacarrenor@libertadores.edu.co CODIGO EN ARDIUNO DEL SISTEMA DE INFERENCIA MAMDANI BASADO EN UN CONTROL DE TEMPERAARURA float entrada; // Variable para la entrada int referencia; // variable de referencia float error; // variable del error float av; //variable av float frio; // variable de entrada de fuzificacíon float tibio; // variable de entrada de fuzificacíon float mediocaliente; // variable de entrada de fuzificacíon float caliente; // variable de entrada de fuzificacíon int salida; // variable salida void setup() { Serial.begin(9600); // Se inicia la comunicacion serial } void loop() { entrada = analogRead(A0); // Lee el valor de entrada del pin A0 del puerto análogo referencia=45; // valor de referencia entrada=((entrada*500)/1023); error=referencia-entrada; // calculo del error 45-valor leído pin A0 av=abs(error); // av es el valor absoluto del error // Se describen cada uno de los conjuntos difusos de entrada if (av<=20){ frio=1; tibio=0; mediocaliente=0; caliente=0; } if ( av>20 && av<30){ frio=((30-av)/10); tibio=((av-20/10)); mediocaliente=0; caliente=0; } if ( av>30 && av<40){ frio=0; tibio=1; mediocaliente=0; caliente=0; 1
  • 2. FUNDACION UNIVERSITARIA LOS LIBERTADORES. } if ( av>40 && av<50){ frio=0; tibio=((50-av)/10); mediocaliente=((av-40)/10); caliente=0; } if ( av>50 && av<60){ frio=0; tibio=0; mediocaliente=1; caliente=0; } if ( av>60 && av<70){ frio=0; tibio=0; mediocaliente=((70-av)/10); caliente=((av-60)/10); } if ( av>=70){ frio=0; tibio=0; mediocaliente=0; caliente=1; } // Terminos para sacar el centro de masa o centroide. salida= (((frio*15)+(tibio*35)+(mediocaliente*55)+(caliente*85))/(tibio+frio+mediocaliente+caliente)); // Accion de control, defuzzificador salida=(salida-15)*3.64; // // Para la salida del PWM analogWrite(11,salida); //escribimos la salida en un pin analógico // imprime la grafica de la funcion de control del sistema Serial.print(salida); Serial.print("salida = "); Serial.print(" entrada = "); Serial.print(entrada); Serial.print("referencia = "); Serial.println(referencia); delay(500); //espera 3 segundos para la siguiente medición } 2
  • 3. FUNDACION UNIVERSITARIA LOS LIBERTADORES. CODIGO MATLAB entrada = input('Entrada = '); % Se ingresa un valor de entrada referencia = input('Referencia = '); % Se ingresa un valor referencia error = referencia - entrada; % Calculo del error hold on % Se describen cada uno de los conjuntos difusos para el error for error = 1 : 0.1 : 100 if error >= 0 && error < 15 A1 = 1; A2 = 0; A3 = 0; A4 = 0; A5 = 0; end if error >= 15 && error <= 30 A1 = (30-error)/15; A2 = (error-15)/15; A3 = 0; A4 = 0; A5 = 0; end if error >= 30 && error < 45 A1 = 0; A2 = 1; A3 = 0; A4 = 0; A5 = 0; end if error >= 45 && error <= 60 A1 = 0; A2 = (60-error)/15; A3 = (error-45)/15; A4 = 0; A5 = 0; end if error >= 60 && error < 75 A1 = 0; A2 = 0; A3 = 1; A4 = 0; A5 = 0; end if error >= 75 && error <= 90 A1 = 0; A2 = 0; A3 = (90-error)/15; A4 = (error-75)/15; A5 = 0; end if error >= 90 && error < 105 A1 = 0; A2 = 0; A3 = 0; A4 = 1; 3
  • 4. FUNDACION UNIVERSITARIA LOS LIBERTADORES. A5 = 0; end if error >= 105 && error <= 120 A1 = 0; A2 = 0; A3 = 0; A4 = (120-error)/15; A5 = (error-105)/15; end if error >= 120 && error < 135 A1 = 0; A2 = 0; A3 = 0; A4 = 0; A5 = 1; end % calculo centtro de masa if error >= 0 salida = ((A1*15)+(A2*47.5)+(A3*67.5)+(A4*97.5)+(A5*120))/(A1+A2+A3+A4+A5); else salida = 0; end plot(error,salida,'.r') % Imprime la grafica función de control end 4
  • 5. FUNDACION UNIVERSITARIA LOS LIBERTADORES. Grafica 1. Funcion de control del sistema Cuando se ingresa un valor de entrada de 15 se obtiene el siguiente centro de masa. 5
  • 6. FUNDACION UNIVERSITARIA LOS LIBERTADORES. Funcion de control para un valor de referencia de 45 y valor de entrada de 15. Cuando se ingresa un valor de entrada de 50 se obtiene el siguiente centro de masa. 6
  • 7. FUNDACION UNIVERSITARIA LOS LIBERTADORES. Funcion de control para un valor de referencia de 45 y valor de entrada de 50. Cuando se ingresa un valor de entrada de 70 se obtiene el siguiente centro de masa. 7
  • 8. FUNDACION UNIVERSITARIA LOS LIBERTADORES. Funcion de control para un valor de referencia de 45 y valor de entrada de 70. BIBLIOGRAFIA 8
  • 9. FUNDACION UNIVERSITARIA LOS LIBERTADORES. http://www.dma.fi.upm.es/recursos/aplicaciones/logica_borrosa/web/fuzzy_inferencia/mamdani1.htm 9
  • 10. FUNDACION UNIVERSITARIA LOS LIBERTADORES. http://www.dma.fi.upm.es/recursos/aplicaciones/logica_borrosa/web/fuzzy_inferencia/mamdani1.htm 9