Você está na página 1de 4

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

Facultad de Ingeniería

PRÁCTICA 3
CARRO SEGUIDOR DISEÑO VLSI

DE LINEA
Grupo: 01

Objetivo: El alumno analizará y aplicará las herramientas


Alumnos:
fundamentales de alto nivel, para el control de motores DC en
el diseño de sistemas digitales combinacionales VLSI. Cruz Mier Luis Josué

Gutiérrez García Sofía


Malinalli

Molina Beltrán Ernesto


José

Profesor: Lomas Barrie


Víctor

Semestre 2019-1
04 de octubre de 2018
Especificaciones
Diseñar y construir un robot móvil seguidor de una línea blanca en una pista de fondo
negro, el cual cuente con 3 sensores los cuales envíen al control información sobre si
ven o no la línea blanca. El robot también contará con 2 motores, uno para cada rueda
del motor.

Metodología
Al ser un sistema VLSI combinacional, se optó por implementar un único proceso que
depende del vector de sensores (sensor); dicho proceso contiene un único bloque de
código CASE, que dice a las salidas m_izq y m_der qué valores tomar, de acuerdo a la
siguiente tabla de verdad. Se decide utilizar lógica negada (un 0 cuando se sensa la
línea), pues en fondo blanco los sensores dan como salida un 0.

Sensor Sensor Centro Sensor Motor izquierdo Motor derecho


Izquierdo derecho
0 0 0 0 0
0 0 1 0 1
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 1 1
1 1 0 1 0
1 1 1 0 0
Arquitectura (Diagrama de
Bloques).

Código
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity led is

PORT( sensor:in STD_LOGIC_vector(2 downto 0);--Vector para los 3 sensores


m_izq,m_der: out STD_LOGIC);--Led indicando motores izquierdo y derecho
end led;

architecture Behavioral of led is


begin
process(sensor)
begin
CASE sensor IS
WHEN "000"=> m_izq<='0';--Linea en todos los sensores
m_der<='0';

WHEN "001"=> m_izq<='0';--Linea en sensor i y c


m_der<='1';
WHEN "010"=> m_izq<='1';--Linea en sensor i y d
m_der<='0';

WHEN "011"=> m_izq<='0';--Linea en sensor izquierdo


m_der<='1';

WHEN "100"=> m_izq<='1';--Linea en sensor c y d


m_der<='0';

WHEN "101"=> m_izq<='1';--Linea en sensor central


m_der<='1';

WHEN "110"=> m_izq<='1';--Linea en sensor derecho


m_der<='0';

WHEN "111"=> m_izq<='0';--No regresa luz, fondo


negro
m_der<='0';

END CASE;
end process;
end Behavioral;

Conclusiones
En la presente práctica pudimos darnos cuenta de que algunos sistemas en apariencia
complejos de diseño VLSI, pueden abstraerse de manera muy simple haciendo uso de
lógicas combinacionales, como el carrito programado en esta ocasión. Aunque no se
implementó utilizando un carrito de verdad, pudimos comprobar que el
funcionamiento era correcto utilizando leds de la FPGA para simular las salidas m_izq y
m_der. Hubiera sido interesante probar el funcionamiento en la entidad real, así como
altamente didáctico, pero no existieron los recursos para lograrlo, aunque sí lo fueron
para llegar a cumplir el objetivo de esta práctica.

Interesses relacionados