Berkeley’s CNMAT (center for new music and audio technologies) has a nice resource archive, with pictures. Useful if you’re looking for electronic parts, microphones, and other things audio-related. Similar to RISDpedia and ITPedia, among others, very useful. Thanks to Tom Gerhardt and Adrian Freed for the link.
CD4067 Multiplexer used to control LEDs
This tutorial will show how to control multiple LED outputs from a microcontroller using a CD4067 analog multiplexer.
This is a stub. More explanation will follow, but for now, here are schematics and code for Arduino.
Parts you’ll need:
- CD4067B multiplexer
- Arduino microcontroller
- LEDs
STP16C596 Shift Register
This tutorial will show how to control multiple LED outputs from a microcontroller using an STP16C596 shift register. The STP16C596 is similar to the popular 74HC595 shift register, but it’s nicer because it can sink a constant current to the LEDs it’s driving. It works slightly differently, however, so this code won’t work exactly for the ‘595.
This is a stub. More explanation will follow, but for now, here are schematics and code for Arduino.
Parts you’ll need:
- STP16C596 shift register
- Arduino microcontroller
- LEDs
- 1-kilohm resistor
A Tale of Two (three) Pongs
Created 2 April 2009, updated 1 Nov 2020
When I start learning a new platform, I have a simple rule: If you don’t know what to do with it, make pong. What I love about pong is that it’s a simple rule set, easy to understand, and implementable on just about anything with a pixel display. You can generally implement it in a day or less on any platform. And it’s a great example of engaging interaction. People understand what’s going on right away, and, when implemented well, it’s just challenging enough to keep you engaged for several minutes at least. That’s good interaction, to me.
I’m a big believer in starting with the application rather than the platform. I think you do better work when the tools serve the need rather than the other way around. But sometimes you get stuck with the assignment to learn a particular platform or tool, and you have to make up a project on the spot. When that happens, make pong.
As an example of this, I built pong for two platforms yesterday [1 April 2009]: an Arduino Mega with 2 8×8 LED matrices (based on my earlier post), and Processing. Since Arduino’s programming syntax was based closely on Processing’s, I figured it should be possible to port the code from one to the other pretty quickly. It took about ten minutes to go from Arduino to Processing. In 2020, I updated this exercise to write the program in p5.js as well. Following, I’ll describe the thought process of putting the game together for all three, as a hopeful aid to beginning programmers.
Continue reading “A Tale of Two (three) Pongs”8×8 LED matrix control on an Arduino Mega
Created 31 March 2009, edited 1 Nov 2020
Once you’ve mastered microcontroller programming, you might be tempted to control a lot of LEDs. Lots of people have this desire once they master the basics. Many microcontrollers have a limited number of output pins, however, so you might think that limits how many LEDs you can control. I’ve written about a few different methods around this before in chapter 14 of Physical Computing and in this blog.
By matrixing your LEDs, you can control many more than the number of pins you have. For example, with the Arduino Uno and earlier models, you had up to 20 digital outputs (13 labeled digital I/O 0 through 13, plus the six analog outputs, which double as digital I/O 14 through 19). With 16 of those, you can control an 8×8 matrix of LEDs. That’s 64 LEDs. With the Arduino Mega, you have 54 digital I/O pins, so you can control a lot more. This example uses 32 of them to control 2 8×8 matrices, for a total of 128 LEDs from one controller.
To make this example, you’ll need:
- Arduino Mega
- Breadboard or prototyping shield.
- 8×8 LED matrix. I got mine in a surplus shop in China, but you can also get them from most electronics retailers
- male pin headers
- female pin headers
- Wires
Step 1: Figure out the LED Matrix pins
Continue reading “8×8 LED matrix control on an Arduino Mega”XBee to USB modules
Droids.it has a breakout board for XBee radios, and a USB-to-Xbee board available.
The USB board is nice, because in addition to having a built-in 5V-to-3.3V regulator and indicator LEDs, it’s got all the pins of the XBee broken out on the side of the board. Makes development of XBee projects easier.
The breakout board also has its own regulator on board, making it easy to interface with a 5V project. It’s also got the serial pins broken out to a single row, making it easy to mount on the side of a breadboard.
The prices on both are reasonable for the European market. As the US dollar continues to sink, they’re a bit pricier for US customers, but still reasonable, for now.
Thanks to Rob Faludi and Jeff LeBlanc for testing help, and to Luigi Carnevale for supplying sample boards.
Technorati Tags: electronics, networked objects, networks