Nashville

Here is Billy's BarCamp 2010 presentation in full:

 

Arduino in Nashville

Hey there, my name is Billy White and I'm here to talk about Arduino. 

Before I get started, I wanted to mention a little shindig my company, Sitemason, is having to launch the Cabana iPhone app. It's Tuesday the 19th from 4:30-7:30 at Cabana in Hillsboro Village with free beer and appetizers, so come on over and celebrate with us. I think there's a flyer floating around here somewhere too.

Unfortunately my Arduino partner, Tim Moses unexpectedly couldn't be here, and our original plan was to have something here to showoff. Instead, in his absence, I'll go over what Arduino is, how it can be used, and then talk about our project and what we're doing with Arduino.

 

What is it?

"Open source electronics prototyping platform." and I'll add "Affordable" because I think that is especially important.. 

Break that down…

Open Source Electronics -> I know what you're saying "Electronics? Like the guts in your VCR and TIVO? You want me to play with that stuff?" Don't worry, if your palms sweat at the thought of resistors, capacitors and diodes, fear not. Since Arduino is an open source project, there is tons of community support, lots of examples and tutorials to help you get started.

Programmable -> Arduino uses a programming language which is basically straight up C. At it's heart, Arduino is a simple programmable microcontroller with input & output pins you can use for all sorts of stuff. Like lighting up an LED, or controlling motors, or communicating with the physical world.

Prototyping Platform -> Use Arduino to play around with an electronics project you've been dreaming up. Whether its something that might be an actual product some day or just to soup up that remote control car you have in the garage, or use it to control your bands pyrotechnics laser light show.

Affordable -> The Arduino board itself is around $30. Since Arduino is open-source, there's lots of variations. There's a huge one with tons of outputs if you plan on controlling some creepy 50 legged creature.There's a tiny one, if you need to embed a maniacal voice box in your child's teddy bear, and there's even a sewable one that you can wash, because everyone needs a tshirt with their name flashing in bright pink LEDs.

 

Reveal

So here it is. It's small, about 2x3 inches.

