Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Welcome to the new platform of Programmer's Heaven! We apologize for the inconvenience caused, if you visited us from a broken link of the previous version. The main reason to move to a new platform is to provide more effective and collaborative experience to you all. Please feel free to experience the new platform and use its exciting features. Contact us for any issue that you need to get clarified. We are more than happy to help you.

Hi, i have a very very simple VHDL

model i need to build. Yet, it doesn't work :(

the purpose of the code is very simple. I have a step motor i connect to a circuit matrix. the circuit matrix has a ULN2803 transistor. And the matrix is connected to an Altera EPF10K70 device . i need to make the motor turn right at my command (pressing a button on the altera) and turn left at the pressing of the other button. every button pressing is to adjust the motor to the side by a click. Meaning, that one short press only moves it slightly, and a long press keeps it moving until i stop pressing it.

but it doesn't work :(

I have to assign this project for next sunday, or else i'll flank this course.. pls people - i desperetaly need ur help!

here's the code i did:


entity MOTOR2 is
port
(out1_rl, out2_rl, out3_rl, out4_rl : out std_logic;
right, left : in std_logic);
end MOTOR2;

architecture behave of MOTOR2 is
Begin
process (right)
VARIABLE temp_rl : INTEGER RANGE 1 TO 4;
Begin
temp_rl:=1;
if (temp_rl=1) then
out2_rl<='1';
temp_rl:=2;
end if;
if (temp_rl=2) then
out3_rl<='1';
temp_rl:=3;
end if;
if (temp_rl=3) then
out4_rl<='1';
temp_rl:=4;
end if;
if (temp_rl=4) then
out1_rl<='1';
temp_rl:=1;
end if;
end process;
end behave;

Sign In or Register to comment.