Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ASIGNATURA:
NOMBRE DE LA ACTIVIDAD:
Reporte de Practicas
ALUMNOS:
CARRERA:
Ing. Mecatrónica
DOCENTE:
SEMESTRE:
AGOSTO – DICIEMBRE 2023
Introducción
Este código, escrito en lenguaje C++ para la plataforma Arduino, utiliza un sensor ultrasónico
para medir la distancia a un objeto y controlar un servo motor en función de esa distancia. Se
emplea la biblioteca TaskScheduler para gestionar tareas periódicas y así medir la distancia
y controlar el servo motor en momentos específicos.
Desarrollo
El programa comienza definiendo los pines para el sensor ultrasónico (trigPin y echoPin) y
el servo motor (servoPin). Además, se establecen parámetros relacionados con el ancho de
pulso para el servo y el período del servo.
Se utiliza la biblioteca TaskScheduler para crear dos tareas periódicas (t1 y t2). La primera
tarea (t1) se encarga de medir la distancia utilizando el sensor ultrasónico y mostrar la
distancia en centímetros en el monitor serial. La segunda tarea (t2) convierte la distancia
medida en un valor de ancho de pulso para controlar el servo motor y luego activa el servo
motor con ese ancho de pulso.
Código:
#include <TaskScheduler.h>
long duracion;
float distanciaCm;
void t1Callback(){
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
void t2Callback(){
int mov;
mov=map(distanciaCm,0, 40, 700, 2300);
Serial.println(mov);
if((mov>=700) && (mov<=2300)){
digitalWrite(servoPin, HIGH);
delayMicroseconds(mov);
digitalWrite(servoPin, LOW);
delayMicroseconds(25000);
}
}
Scheduler runner;
void setup() {
Serial.begin(115200);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(servoPin, OUTPUT);
runner.init();
runner.addTask(t1);
runner.addTask(t2);
delay(5000);
t1.enable();
t2.enable();
}
void loop() {
runner.execute();
}
Resultados
Conclusión
Este código demuestra una aplicación básica de control de un servo motor en respuesta a la
medición de distancia utilizando un sensor ultrasónico. Puede ser utilizado como base para
proyectos que requieren interacciones basadas en la distancia medida, como un sistema de
aparcamiento automático o un robot que evite obstáculos.