0% encontró este documento útil (0 votos)
6 vistas9 páginas

Informe Laboratorio 6 Robotica

El informe detalla la práctica de laboratorio sobre el control de periféricos en robots móviles, enfocándose en la programación y funcionamiento de diferentes modelos de robots LEGO (NXT, EV3, SPIKE Prime). Se describe la configuración de hardware, el código utilizado para la programación y los resultados obtenidos durante las pruebas. Además, se discuten las aplicaciones potenciales del robot en monitoreo de cultivos, inspección de líneas de producción, gestión de inventarios y patrullaje autónomo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas9 páginas

Informe Laboratorio 6 Robotica

El informe detalla la práctica de laboratorio sobre el control de periféricos en robots móviles, enfocándose en la programación y funcionamiento de diferentes modelos de robots LEGO (NXT, EV3, SPIKE Prime). Se describe la configuración de hardware, el código utilizado para la programación y los resultados obtenidos durante las pruebas. Además, se discuten las aplicaciones potenciales del robot en monitoreo de cultivos, inspección de líneas de producción, gestión de inventarios y patrullaje autónomo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 9

UNIVERSIDAD PRIVADA DEL VALLE

FACULTAD DE INFORMÁTICA Y ELECTRÓNICA


Evaluación
INGENIERÍA EN ELECTRONICA
CAMPUS TIQUIPAYA

Informe de Práctica de Laboratorio N°6


CONTROL DE
PERIFÉRICOS EN ROBOTS
MÓVILES
GRUPO “A”

Estudiante: Marcos Kevin Villafuerte Ramallo


Carrera: Ing. Mecatrónica
Materia: ROBÓTICA
Docente: Ing. Elias Chavez
Gestión: I-2024
Fecha de presentación: 22 de mayo del 2024

1
Página
CONTROL DE PERIFÉRICOS EN ROBOTS MÓVILES
1. Marco teórico
Pantalla LCD
NXT:
• Resolución: 100 x 64 píxeles
• Color: Monocromática (blanco y negro)
• Tamaño: 1.5 pulgadas

• Consumo de energía: Bajo, adecuado para dispositivos portátiles alimentados por


baterías AA.

• Interfaz: Conectada directamente al microcontrolador del ladrillo NXT.


• Características adicionales: La pantalla puede mostrar texto, números y gráficos básicos.

• Consumo de energía: Eficiente, adecuado para el uso con batería recargable de Li-ion.
• Tipo: Pantalla LCD monocromática.

EV3:
• Resolución: 178 x 128 píxeles
• Color: Monocromática (blanco y negro)
• Tamaño: 2.8 pulgadas
• Interfaz: Integrada en el ladrillo EV3, controlada por el microcontrolador ARM9.
• Características adicionales: Capacidad para mostrar gráficos, texto y símbolos personalizados.
SPIKE Prime:
• Resolución: 5 x 5 matriz de LEDs
• Color: RGB (colores múltiples)
• Interfaz: Integrada en el Hub SPIKE Prime, controlada por el microcontrolador ARM Cortex-M4.
• Características adicionales: La matriz de LEDs se utiliza principalmente para mostrar patrones de
colores y estados del robot.
Motores
NXT:
• Tipo: Motor servomotor
• Torque: Aproximadamente 4.5 N·cm
2

• Velocidad: Hasta 170 RPM


Página

• Sensor de Rotación: Encoders integrados, precisión de 1 grado


