2012-06-20

On Hedgehogs, Arduinos, and Projects from the future

So today I loaded my first program onto an Arduino! I have been meaning to play with microcontrollers for a while now but I never got around to it because I never knew what I kind of project I would do. Last week that changed when my new pet arrived. Meet Sonic



He's my new pet hedgehog! (No, I didn't name him that although I would be lying if I said I hadn't seriously considered it) And according to various sites on the interwebs hedgehogs are rather sensitive to temperature changes. Seeing as I live in Canada that might turn out to be a problem... So I decided to use this an excuse to jump into arduino programming and build a HEdgehog Monitoring System 9000 (HEMS © ) I’m going to start by logging and tweeting the current temperature but I’d like to add other stuff like heater control, food dispensing and maybe a webcam of some sort.

In order to accomplish this I needed to pick up some materials. Here’s what I bought:



  • Starter kit for Arduino (which includes a thermistor for telling the current temperature)
  • Ethernet Shield for Arduino (for tweeting about the current temp)
  • 9VDC 650mA power supply (so I don’t have to leave my arduino plugged into a computer)


It cost me about 130$ including shipping and taxes and stuff from robotshop.com

My first project was to make an LED blink. From what I can gather LED blinking is to micro-controllers as “Hello World” is to computer programming. Setting up the arduino editor/compiler/manager tool is stupidly simple and I’ve done it on all 3 operating systems. Linux was easiest, Windows required me to install a driver and Mac OS X didn’t seem to want to guess device to use.
[pic of thing]

The blink tutorial was stupendously simple. Here is the code:

/*
 Blink
 Turns on an LED on for one second, then off for one second, repeatedly.

 This example code is in the public domain.
*/

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
 // initialize the digital pin as an output.
 pinMode(led, OUTPUT);    
}

// the loop routine runs over and over again forever:
void loop() {
 digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
 delay(1000);               // wait for a second
 digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
 delay(1000);               // wait for a second
}



You don't even need an LED see?

 

You can also use an LED. I was a little hesitant to plug an LED directly to the board because this tutorial claimed I needed a 220 ohm resistor, another said 330 ohm and a final place didn’t even mention resistors! I decided to just plug it in and... it didn’t explode! Huzzah!

Next I tried lighting up the LED while attached to a breadboard! But how do I breadboard? Does the current flow horizontally or vertically? Are both sides of the board connected? After a lot of futile googling the following image which answered pretty much all my questions

(this is the bottom of a bread board, with the back cover plastic shaved off)
After the HEMS? Who knows. But the following is a list of the Baron's projects, or at least, the ones that could make use of an arduino:
- enhanced sensory perception devices (wifi, cell reception, magnetic north)


-brain tank coat rack (long story)

-rfid listener and spoofer
-fridge logger
-security system
-auto rebooter for server
-noise maker (mario noise for toilet flushes, metal gear solid noise for door nob)
-earthquake detector
-hammock rocker
-geiger counter
-brain controlled cat ears
-signal jammer
-electric cello
-guru vending machine
-dragon egg
-bluetooth necklace
-heroes of might and magic alarm clock


-Tahnok & Baron

PS: (Why are they called breadboards? According to this comment:
Originally, breadboards were just that — wooden cutting boards. You’d put brass thumbtacks in them, and solder wires to those
Who knew?)

2 comments:

Arra Frost said...

Holy crap that's extensive! And Gah! You have a hedgehog! That is absolutely awesome! I'm so happy for you and jealous but I would expect nothing less from you with this elaborate plan that I could barely make sense of but sounds wonderful <3

AVM Survivor said...

Are hedgehogs, in addition to being adorable, cuddly?