Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- library IEEE;
- use IEEE.STD_LOGIC_1164.ALL;
- entity RobotHeart is
- end RobotHeart;
- architecture Behavioral of RobotHeart is
- component Sensores
- port (R: in std_logic;
- L: in std_logic;
- D: in std_logic;
- T: in std_logic;
- L1: in std_logic;
- L2: in std_logic;
- C1: out std_logic;
- C2: out std_logic;
- C3: out std_logic;
- C4: out std_logic);
- end component;
- signal Avanza: std_logic;
- signal Retrocede: std_logic;
- signal SAdelante: std_logic;
- signal SAtras: std_logic;
- signal SIzquierda: std_logic;
- signal SDerecha: std_logic;
- signal Caso1: std_logic;
- signal Caso2: std_logic;
- signal Caso3: std_logic;
- signal Caso4: std_logic;
- begin
- PROBAR: Sensores port map ( R => Avanza,
- L => Retrocede,
- D => SAdelante,
- T => SAtras,
- L1 => SIzquierda,
- L2 => SDerecha,
- C1 => Caso1,
- C2 => Caso2,
- C3 => Caso3,
- C4 => Caso4);
- PRUEBA: process
- begin
- -- El robot se mueve hacia adelante
- Avanza <= '1';
- Retrocede <= '0';
- -- y se topa un obstaculo
- SAdelante <= '1';
- wait for 100ns;
- -- El robot se mueve hacia atras
- Avanza <= '0';
- Retrocede <= '1';
- -- y se topa un obstaculo
- SAtras <= '1';
- wait for 100ns;
- -- Se detecta un obstaculo lateral (en este caso por la izquierda)
- SIzquierda <= '1';
- SDerecha <= '0';
- wait for 100ns;
- -- El robot se detiene
- Avanza <= '0';
- Retrocede <= '0';
- -- y detecta obstaculos en multiples direcciones (ademas se agrega uno por la derecha
- SDerecha <= '1';
- wait for 100ns;
- -- El robot se detiene
- Avanza <= '0';
- Retrocede <= '0';
- -- Solo sensor derecha
- SAdelante <= '0';
- SAtras <= '0';
- SIzquierda <= '0';
- SDerecha <= '1';
- wait for 100ns;
- end process;
- end Behavioral;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement