Arduino project to apply what I have learned in logic design

Hello,
I am not sure if I'm posting this in the right forum. I really hope that I am.
I am here to ask you arduino enthusiasts what I could do for a project for my logic design class. We have learned the following topics:
combinational systems(logic gates, decoders, encoders, multiplexers, PLA, PAL, ROM),
function minimization (Quine-McClusky, kmapping, boolean algebra),
sequential systems(latches, flip flops, synchronous, asynchronous) and some other topics.

Now it is time to apply what we have learned into a project of our choosing. I have asked my prof. if I could use an arduino and he said it is alright if it relates to what we have learned. I am asking you if you know of a project using the arduino where I could apply the topics I have learned above.

Thank you and I really hope you guys have something good for me.

Draw Karnaugh maps on an oscilloscope using DAC vector graphics.

Logic gates, latches, flip flops, boolean algebra, no problem. You need to know those anyways to do 99% (not 90)of codes. You are limited to the number of pins available, so you may want to include de/multiplexers, or use an Arduino Mega. (Lots of pins to use).

AWOL:
Draw Karnaugh maps on an oscilloscope using DAC vector graphics.

That sounds really interesting. Could you please elaborate though? I have landed on this: Vector Display Introduction – NYC Resistor
And please tell me how that would use what I have learned in logic design.

HazardsMind:
Logic gates, latches, flip flops, boolean algebra, no problem. You need to know those anyways to do 99% (not 90)of codes. You are limited to the number of pins available, so you may want to include de/multiplexers, or use an Arduino Mega. (Lots of pins to use).

I have the arduino Uno. I think it has 13 pins. So is there a specific project that you may refer me to?

I think it has 13 pins.

Count again.

AWOL:

I think it has 13 pins.

Count again.

14 :expressionless:

Well if you can get a couple of buttons, then you can make quite a few projects all in one. In fact there are examples provided to you with the Arduino software, that deal with logic gates, latches and Boolean algebra.

Zatara7: 20, what about the analog pins?

HazardsMind:
Well if you can get a couple of buttons, then you can make quite a few projects all in one. In fact there are examples provided to you with the Arduino software, that deal with logic gates, latches and Boolean algebra.

Zatara7: 20, what about the analog pins?

Well I was thinking about a logic design project. So I assumed that I would be using only the digital pins

The analog pins can be used as digital inputs too.

Zatara7:
combinational systems(logic gates, decoders, encoders, multiplexers, PLA, PAL, ROM),

No demultiplexers?

We didn't dig into them so I don't know much about them. I hardly remember my prof. talking about them.

HazardsMind:
The analog pins can be used as digital inputs too.

Good to know

Or digital outputs.

And no adders, the outrage. They don't teach em like they use to. :wink:

I suggest the OP emulate the classic TTL 74181 ALU chip. There is just about enough pins in a Uno board to manipulate the two 4 bit input buses, the operation bus, and display the 4 bit output buss and carry and borrow bits, etc.
It was the classic heart of most minicomputers built in the 70s and would be a challenging task for the arduino to show off your mastery of this ultimate classic programmable combination chip.

Lefty

I can't find anything that would look good as a project. I think I'm just going to do a one lane traffic controller that he suggested. Using an up/down counter --> 74ls193

What about a programmable something? I don't know about the "something" part, but you can make it programmable if you instruct the Arduino to take input from a keypad and take that input as a "program" (procedure) in some custom language. E.g. I1 is input 1, O1 is output 1. Accept logical operators and apply them to produce an output from your inputs, define a way to use latches, maybe timers and counters. Then imagine some interesting domain (light, sound, temperature, home automation?) where you want to give end users the ability to program their own system.