• Interfaz: Conexión directa al ladrillo NXT, controlado por un puerto dedicado.
EV3:
• Tipo: Motor grande y motor mediano
• Motor Grande:
• Torque: Hasta 40 N·cm
• Velocidad: Hasta 160-170 RPM
• Sensor de Rotación: Encoders integrados, precisión de 1 grado
• Motor Mediano:
• Torque: Aproximadamente 8 N·cm
• Velocidad: Hasta 240-250 RPM
• Sensor de Rotación: Encoders integrados, precisión de 1 grado
• Interfaz: Conexión a través de puertos designados en el ladrillo EV3, controlados por el
microcontrolador ARM9.
SPIKE Prime:
• Tipo: Motores grandes y motores medianos
• Motor Grande:
• Torque: Aproximadamente 18 N·cm
• Velocidad: Hasta 115 RPM
• Sensor de Rotación: Encoders integrados, precisión de 1 grado
• Motor Mediano:
• Torque: Aproximadamente 8 N·cm
• Velocidad: Hasta 390 RPM
• Sensor de Rotación: Encoders integrados, precisión de 1 grado
• Interfaz: Conexión a través de puertos en el Hub SPIKE Prime, controlados por el
microcontrolador ARM Cortex-M4.
LEGO. (2006). LEGO Mindstorms NXT User Guide. LEGO Group.
LEGO. (2013). LEGO Mindstorms EV3 User Guide. LEGO Group.
LEGO. (2019). LEGO Education SPIKE Prime User Guide. LEGO Group.
Martyn, J. (2012). The LEGO Mindstorms NXT 2.0 Discovery Book: A Beginner's Guide to Building and
Programming Robots. No Starch Press.
Bagnall, B. (2014). Maximum LEGO EV3: Building Robots with Java Brains. Variant Press.
3
Página
2. Resultados de Laboratorio Virtual
Programación en la plataforma BRICX CC
Utilizando el robot móvil LEGO MINDSTORMS (Prototipo armado con sensores y actuadores) para
completar el laboratorio, programe el robot en BRICX CC para que se mueva desde la ubicación de inicio a
cada línea y regrese al inicio. El robot móvil debe moverse a la primera línea, regresar al inicio, moverse a
la segunda línea, regresar al inicio, etc. Mientras hace esto, el robot también debe almacenar el número de
líneas que ha cruzado en una variable y mostrar ese número en la pantalla LCD del ladrillo del robot móvil.

Código usado:
#define UMBRAL 45

inline void avanzar(int potencia=50)


{
Off(OUT_AC);
SetSensor(IN_1, SENSOR_ROTATION);
ClearSensor(IN_1);
SetSensor(IN_3, SENSOR_ROTATION);
ClearSensor(IN_3);
OnFwdSync(OUT_AC,potencia,0);
return;
}
inline void retro(int potencia=50)
{
Off(OUT_AC);
SetSensor(IN_1, SENSOR_ROTATION);
ClearSensor(IN_1);
SetSensor(IN_3, SENSOR_ROTATION);
ClearSensor(IN_3);
OnRevSync(OUT_AC,potencia,0);
return;
}
task main ()
{
SetSensorLight(IN_4);
for (int i=1; i<=5; i++)
{
avanzar(40);
for (int j=1; j<=i; j++)
{
4

Wait(1000);
Página

while(Sensor(IN_4) > UMBRAL);


Wait(200);
}
retro(40);
for (int j=1; j<=i; j++)
{
Wait(1000);
while(Sensor(IN_4) > UMBRAL);
Wait(200);
}
}
Off(OUT_AC);
}
Realizar un video que muestren el proceso de movimiento del robot y su finalización en la
plataforma STREAM, añada el link junto al presente documento.

labo6.mp4
https://univalleedu-
my.sharepoint.com/personal/vrm2018940_est_univalle_edu/_layouts/15/stream.aspx?id=%2Fperson
al%2Fvrm2018940%5Fest%5Funivalle%5Fedu%2FDocuments%2Flabo6%2Emp4&referrer=Strea
mWebApp%2EWeb&referrerScenario=AddressBarCopied%2Eview%2E17c84d1c%2D15c7%2D41
27%2Da979%2Db09b3ea4460e

Fotografías de inicio, etapa intermedia y fin del recorrido del robot móvil.

5
Página
3. Conclusiones
el proyecto consistió en la programación de un robot para superar etapas progresivas, cada una
con una distancia creciente a recorrer. Aunque el abombamiento de la superficie presentó un
desafío, el robot fue capaz de completar todas las etapas de manera exitosa, demostrando la
eficacia del diseño y la programación aplicados. En la primera fase, el robot debía alcanzar la
primera línea y regresar. En la segunda fase, tenía que cruzar la primera línea y luego regresar,
incrementando gradualmente la distancia en cada etapa según lo establecido en el programa.
6
Página
4. Cuestionario
1. Desarrolle el diagrama de flujo del programa empleado para la solución de la práctica.

[Inicio] |
v
[Inicializar UMBRAL a 45] |
v
[Configurar motores: motor_pair.pair(motor_pair.PAIR_1, port.D, port.C)] |
v
[Definir funciones: avanzar(potencia), retroceder(potencia), detener(), esperar_sensor(), mover_grados(grados,
potencia)] |
v
[Iniciar función principal: main()] |
V
[Ciclo for i de 1 a 5] | v [Guardar posición inicial: posicion_inicial = motor_pair.get_position(port.D)] |
v
[Llamar a avanzar(200)] | v [Ciclo for j de 0 a i-1] |
V
[Esperar 1 segundo] | v [Llamar a esperar_sensor()] |
V
[Esperar 200 ms] | v [Llamar a avanzar(200)] |
V
[Esperar 500 ms] |
V
[Fin del ciclo for j] |
V
[Llamar a detener()] |
V
[Llamar a mover_grados(-posicion_inicial, 200)] |
v
[Ciclo for j de 0 a i-1] |
V
[Esperar 1 segundo] |
v
[Esperar 200 ms] |
v
[Llamar a esperar_sensor()] |
V
[Fin del ciclo for j] |
7
Página

