Inteligencia artificial y redes neuronales Reporte proyecto final
Enviado por Rimma • 12 de Diciembre de 2018 • 1.079 Palabras (5 Páginas) • 494 Visitas
...
long MANTENER;
long Salida = 0;
long distancia_anterior = 0;
void setup(){
Serial.begin(9600);
pinMode(TriggerPin, OUTPUT);
pinMode(EchoPin, INPUT);
pinMode(motor, OUTPUT);
}
void loop()
{
distancia_anterior = ping(TriggerPin, EchoPin);
distancia_cerca = distancia_deseada-5;
distancia_lejos = distancia_deseada+5;
Serial.println("Distancia Cerca");
Serial.println(distancia_cerca);
Serial.println("Distancia Lejos");
Serial.println(distancia_lejos);
delay(10);
distancia = ping(TriggerPin, EchoPin);
pendiente = distancia - distancia_anterior;
error= distancia - distancia_deseada;
if (error >= 5){
grado_pertenencia_cerca = 0;
grado_pertenencia_igual = 0;
grado_pertenencia_lejos = 1;
}
if (error
grado_pertenencia_igual = 0;
grado_pertenencia_lejos = 0;
grado_pertenencia_cerca = 1;
}
if ((error > 0) && (error
grado_pertenencia_cerca = 0;
grado_pertenencia_lejos = (error * 0.4);
grado_pertenencia_igual = (1 - grado_pertenencia_lejos);
}
if ((error -5)){
grado_pertenencia_cerca = ((error * 0.4)*(-1));
grado_pertenencia_igual = (1 - grado_pertenencia_cerca);
grado_pertenencia_lejos = 0;
}
if (error == 0){
grado_pertenencia_cerca = 0;
grado_pertenencia_igual = 1;
grado_pertenencia_lejos = 0;
}
if (pendiente >= 1){
grado_pertenencia_bajando = 0;
grado_pertenencia_manteniendo = 0;
grado_pertenencia_subiendo = 1;
}
if (pendiente
grado_pertenencia_bajando = 1;
grado_pertenencia_manteniendo = 0;
grado_pertenencia_subiendo = 0;
}
if ((pendiente > 0) && (pendiente
grado_pertenencia_bajando = 0;
grado_pertenencia_subiendo = (pendiente * 0.4);
grado_pertenencia_manteniendo = (1 - grado_pertenencia_subiendo);
}
if ((pendiente -1)){
grado_pertenencia_bajando = (pendiente * 0.4)*(-1);
grado_pertenencia_manteniendo = (1 - grado_pertenencia_bajando);
grado_pertenencia_subiendo= 0;
}
if ((error
{
incrementa1 = min(grado_pertenencia_cerca,grado_pertenencia_bajando);
}
if ((error -1 && pendiente
{
incrementa2 = grado_pertenencia_cerca;
}
if ((error 0))
{
mantiene1 = min(grado_pertenencia_cerca,grado_pertenencia_subiendo);
}
if ((error > -3 && error
{
incrementa3 = min(grado_pertenencia_igual,grado_pertenencia_bajando);
}
if ((error > -3 && error -1 && pendiente
{
mantiene2 = min(grado_pertenencia_igual,grado_pertenencia_manteniendo);
}
if ((error > -3 && error 0))
{
decrementa1 = min(grado_pertenencia_igual,grado_pertenencia_subiendo);
}
if ((error > 0) && (pendiente
{
mantiene3 = grado_pertenencia_bajando;
}
if ((error > 0) && (pendiente > -1 && pendiente
{
decrementa2 = grado_pertenencia_lejos;
}
...