[ show desktop image

On the top you have your 13 digital pins, the bottom has your analog and power pins. 

In the middle, the long thin brick is the microcontroller. That holds your Arduino sketch and the system boot loader. It's the processor of the board. 

On the left side you have your USB jack to upload your sketches and provide power when plugged into a PC, and below that sits the power jack for 12volt DC wall power. 

 

So how does it work?

To get started with Arduino, you really only need three parts. 

 

1. An Arduino [ holds it up ]

2. A computer to run the development software

3. A USB cable.

 

You write your programs, which are called "sketches" and upload them directly to the Arduino board over USB. USB also powers the board when plugged in, or you can use a battery pack or wall plugin. 

 

Development Environment

Arduino has its own development software, where you can write, upload, and monitor your sketches. It's pretty slick. I'll show you a simple example sketch that just blinks an LED. 

 

[ open Desktop -> Blink.pde ]

 

Every sketch requires three steps. 

1. define your variables and pins

     Up top here, I set my LED pin to #13

     So I plug my red LED here into pin #13 and GROUND

 

2. then initialize those pins

     Here I'm setting ledPin as an OUTPUT pin

 

3. then enter program loop

     This program says turn the ledPin on, wait one second, turn it off and wait one second, repeat. Or… blink.

 

Parts & Sheilds: 

In addition to all of your standard electronics parts that you can get, Arduino users have built a number of shields, which are task specific extensions of the standard Arduino board.

I have a couple shields here. An Ethernet Shield, so you can turn the Arduino into a miniature web server if you wanted to send Arduino commands through a network. And here's a Motor Shield which simplifies adding servos and motors for automation to turn wheels or walk robot legs, etc. 

Each shield mounts right on top of the Arduino like so. 

There's literally like a hundred different shields out there. 

 

Some example projects

I'm going to show you a few projects around the web to give examples of what people are doing with Arduino. 

Since we just talked about shields, and, more importantly, since we're in a bar, here's a shield that some folks built that's a simple breathalyzer:

Bookmark -> Projects -> DrinkShield

Somebody could write a pretty interesting drinking game to go along with it, I'm sure.

 

For those lawn and garden types, here's a couple fun projects. A project called "Garduino" uses an Arduino to measure soil moisture and waters plants when their thirsty. It'll also turns on and off their grow light on a timer, and even alert the gardner when the temperature drops too low. 

Bookmark -> Projects -> Garduino

 

And because lawn mowing wasn't nearly unsafe enough, some guy made a remote control Arduino lawn mower.

Bookmark -> Projects -> Arduino R/C Lawnmower

[scroll to picture set]

 

<!-- Sidebar

I brought up the lawnmower project because just a couple days ago I met Jay Settles. Jay works at Corsair Artisan, the liquor distillery that took over the Yazoo space at Marathon Motorworks. This guy is a shining example of awesome projects going on around Nashville. He has automated nearly the entire distillation process over there with Arduino. It's so rad. He's also built remote control lawnmowers before, which is just insane. So, that one's for you, Jay. Everyone should checkout the Corsair taproom if they haven't already.

-->

 

If there are any music techs or engineers out there, Arduino is being used all over the place in music projects. From custom pedals, to synthesizers and drum machines. Lots of light show projects as well. There's a handful of audio shields out there too which may make projects a cinch.

 

I mentioned a sewable version of Arduino. It's called LilyPad. 

Bookmark -> Projects -> LilyPad

Each one of those pedals is an output, and you use connective thread to hook stuff together. One gal sewed a LilyPad into a hoodie and made a turn signal bike jacket

 

Bookmark -> Projects -> Turn Signal Bike Jacket

[Scroll to picture set]

 

What we've done

Ok, that's a taste of projects out there. Now moving on to what we're working on. So you have all this stuff, and all these parts. You can jump online and spend a ton of money on sensors and shields and parts and get started pretty easily.

ooooooooooooooorrr, you can reach in your pocket, and you'll probably find four ways to communicate, hundreds of dollars worth of sensors, and the greatest user interfaces ever invented. I'm talking about your smart phone of course. 

So what we were hoping to show off is our work on connecting the iPhone with Arduino.

 

The Problem:

The problem we, and Arduino users in the past have encountered, is  that Apple doesn't feel quite the same excitement for letting any ol' hobbyist tinker around with its baby. The 30 pin dock connector is pretty much locked down to only those lucky enough to have a relationship with Apple. There are Arduino projects that have used it, but it requires jailbreaking your phone, which is no fun.

 

The Solution:

So, we went the other way with it. We're using the audio jack for communication between the two. We use audio signals to act like a modem through the audio jack on the top of the phone. We've been able to successfully communicate both ways between the iPhone and Arduino without the 30 pin dock, and without jailbreaking, which is kind of a big deal.

This opens up a whole world of possibilities. In your iPhone, you have:

Sensors:

  • accelerometer
  • gyro
  • GPS
  • Compass
  • proximity sensor
  • ambient light sensor

Then for communication methods, you have:

  • wifi
  • cell network
  • bluetooth
  • audio modem

Not to mention an HD Camera and a killer user interface & app store for an infinite possibility of uses. 

 

Our Project

Our proof of concept app is Laser Tag. We actually have it working, but not enough to show off, unfortunately. But we have the Arduino reading laser hits, and we're using the iPhone to manage the game stuff like and ammo levels and reload.

We're putting all of our work online, so everyone can start tinkering with it. We have both the Arduino sketch and the iPhone app available to download on our website arduino.monsterlabs.com. We have links there to all of the resources we use and have found to help people get started.

Bookmark -> Monsterlabs

We've also setup an Arduino Google Group for Nashville if anyone is interested in joining up. We'd love to start an Arduino group get together as well, so if anyone is interested, get in touch with me or the Google Group and hopefully we'll get a meetup going. 

 

Where to get this stuff?

On the web:

Sparkfun

Adafruit

In Nashville:

Randolph & Rice

Hobby Lobby

Parts:

Mouser

 

Challenge

Ok, the last thing I want to do is show you a quick minute long video and then present a challenge. Some folks at Yelp, you know the localized mobile app Yelp? some engineers at Yelp built a keg drinking monitor using an iPad and Arduino. Check it out.

Bookmark -> Projects -> KegMate

 

Ok, so I'd like to finish by challenging the Nashville tech community to build something as cool as that with Arduino for the next BarCamp. 

 

That's all I've got. I'll open the floor for questions, if anyone has any. Thanks for your time.