Arduino/micro-controller thread

Very nice!

As part of my ongoing DIY modular synthesizer project I’m designing an Arduino-based step sequencer. I’m still thinking about how to design the all the outputs I need, which will consist of routing the outputs of 32 different potentiometers to various places. It will probably involve a bunch of multiplexers all controlled by the Arduino.

Thanks, it was a fun project and I think it turned out nicely. The app needs a bit more work but the main features are working well.

Are the pots inputs or outputs for the Arduino? If they’re inputs, you can just put them in a square array with the output pins tied together. Needs 12 digital outputs (6x6 array) and a single analog input. No need for a multiplexer.

heh, Flippy Dot, nice. :smiley:

That’s pretty cool. I did some software for flip-dot displays a long time ago. They’re not only low energy consumption displays, they also have high visibility.

Very cool. I have the Etch-A-Sketch working pretty well. As a test it draws a circle. There’s just a bit of a hiccup at the top, bottom, or sides where one of the knobs reverses direction. There’s slack within the E-A-S mechanism, so I’m fine tuning how the software deals with it.

In the finest programming tradition, I’ll have it spell “Hello, World!” next.

The pots control output voltages from the sequencer - since they need to deal with a somewhat bigger voltage range than the Ard’s input levels I am planning on using multiplexers to step through one pot at a time. They also need to range between about -12 to +12v and IIRC the Arduino can’t really deal with negative inputs.

Indeed. Like eInk, only better–they have a great contrast ratio, and look just as good in direct sunlight as dim indoor light. Resolution isn’t so hot, but that’s part of the fun.

I knew I had to implement the game as soon as I came up with the name :).

You might have spotted Pong in the menu–I haven’t implemented that yet, but it’s on my to-do list.

Where did you get the, ehmm, flipping thing?
I just thought of something, how loud can it be? I’m wondering if it could be used as an alarm clock.

You want it intentionally noisy :)? It does get pretty loud when all the pixels are going at once. Something along the lines of pouring dry rice into an empty bowl.

I ordered it from these guys. Not cheap, though. IIRC it was 420 euros. They do have smaller displays, 7x7 and 14x7, for proportionally lower cost.

All right; makes sense. If they were just low-voltage inputs you could avoid the multis, but with your setup it sounds like you need them.

Excellent! I want to see videos when you’re done.

Also, since it’s technically an analog sequencer, it would be cheating to have the Arduino emit control voltages. :slight_smile: (But emitting multiplexer logic is OK.)

In olden tymes they built these things entirely out of TTL logic. Really makes you appreciate what microcontrollers can do.

Thirding a Saleae. Those things are amazing for the cost.

Any thought to using a Raspberry Pi over an Arduino?

The R. Pi is basically a tiny single-board computer, complete with OS and a graphics chip and Ethernet port and so on. It has some small overlap with what you might use a microcontroller for, but not a lot. Use a Pi where you would otherwise use a (very small) computer. If you just need to control some external components like ICs, relays, LEDs, etc., use a microcontroller.

It has all of the overlap you’d want and then some! If the etch-a-sketch were being driven by an RPi you could tie it in with anything that little beast can run. Get a web server running on that thing and you could pull out your phone, type some stuff into a webpage, and watch as your etch-a-sketch draws an incredible ascii penis.

What an age we live it.

These two quotes aren’t related, but …

Robot Arm’s victory cry and bed-going was at 6:52AM. Despite Babka’s happy assertions about the wonders of this most modern of ages, I’m reminded that some aspects of programming haven’t changed since I was in college in the 70s, nor as a sporadic developer through the 80s, 90s, '00s, and even early '10s.

The more things change, the more they stay the same! :smiley:

They’re pretty different. I’ll list some advantages of each:

Raspberry Pi:

  • It’s a real Linux computer with display, filesystem, LAN, USB, and so on. You can develop right on it.
  • Much more powerful than Arduino, especially with floating point math. Lots more memory, too.
  • Can run high-level scripting languages like Perl/Python.

Arduino:

  • Cheaper.
  • Lower power–much more usable for battery-powered devices.
  • Faster startup (your program starts running immediately).
  • Generally easier to access GPIO pins–you just read/write them directly. This makes “bit banging” (whether to implement extra serial ports or whatever) easier. This has apparently gotten easier on the RasPi in the past few months–I don’t have any experience there yet. It used to be pretty bad.
  • Supports analog inputs, and other pin-level features like interrupts.
  • Easier to get going with simple projects, like blinking an LED.

I use both in my projects, but mostly Arduino. They’re good enough for the kinds of projects in this thread–driving motors, interfacing with serial devices, etc. RasPi isn’t quite cheap enough for me to consider them “disposable” in the way Arduinos are, so I don’t tend to build them into my projects permanently.

Yes. I’d build a robot with a Raspberry as the brain but still have an Arduino controlling every movable part and laser destruction device.

Last night, circa 3 am: I find an off-by-1 error in one of my programs. I wrote the code in question like a year ago. “How did this ever work?”

I don’t think you’re a real programmer until you’ve exclaimed those words in the wee hours of the morning.

It seems I’ve been a “real programmer” for a very long time. You can tell I’ve just been reading the “Age and related horrors” thread.

From my several seconds of googling I don’t think the RPi is even $10 more than the Arduino. Toggling the GPIO on an RPi is simple enough to do in a kernel module.

Or maybe I’m too much of a Linux nerd now to not preach about it.