Monday, December 27, 2010

New Arduino Software

Arduino 0022 has just been released.  I recommend downloading it and then deleting the old one (be sure to move any of your sketches over the new folder).  This new version has a library for talking to SD cards as well as a few new functions for character manipulation macros.  It also has patches that solve some of the issues you may come across if you don't update. You will not need to update your drivers.

You can download it here:

Tuesday, December 21, 2010

Failing. Yep.

Many professors and engineers will tell you about the projects they've done, the things they've invented, the innovations they've harbored, but they will rarely tell you about their failures.  How they hooked their chip to a power supply and it burst to flame.  How their experimental new concrete crumbled before they even took it out of the mold. How that chemically stable compound somehow ate through the table......How their projects never worked the first time.

You're project will most likely not work at first, but don't be disheartened.  It literally happens to EVERYONE, they just don't like to talk about it.

My words of advice to you when something doesn't work (be it your project, homework, anything:

  • Don't freak out

But I'm not dividing by zero!
The more upset you become, the more you will just want to set your project down and forget it. It also tends to snowball...the more upset you become, the more upset you become because you can't fix the problem because you are upset and it accumulates until you look like the guy and the right (yeah, it really works that way). This leads into the next bit of advice:

  • Take a deep breath and slow down
Dude, check out the backwards diode...
Opposite to the effects stressing over an issue, calming yourself will only serve to help you out. You can think much better when you aren't imagining yourself pulling the printer scene from Office Space on your project.  Go through the issues slowly, systematically and logically, looking at possible problems.  

  • Bite sized chunks
Bite sized.  Enough said.
Separate your total situation/project into bite sized chunks that can easily be solved. You can't finish the Pizza Casba 7lb pizza challenge in one bite.  Nope, it's going to take you quite a few and likely help from friends. Break your project up into small little chunks. I need code that does this....I need wheels that can grip like this.....I wan't pizza now....  When troubleshooting, do the same thing.  Break your code, circuits, mechanical issues, everything into smaller and smaller chunks till you solve the problem.

  • Stuck? Take a break.
Break me off a piece
Remember back to, well, any week of college, and you'll remember forgetting the answer to a problem.  It's on the tip of your tongue and just behind your eyes, but no matter how much steam pours from your ears, you cannot remember it.  Minutes after handing in your test, you divine the answer from the ether.....too late....   

When you get stuck, you can try too hard and saturate your mind to keep from absorbing new ideas.  Take a break.  Go grab a candy bar from down stairs, ride the elevator up and down, talk to a random stranger, draw a face on the side of your hand and make it talk.  Anything helps.  Something I've found is that by leaving the room, you change your mindset, allowing you to think differently.  Folks spot me riding my longboard randomly across campus trying to solve something.

  • Rotate the mirror and don't reinvent the wheel
"Can't touch this."..wrong MC
If you don't find an issue, see if you are possibly tackling the problem from a bad angle.  Are there ways of approaching your goal another, easier way? Has someone already conquered this problem?  Did they fix it?  How so?  Don't spend too much time trying to reinvent things if it isn't necessary. 

Thursday, December 9, 2010

Workshop 2

Sorry about the technical difficulties last night folks.  I'll have the full program written and instructable posted with tasty comments and chocolate candies in the next few days.
Candy Arduino

Update: As the video is over 20 minutes long and doesn't play nicely with video sharing sites, I've posted it on the servers. Take a look when you get the chance!

Wednesday, December 8, 2010

Workshop tonight! (reminder)

Sorry for the late post - I've had a terrible day and haven't been able to post a reminder.

As I said in a previous post, there is a workshop TONIGHT in Clark A205 at 6pm.

Monday, December 6, 2010

Wednesday's workshop and thereafter

Wednesday's workshop will focus on analog interfaces and programming. If you want to try to get a head start, take a look at the analog examples included with the software.  Go to File>>Examples>>Analog>>{pick an example} and look through em. They should give you an idea of some of the things we'll discuss.

Unless I have a strike of genius between now and Wednesday, we'll be making Wheel of Fortune inspired spinner..  The faster you spin your potentiometer (odd looking plastic thing), the faster the LED wheel will spin.  If you bring a speaker to tear apart (old pairs of headphones work well), in addition to your breadboard, laptop, and Arduino if you've picked it up, you can add that fun clicking noise as it spins

The week we come back, we'll do workshops on hacking, digital devices (like computer keyboards), IEEE standards (this one is actually going to be a lot of fun), and a final one of project design.

The last workshop (project design) will lead us off into the project nights (more about those later).  I'm going to try to see if I can get some local engineers to help you out in this one and hopefully the project nights as well.

A great resource and Creative Commons

I found a free (and legal) PDF of an Arduino reference book.  It goes over almost everything you'll need to program your project  (or at least everything you'll need to get you started) and has some great circuits.  I recommend saving it on you computer or printing a copy (35 pages, or about 8 if you do two pages per side, double sided).  You can find it here:

The code in this book is considered "common knowledge" among programmers, but it is distributed under the Creative Commons "Share Alike" license.  This means that if you use the code from this book, you must cite Mr. Evans and use this same or similar license for your code.

I also want to take the minute to let you know about Creative Commons.  It is a way to copyright your work (be it code, pictures, writing, ect) for free.  If you want to share your genius with other people, but are afraid of someone stealing you idea, this is a great way to secure it.  There are varying degrees of CC licensing ranging from anyone can use your IP (intellectual property) in any way they wish to the most restrictive.  Check it out.