Paso 6: Código de Arduino
#define echoPin 6 / / este es el pin eco
#define triggerPin 7 / / este es el pin de trigger
#include
int RPM = 120; Establece las revoluciones - por - minuto del Motor
Detección de int = 15; Define la distancia a la que se activará el motor
paso de int = 50; Establece el número de pasos que llevará el Motor de pasos
const int stepsPerRevolution = 200; El número de pasos necesarios para que la eje del motor hacer una revolución completa.
int i = 0; índice para rellenar la matriz de datos
int j = 1; Índice de cambio de valores de datos y el cálculo de corriente promedio
conjunto de datos de int = 10; Longitud de corrientes datos de matriz
límite de int =(dataset-1); offset para la indexación
int total = 0; Utiliza para establecer modos de procesamiento.
para tu motor
inicializar la biblioteca paso a paso sobre los pasadores del 8 al 11:
Paso a paso myStepper (stepsPerRevolution, 8, 11, 12, 13); Instancia de clase paso a paso
int central [10] = {0,0,0,0,0,0,0,0,0,0}; Matriz vacía de datos donde se recogerán los valores
void setup() {}
MOTOR
pinMode(9,OUTPUT);
pinMode(10,OUTPUT);
SENSOR DE PROXIMIDAD
Serial.Begin (115200); comunicación serial //start
pinMode (echoPin, entrada);
pinMode (triggerPin, salida);
}
void loop() {}
SENSOR DE PROXIMIDAD
digitalWrite (triggerPin, HIGH); hacer un pulso de 10usec
delayMicroseconds(10); NO cambio esta, clave para mantener la tasa en la cual se recogen datos
digitalWrite (triggerPin, bajo);
int distancia = pulseIn(echoPin,HIGH); Recolección de datos
distancia = abs(distance/58); Frecuencia se convierte en unidades de distancia [cm]
Si (completo == 1) {/ / informática una vez matriz de datos está llena de puntos de datos
Central [0] = distancia; Nuevo valor de datos se coloca en la primera celda de la matriz
int Guardar= central [0]; Marcador de posición variable del nuevo valor de datos
para (j = 1; j
int espera = central [j];
Central [j] =Guardar; Marcador de posición variable del valor de los datos anteriores
Guardar= espera; Transferencia de valor entre las Variables de marcador de posición
}
int suma = 0; Variable para calcular el promedio del conjunto de datos
para (j = 0; j < = límite; j ++) {/ / bucle de creación de la suma de valores de datos
Suma = suma + central [j];
}
int promedio = suma/dataset; Calcula el promedio de la actual matriz de datos
Serial.Print ("la distancia promedio es:"); Muestra lecturas
Serial.Print((Average),DEC); / / enviar la medida a las lecturas de //Displays de monitor serial
Serial.println ("cm");
Si ( media < = detección) {}
digitalWrite(9,HIGH);
digitalWrite(10,HIGH);
myStepper.setSpeed(RPM);
myStepper.step(stride);
} else if(Average > Detection) {}
digitalWrite(9,LOW);
digitalWrite(10,LOW);
}
}
Si (completo == 0) {}
Central [i] = distancia;
i ++;
{if(i==DataSet)}
Total = 1;
}
}
}