Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Education Robotics

What Micro-Controller Would You Use to Teach With? 175

Rukie asks: "I'm looking into starting some sort of robotics class for my high school, which severely lacks any sort of technological classes. I am now wondering what micro-controllers are best for an educational environment. I definitely want something more advanced than the Legos, but something that won't fly over people's heads. Are there cheap, scaleable micro-controllers for learning in a classroom or at home? I'm curious how my fellow readers have hacked up toys to make their own robotics at minimal cost."
This discussion has been archived. No new comments can be posted.

What Micro-Controller Would You Use to Teach With?

Comments Filter:
  • PICmicro (Score:3, Interesting)

    by _merlin ( 160982 ) on Thursday February 01, 2007 @12:46AM (#17838666) Homepage Journal

    The Microchip PICmicro is a very good choice. Try the PIC16F84 [microchip.com] - the chip is cheap, programmers that connect to a PC parallel port are simple to build, a chip can be electronically erased and reprogrammed hundreds of times.

    The assembly language is also very simple. There are only thirty-five instructions and two addressing modes. It's also very easy to calculate instruction timing (for delay loops, etc.). I learned to program those things when I was at high school.

    Things like the BASIC stamp are less than helpful. You aren't close enough to the metal. If you don't like the PICmicro, an AVR chip would be my second choice.

  • by Uncle Ira ( 586682 ) <[moc.toofgib] [ta] [sotx]> on Thursday February 01, 2007 @12:46AM (#17838668)
    As much as I love the open source Arduino [arduino.cc] board for my own personal use, and even though the basic STAMP is raher expensive (even with the education discount), Parallax has an extremely thourough set of documentation that is perfect for an educational environment. They have a fee book available for download called "What is a Microcontroller" [parallax.com] that should fit all your needs. It contains a series of predesigned lessons that assume no technical experience for your students. All your lesson plans are done for you.
  • FIRST Robotics (Score:2, Interesting)

    by Quzarx ( 986221 ) on Thursday February 01, 2007 @01:15AM (#17838932)
    There are some robotics groups out there already. FIRST http://usfirst.org/ [usfirst.org] Robotics has been around for years. However, the cost is a bit steep, so a sponsor is needed. The team I work with was able to get a sponsor after one year of searching. The robots are pretty simple, you are handed a kit for electronics, and a base chassis, from there, you can add on accelleromters, gyroscopes, cameras, and other sensors to make things more complicated. Everything is custom made, so it is a great way to learn how to engineer things.
  • Re:Well... (Score:3, Interesting)

    by phantomcircuit ( 938963 ) on Thursday February 01, 2007 @02:07AM (#17839324) Homepage
    I'm a high school senior. I go to a crappy inner city school (i'm not getting up at 5am for better desks). I have taken every technical class the school has to offer. Frankly I could have learned more if I had spent the time from just one of those classes reading about the topic.
     

    Most of these kids you'll teach probably wont have a mastery of algebra, let alone have the mental concept of complex systems like robotics. There's always a few that do, but they'd benefit from an extracurricular group after school.
    Anybody even remotely interested in serious robotics at a high school level will have already completed Algebra in 8th grade. Everyone else is to busy talking about/having sex to care.

    Extracurricular groups sound great, except no one ever has time for them. I cannot spend my time doing an extracurricular activity when I have 4 hours of homework each night. Again students interested in robotics will have significant homework each day.

    You'd be best teaching how a computer works (from ground up), how circuits work, basic circuit theory, and basic radio theory.
    I agree with that, except that AP Physics C covers a great deal of the basics of circuits and EM.
     
    AP Physics C should be offered at ALL high schools, if it is not then he shouldn't be trying to add another elective.

    Teaching how a computer works is a GREAT idea. Frankly no one really gets it.

    Internet resources for figuring out how computers work is great and all, but a real classroom experience cannot be beaten here.

    As a side note:

    Most people have absolutely no idea how a computer works. I don't care. No they don't need to know. No I'm not going to tell them they are stupid. I don't know how to do a French manicure, does that mean I'm stupid? didn't think so

  • better things (Score:2, Interesting)

    by KG6 ( 1007815 ) on Thursday February 01, 2007 @02:37AM (#17839536)
    I think you're students will become extremelly enthusiastic towards robotics if they get involved in a program like FIRST [usfirst.org] robotics. Check out regional event this year and talk to some of the students, a huge majority of them will tell you that because of FIRST they intend to persue a carrer in engineering.
    Check what people are working on at chiefdelphi [chiefdelphi.com], the environment there is very much like what the students are like at their schools. They ask questions, chat with each other, have fun, and mentors offer guidance for some of the tougher problems.
  • by Miamicanes ( 730264 ) on Thursday February 01, 2007 @02:49AM (#17839596)
    I'd recommend Atmel AVRs without a moment's hesitation.

    The PIC and 8051 grew from architectures that were considered spartan and stripped to the bone a generation ago, and got a foothold only because (compared the "real" CPUs) they were somewhat affordable. They've matured, of course... but people who start on PICs almost inevitably get saddled with all the legacy baggage. In contrast, people whose first exposure is to Atmel or Motorola take one look at the PIC's legacy stuff, say "eeeewwww!", skip the first 20 chapters of the book, and go right to the good (modern) stuff.

    The Motorola/Freescale MCUs are powerful, but they're NOT for newbies.

    The nice thing about AVRs is that they're fairly robust and hard to permanently kill. I've abused AVRs pretty badly, and I've NEVER had one permanently die on me. There were a few I'd thought were dead, but ultimately they were all resurrected via high-voltage programming or by supplying an external clock signal to them. I've grossly exceeded the i/o pins' current-draw capabilities, connected power backwards, created pin-to-pin shorts, and still lived to tell about it. From what I've read, other platforms aren't quite as forgiving and wantonly abusable as AVRs. I know people who've driven 5v-relays straight from AVR i/o pins.

    AVRs also have a great resource -- avrfreaks.net

    AVR development tools are fairly cheap. An ISP-only programmer costs around $30-35. The Dragon costs $50, but adds support for high-voltage programming (handy for fixing messed up fusebits and reviving chips that otherwise appear to be dead) and Debugwire (think of it as single-wire JTAG for debugging). Unless you actually care about compatibility with Atmel's old chips, I'd recommend a Dragon over the STK500, if only for the Dragon's Debugwire capabilities.

    AVR Studio is a free IDE (Windows only, though... but I think there's a Linux alternative) that natively supports assembly, but also integrates seamlessly with WinAVR for C/C99/C++ (of the 3, C99 is the one I find the most useful... it basically gives you the linguistic niceties of C++, like parametric polymorphism, without the huge libraries and resource requirements normally required for full-blown C++).

    One major tip: if you want to use C (or eventually C99 or C++), buy John Pardue's book ("C Programming for Microcontrollers) and a Butterfly. He sells it directly from his website (smileymicros.com) for less than it costs from Amazon, and you can pick up the relevant hardware from him for less than you'd spend buying it all from Digikey. No, it's not the greatest book on C programming ever written... but it's the single best book you can get for learning C as it applies to AVR microcontrollers. Remember, 99% of C is learning how to use its libraries. Let's just say that time spent learning to use stdio in a generic C programming book isn't going to do much for your AVR programming skills...

    Architecturally, AVRs are fairly well-behaved. The biggest problem I've had is the fact that they're SO well-behaved, it's easy to get a false sense of security and overlook details that are different between them. Unfortunately, Atmel's datasheets seem to have the same general editorial philosophy as the first O'Reilly books (say it once, never repeat anything, and bury important details in the middle of otherwise nondescript paragraphs on page 183, without so much as a gray box or sidebar to call attention to it). However, everyone at avrfreaks.net is painfully aware of those documentation shortcomings, and when somebody gets snared by one of them, someone else usually notices within 5 minutes, sighs, yawns, and politely points them in the right direction. It's exceptionally rare for anyone to get flamed.

    As far as robots go, AVRs definitely seem to be just about everyone's favorite 8-bit processor. 6809s are popular with some more advanced users (though many of them freely admit that they aren't quite sure why they used a 6809 instead of an AVR), and the 68332 is a longtime favorite at the high en
  • by gwait ( 179005 ) on Thursday February 01, 2007 @03:19AM (#17839832)
    That's no lightweight system, and it comes with a serious set of development tools who's big brother version is used in the real world.

    Looks like they offer an educational version too:

    http://www.arm.com/markets/embedded_solutions/armp p/14149.html [arm.com]

  • Re:Well... (Score:1, Interesting)

    by Anonymous Coward on Thursday February 01, 2007 @03:32AM (#17839938)
    > Anybody even remotely interested in serious robotics at a high school level will have already completed Algebra in 8th grade.

    What the hell makes you think all geeks are math geeks? Some like to hardware hack precisely because it isn't such an abstract thing.
  • by Andy Dodd ( 701 ) <atd7NO@SPAMcornell.edu> on Thursday February 01, 2007 @10:25AM (#17842522) Homepage
    "The nice thing about AVRs is that they're fairly robust and hard to permanently kill. I've abused AVRs pretty badly, and I've NEVER had one permanently die on me. There were a few I'd thought were dead, but ultimately they were all resurrected via high-voltage programming or by supplying an external clock signal to them. I've grossly exceeded the i/o pins' current-draw capabilities, connected power backwards, created pin-to-pin shorts, and still lived to tell about it. From what I've read, other platforms aren't quite as forgiving and wantonly abusable as AVRs. I know people who've driven 5v-relays straight from AVR i/o pins."

    I recall one story from my ECE 476 professor regarding their robustness - At one point he accidentally connected power in reverse, the AVR overheated significantly and melted the plastic of the protoboard it was plugged into.

    He shut it down, pulled the AVR, and plugged it in correctly into a different protoboard.

    While the protoboard it had been previously used in was now destroyed, the AVR worked flawlessly.
  • by drinkypoo ( 153816 ) <drink@hyperlogos.org> on Thursday February 01, 2007 @11:38AM (#17843632) Homepage Journal
    Just one more note on AVR cost - it's JACK DIDDLY. I bought a full development board that would program any part available at the time, with eight buttons and eight LEDs on it, AND a second ATmega chip, for $100 from Digi-Key! If it's only $100 from digi-key, you KNOW it's cheap. That package comes with everything you need to get started; you download the latest software from the web. Only problem is, it uses a serial connection (or maybe parallel?) so if you have the latest greatest computers (I know, unusual in edu anyway) you need a USB to serial adapter. But there really is NO cheaper way to get started (using off the shelf components) than AVR.
  • by MyDixieWrecked ( 548719 ) on Thursday February 01, 2007 @12:18PM (#17844390) Homepage Journal
    If you really wanna dive into AVR programming, you could also check out the Arduino [arduino.cc].

    It uses an AVR for the controller and doesn't require a PIC programmer, connects over USB to the computer, has support for Windows, Linux and OSX, and comes ready for working when you get it. The only part that is kinda limiting to people unfamiliar with programming is that it uses C++ as the language, but has a very simple instruction set, so the learning curve may be slightly steep for beginner programmers.
  • by iabervon ( 1971 ) on Thursday February 01, 2007 @01:24PM (#17845700) Homepage Journal
    For Linux, you want gcc, avr-libc, and avrdude. One nice thing about the AVR over the 8051 is that GCC supports it. This means that you can use perfectly standards-compliant C99 with all the trivial optimizations (which is really nice, because you can write your numeric constants as explanatory expressions without wasting cycles in the resulting code).

    It's also worth noting that the AVR datasheets are incredibly detailed and require very little background information. E.g., the section about I2C (aka TWI) is actually one of the best references for the bus protocol, as well as telling you exactly how to program the chip to do it. Of course, they're huge documents, but you only have to read a small portion of each of them, because the section on timer 2 doesn't assume that you've read the section on timer 0 and therefore explains from scratch how timers work on the AVR. Read the data sheets with a PDF reader with table of contents, index, and search.

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (5) All right, who's the wiseguy who stuck this trigraph stuff in here?

Working...