Become a fan of Slashdot on Facebook


Forgot your password?
Programming Education Hardware Hacking Build

Parallel Programming For the Arduino 140

blackbearnh writes "As more non-traditional programmers start playing around with embedded platforms like the Arduino, the limitations and complications of interrupt-driven event handling can become an annoying barrier to entry. Now a group of academics have ported the parallel-processing language Occam to the Arduino. In an interview on O'Reilly Answers, Matt Jadud of Allegheny College describes how Occam helps artists using the Arduino in their installations, and how the advent of low-cost computing platforms is changing the educational experience for proto-makers in school. 'Basically, an artist or a tinkerer or a hacker has a goal. They don't really care about learning Occam. They don't care about how this language is different from C. They just want to make a cat door that keeps their cat out when the cat comes back with a mouse. Or they want to make some kind of installation piece. Trying to focus as much on the user and the possible goals they might have is what's motivating our work right now.'"
This discussion has been archived. No new comments can be posted.

Parallel Programming For the Arduino

Comments Filter:
  • Python alternative (Score:1, Informative)

    by PaulIsTheName ( 1646771 ) on Wednesday June 16, 2010 @01:22PM (#32592142)

    Or try PyMite a.k.a. Python-on-a-chip or p14p [] if you really must... Also features threads and is a little more mainstream than Occam. And people do actually care about the amount of mental capacity goes to their tools while making the cat door open and close.

  • by JoelMartinez ( 916445 ) on Wednesday June 16, 2010 @02:28PM (#32592952) Homepage
    I read this story a *long* time ago, but I remember that someone built a cat door that used a webcam to capture the silhouette of his cat as he entered the cat door. The software would look at the shape, and use a computer learning algorithm to "recognize" the cat ... that way, when he tried to enter with a mouse in his mouth, it would block him. It also had the effect of keeping out raccoons because it obviously wouldn't fit the profile
  • by Egelmex ( 1835008 ) on Wednesday June 16, 2010 @02:34PM (#32593030)
    Python came out in 1991 but occam in 1983....
  • Re:Propeller Chip (Score:3, Informative)

    by vlm ( 69642 ) on Wednesday June 16, 2010 @03:09PM (#32593492)

    After all, it's a microcontroller

    You italicized the wrong syllables. Should have said microcontroller as it can only parallelize separate hardware threads. You can't, for example, do more than eight software threads.

    Here's a mixed model fail for an four person soccer video game:

    one cog runs the video out (hardware, OK)
    one cog runs the sound out (hardware, OK)
    one cog each for each human player, reading each joystick or bluetoothed wiimote or whatever (hardware-ish, OK)
    one cog each for each computer controlled AI player (software, danger! danger! danger!)

    That adds up to 10 cogs. And success or hard failure depends on a user configurable number of players due to inherent hardware architectural limitations.

    A better architecture in this situation would be scrap the hardware accelerated threads and go pure software threading, since none of the threads (well, except video) are terribly computationally difficult.

    Also note that lynxmotion sells numerous little robots with up to 32 little servos. Easy if your threads are done in software, not so easy if they are only done in hardware and you only get 8 or whatever.

  • by smellsofbikes ( 890263 ) on Wednesday June 16, 2010 @03:36PM (#32593874) Journal
    Here's the hackaday entry [] about the feline facial recognition project. The actual project itself is located on a pretty slow server, so you'll have to just go with that, but the idea (from 2003) is what you say: it lets in cats that aren't carrying stuff in their mouths, but doesn't let in raccoons or skunks, and since he's captured pictures of them trying to get in, that's pretty useful.

The shortest distance between two points is under construction. -- Noelie Alito