Developing physical controllers for the uninitiated

[Dave] hosted a one day seminar at the Illinois Institute of Technology which focused on rapid electronics prototyping for those with little prior experience blinking those LEDs. As the defacto standard for novice prototypers it’s no surprise that he gave an Arduino to each team to use as the controller-computer interface. He started the day by getting the Firmata package up and running. Firmata is a set of libraries that make communications between software and a microcontrollers simple. In this case, each team developed a Flash game that used data from the Arduino as a control.

Several rudimentary games resulted from the day. We’ve embedded video of two of them after the break for your enjoyment. Lion Vs. Pig uses potentiometers, a distance sensor, and an arcade button to play a game of cat-and-mouse (well, Lion-and-Pig really). The other is Kick the Cat, a game that uses a flex sensor and force sensor combination as input. This is something of a virtual mini-basketball game that uses a springy material to launch a virtual feline at a target.

These teams already had a background in code, but the hardware was a new endeavor for them. Arduino helps to break down this cross-over barrier and we think this will result in more people to contribute to open source projects, and falling hardware prices due to a larger volume of demand.

Lion vs. Pig

Kick the Cat

Comments

  1. M4CGYV3R says:

    Just what we need. The next generation of mc developers unable to develop without the hypersimplistic platform of the Arduino.

  2. Mike D. says:

    Question…I only have Basic Stamp experience, why do we get less flack than the Arduino crowd?

  3. dingus says:

    ugh… why does there have to be so many dumbed down projects!? I’m pissed off at the “Make your own ____ kit without soldering!” type of stuff that’s becoming more prelevant. You know how I learned to solder? A 20 radio shack soldering iron, $10 worth of parts and some band-aids! Instead of ruining Hack-a-day by making it a newb site, show some great projects. Besides, there’s already a magazine for people with no skills, Make.

  4. matt says:

    ’cause it’s 2010, no one cares about basic stamp, not even the haters. plus this website clearly has a boner for arduinos, not stamps.

  5. Mike D. says:

    @matt so what platform do you use? I don’t care what year it is. Does that make it obsolete? You have to start somewhere. The educational documentation for Stamps is second to none.

  6. edonovan says:

    I don’t get all the elitists hating arduino for being easy to use. It’s like me hating people who depend on the unreal engine to write games. Just because they don’t code a game engine from scratch like I did does not mean they cannot create some quality games.

    If you were abused and neglected as a child, would you want every other child on the planet to be abused and neglected? Would you think less of the children who were not abused? Would you think less of the people who cared enough to help those children?

    bonus points to anyone who noticed me comparing coders to children.

  7. jim says:

    What’s a good jumping on point for me if I’d like to avoid being ridiculed?

  8. jake says:

    @jim
    there is none. someone will always thing they’re better then you.

  9. Mike D. says:

    @jim: that was good…
    1. code indoors w/ shades drawn
    2. don’t blog or ask questions
    3. don’t stray from mfg.’s forums

  10. M4CGYV3R says:

    “Does that make it obsolete?”

    Pretty much, yes. I have worked with these for nearly 20 years now, and they really haven’t changed much aside from the crap you can plug into them.

    I don’t give BASIC Stamp flak because it’s very basic, more so than the Arduino. It’s very old, and is not nearly as widely-used or suggested to newcomers.

    I’m not saying Arduino has no use, I’m saying it’s not the right thing to be telling mc builders/programmers at every chance you get to use in lieu of learning actual mc construction and programming skills.

  11. M4CGYV3R says:

    “It’s like me hating people who depend on the unreal engine to write games.”

    I hate on these people too. I didn’t go to school for years and years to use other people’s software to make games.

    If you’re going to write a game that is truly your own, don’t just skin someone else’s engine, learn to make your own.

  12. ToddM says:

    I don’t understand all of the hate for arduino. Most people learned to ride a bike with training wheels. If you were going to learn to play guitar, you wouldn’t start off with a Les Paul. Most people’s first car isn’t a shiny new sports car.

    Jumping straight into C and interrupts and configuring timers and constant arrays of pointers to functions is daunting. But if an intermediate step exists that allows people to get their feet wet in embedded development, when they otherwise might not have, whats wrong with that?

  13. edonovan says:

    @M4CGYV3R

    No point skinning a cat with a rock when a knife makes it easier. As long as you get the desired result, who cares how you got it?

    That being said, it is important to be aware that you can also skin the cat by taking it to a butcher.

    (all comments must now be metaphorical)

  14. tim says:

    well actually I DID just jump “straight into C and interrupts and configuring timers and constant arrays of pointers to functions”, it’s not that hard. My only materials were a used textbook on C, and the devkit for my microcontroller of choice (Silabs C8051F340). It’s very easy to develop firmware for these chips by just reading some example code, read the datasheet, etc. BTW I’m 21 years old, CS student at the University of Texas.
    I like how the Arduino makes things simple, but, as is clear in most Apple products, simplicity can be very limiting. As well as making you a lazy programmer

  15. therian says:

    The problem with arduino that it not an “easy starting point” as many like to say, instead they “dead end” for most people.

  16. tim says:

    That’s why I believe you should just learn once, instead of learning one platform, discovering its limitations, then having to re-learn something else.

    Do it once, do it right. Learn the full C programming language, learn to program a PIC/8051/ARM/whatever, and be satisfied that you’ve learned an actual skill instead of something anybody could do in 5 minutes

  17. tehgringe says:

    meh…I plug it in, write some code, stuff happens, works for me.

  18. LMAO says:

    I think its ok to learn how to use an arduino..
    I bet the people that took this course could connect and program everything in the scheduled time.

    personally I prefer to build my pic circuit because I like to learn about it and fiddle with my design. But you cant beat an opensource controller.

    I give this post a thumbs up. I like the fact that they did something with flash… Its nothing new.. but I bet some viewers will be spark to create some more hacks to be posted later on.

  19. jh says:

    555 ftw!

  20. Spork says:

    Alright, I guess I’m on the “Arduino Hater” side of the fence, so here is my view.

    The Arduino platform is nice to learn how electronics work, if you set a pin high, and test with a multimeter, you notice 5v on that pin, etc. You can be blinking LED’s in a few minutes. It’s also nice for a quick and dirty “can I do this?” type project, where you just want to see if it can be done. Or more importantly, it is good way for someone with no experience to get their idea into a working prototype.

    The reason I “hate” Arduinos, is because people don’t use them to prototype. They just put the whole Arduino into the project and call it a day. I don’t even use the Arduino to prototype, I use PIC and a breadboard, but this is because I have a background in programming. I love C and ASM, so I’m comfortable prototyping with them. That said, I would encourage others to start with an Arduino if it makes them happy, but to clean up the project and implement just the AVR chip instead of the whole arduino.

  21. Marvin says:

    @Spork

    good one! Arduinos are for prototyping. If you found out that everything wil work as desired, put together the “real” hardware.

    That is the next step! Don’t get stuck in the eternal prototype stage!

  22. therian says:

    Every time Arduino blink a LED, God kill kitten

  23. Anon says:

    newbs

  24. samurai says:

    If you were starting from square 1, I think it’d be just as easy to learn C on a PIC dev board as it is a arduino board… or amirong?

  25. Christopher says:

    While I would agree that the over-abundance of Arduino specific projects seem to have over taken the site. They are not without Merit. I’ve always been interested in hardware/software, but never had the forward knowledge of what EXACTLY was at the heart of most modern robotics projects, until I heard the word Microcontroller. I started my discoveries with PIC WebServers, but never really understood the basics of C programming, let alone ease of development that came with Arduino. It wasn’t more than 3 months after playing with the Extruder Controller from a RepRap, that I decided to move beyond the Arduino and design my own board specific to whatever projects I wanted.

    And using the Arduino as an instructional platform is a very good start to the MCU novice. In that its development IDE+User base/tutorials are very numerous and helpful. As well as easy to understand. Much nicer than just throwing some ATMEGA168 TQFP’s at someone and saying get crackin’…

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

Join 92,330 other followers