Arduino Philosophy and Community
Open Source Physical Computing Platform
“open source hardware”
open source: free to inspect & modify
physical computing
ubiquitous computing
pervasive computing
ambient intelligence
calm computing
Spimes
Blogjects
smart objects
Community-built
Examples wiki (the “playground”) editable by anyone
Forums with lots of helpful people
Similar to Basic Stamp (if you know of it)
but cheaper, faster, & open
Uses AVR ATmega168 microcontroller chip
chip was designed to be used with C language
The designer of the AVR purposefully arranged its registers and instruction set so that C programs would compile efficiently on it. This is a big deal, compared to previous microcontrollers where C programs were almost always less efficient than a hand-coded assembly language variant.
16 kBytes of Flash program memory
1 kByte of RAM
16 MHz (Apple II: 1 MHz)
Inputs and Outputs
14 digital input/output pins
4 analog input pins
6 analog output pins (only sorta analog, uses PWM , which we’ll talk about later)
Completely stand-alone: doesn’t need a computer once programmed
- Don’t worry if the above doesn’t make sense, you don’t really need to know it.
“sketch” – a program you write to run on an Arduino board
“pin” – an input or output connected to something. e.g. output to an LED, input from a knob.
“digital” – value is either HIGH or LOW. (aka on/off, one/zero) e.g. switch state
“analog” – value ranges, usually from 0-255. e.g. LED brightness, motor speed, etc.