Color/Colour Invaders!

I was recently inspired to try out by Hamster’s own ​Colour Invaders project. As the name suggests, this project is similar in design to the classic Space Invaders game or (more similarly) the ​Casio’s Number Invaders on the calculator. The idea behind the game is that different colored “invaders” start marching down the LED strip and you have to fire missiles that match the color of the oncoming invader. Naturally, as you successfully destroy more of the attackers, the faster they come towards your base. Here is what you need to get started.

Read More

Libraries

This week happens to be National Library week, and although Digilent is not a library, we certainly use them! I’m not referring to public libraries, though (although I am personally a fan of them); rather, I’m talking about the C++ libraries that are widely used with our microcontrollers. Although C++ libraries are not quite the same as an IP for FPGAs, they serve a similar purpose. These libraries include a set of predefined functions that perform a specific task, such as sending and receiving a set of data over SPI, that the user can use without having to define what they do.

Read More

How Do I Use Digilent Products at School? (Digital Edition)

As you learned from my previous post (the Analog Edition version of this post), we used the Analog Parts Kit and Analog Discovery in EE352 at Washington State University (WSU) to make an AM radio transmitter and receiver. Not only do we use Digilent products in EE352, but we also used Digilent parts in EE324 (Fundamentals of Digital Systems) — the digital lab class I was taking.

Read More

A Listening Calculator

When working with microcontrollers, it’s pretty straightforward to have your system board “listen” for an input that you would give it and have it do some sort of action to show that it noticed your input, such as pressing a button to light up an LED. Listening to a set of inputs and then comparing them to a predetermined set, like in the Simon Says game, is a little more involved but definitely doable. But what if we did not compare to any internal values and the system board has no idea how many inputs we might provide?

Read More

What Are Muxes and Demuxes?

A huge part of FPGA design is using logic blocks in design. With logic blocks, you can compartmentalize your design, rather than trying implement everything in one shot. Designing without smaller blocks would be like trying to design a car without subsystems like the braking system or engine. About half of the way through the course there is a project that covers a variety of basic logic blocks, including multiplexers (muxes) and demultiplexers (demuxes). So what are muxes and demuxes?

Read More

Simon Says… with LEDs!

At one point or another, we have all played the “Simon Says” game. In this game, one person, Simon (or Susan, Chad, or whoever happens to be the leader), will say “Simon says” and tell all of the other players to do something, such as raise their left hand. The catch in this game is that if the leader tells the other players to do something without saying the words “Simon says” and the other players do it anyway, they’re out. I personally really enjoy playing Simon Says, but I thought it could even be more fun if you could play Simon Says with a bunch of LEDs…

Read More