v
[Llamar a detener()] |
v
[Fin del ciclo for i] |
V
[Llamar a detener()] |
v
[Imprimir "Termino!!"] |
v
[Fin]

2. Describa los pasos para verificar el estado de funcionamiento de los sensores en el ladrillo del
LEGO Mindstorms NXT
Paso 1: Encender el ladrillo NXT
Asegúrate de que el ladrillo NXT tenga baterías cargadas o esté conectado a una fuente de energía.
Presiona el botón de encendido para iniciar el ladrillo NXT.
Paso 2: Acceder al menú de sensores
Una vez encendido, utiliza los botones de navegación (izquierda, derecha, arriba, abajo) para
desplazarte por el menú principal.
Selecciona la opción "View" (Ver) y presiona el botón de selección (centro) para acceder al menú de
visualización de sensores.
Paso 3: Seleccionar el tipo de sensor
Dentro del menú "View", selecciona el tipo de sensor que deseas verificar (por ejemplo, sensor táctil,
sensor de luz, sensor ultrasónico, etc.).
Cada tipo de sensor conectado a los puertos (1, 2, 3, 4) del ladrillo NXT aparecerá en el menú.
Paso 4: Verificar la lectura del sensor
Una vez seleccionado el sensor, el ladrillo NXT mostrará la lectura en tiempo real del sensor
correspondiente.
Manipula el sensor para verificar que los valores cambien adecuadamente (por ejemplo, presiona el
sensor táctil o aproxima un objeto al sensor ultrasónico).
Paso 5: Confirmar el funcionamiento correcto
Asegúrate de que las lecturas del sensor sean coherentes con las acciones realizadas. Si el sensor no
responde o muestra lecturas erráticas, verifica las conexiones y prueba con otro sensor para descartar
fallas del ladrillo.
LEGO Mindstorms EV3
Paso 1: Encender el ladrillo EV3
Asegúrate de que el ladrillo EV3 tenga baterías cargadas o esté conectado a una fuente de energía.
Presiona el botón de encendido para iniciar el ladrillo EV3.
Paso 2: Acceder al menú de sensores
Una vez encendido, utiliza los botones de navegación (izquierda, derecha, arriba, abajo) para
desplazarte por el menú principal.
Selecciona la opción "Port View" (Vista de Puertos) y presiona el botón de selección (centro) para
acceder al menú de visualización de sensores.
Paso 3: Seleccionar el puerto del sensor
Dentro del menú "Port View", verás los puertos de sensores (1, 2, 3, 4) y los dispositivos conectados a
cada puerto.
Selecciona el puerto al que está conectado el sensor que deseas verificar.
8

Paso 4: Verificar la lectura del sensor


Página

Una vez seleccionado el puerto, el ladrillo EV3 mostrará la lectura en tiempo real del sensor conectado.
Manipula el sensor para verificar que los valores cambien adecuadamente (por ejemplo, mueve el
sensor de color sobre diferentes superficies o aproxima un objeto al sensor ultrasónico).
Paso 5: Confirmar el funcionamiento correcto
Asegúrate de que las lecturas del sensor sean coherentes con las acciones realizadas. Si el sensor no
responde o muestra lecturas erráticas, verifica las conexiones y prueba con otro sensor para descartar
fallas del ladrillo.

3. Describa brevemente las posibles aplicaciones de la practica realizada.

• Monitoreo de Cultivos: El robot puede avanzar y retroceder entre hileras de cultivos para
monitorear el estado de las plantas, identificar plagas, enfermedades o condiciones del suelo, y
luego moverse a la siguiente hilera.
• Inspección de Líneas de Producción: El robot puede utilizarse para inspeccionar líneas de
producción en fábricas. Avanza a lo largo de una sección de la línea de producción, verifica el
estado de los productos o maquinaria, y luego retrocede para repetir el proceso en la siguiente
sección.
• Gestión de Inventarios: En almacenes, el robot puede moverse entre pasillos, verificando y
actualizando el estado de los inventarios, detectando y reportando artículos fuera de lugar o
faltantes.
• Patrullaje Autónomo: En instalaciones de seguridad, el robot puede patrullar áreas avanzando y
retrocediendo entre líneas marcadas, detectando intrusos o condiciones anómalas

9
Página

También podría gustarte