KEMBAR78
Introduction to Arduino | ODP
INTRODUCTION TO ARDUINO
Richard Rixham
@richardrixham
@shacknetwork
Shacknetwork.co.uk
Who am I
• Developer working in the Air Transporation
Sector
• Playing with Arduino since early 2009
• Organiser of Sheffield Arduino Hackers
Network (SHACKNET)
What is Arduino
• Arduino is Lego turned up to 11
• Open Source hardware platform
• Open Source software and libraries
• Physical Computing, allowing interaction with the environment
• Build anything from a flashing light to robots that can interact with
the internet
• Inexpensive and FUN 
What is an Arduino
14 Digital Pins (6 PWM)
Reset
USB Connector
External
Power
Supply
Power Pins 6 Analog Inputs
Power LED
ATmega AVR
TX/RX LED
Arduino Specification
• Microcontroller ATmega 168/328
• Clock Speed 16 MHz
• Operating Voltage 5V
• Digital I/O Pins 14 (6 provide
PWM output)
• Analog Input Pins 6
• Flash Memory 16 KB (Atmega168) or 32 KB (ATmega328) of
which 2 KB used by bootloader
• SRAM 1 KB (ATmega168) or 2 KB (ATmega328)
• EEPROM - 512 bytes (ATmega168) or 1 KB (ATmega328)
• Provides I2C and SPI
Other flavours of Arduino
Arduino Mini
Arduino Nano
Arduino Lilypad
Arduino Pro
Arduino Pro Mini
Arduino Mega
Arduino Fio
Arduino Bluetooth
And many Clones
Arduino Shields
• Shields are boards that can be plugged in to
provide additional capabilities
• Examples
Xbee – Wireless connectivity
DMX – Control lights
Ethernet, GPS, Bluetooth
• Shieldlist.org
Programming Arduino
• Language based on C/C++ linked to AVR-libc
library
http://www.nongnu.org/avr-libc
• Open Source Libraries (LCD, string)
• Official IDE written in Java
• Runs on Windows, Linux
and MacOS
Programming Arduino
• Uses other editors such as Eclipse with
Arduino Plugin
• RAD – Ruby Arduino Development
Hello World
int ledPin = 13; // LED connected to digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}
void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}
Example Projects
Further Reading
• http://www.arduino.cc
• Shacknetwork.co.uk
Group, Links and forums
• Many on-line resources
• Books such as
Practical Arduino
Links
• http://www.arduino.cc
• http://www.oomlout.co.uk
• www.earthshineelectronics.com
• tronixstuff.wordpress.com
• http://www.coolcomponents.co.uk/
• http://chemicaloliver.net/blog
That's All Folks
Thanks for listeningThanks for listening

Introduction to Arduino

  • 1.
    INTRODUCTION TO ARDUINO RichardRixham @richardrixham @shacknetwork Shacknetwork.co.uk
  • 2.
    Who am I •Developer working in the Air Transporation Sector • Playing with Arduino since early 2009 • Organiser of Sheffield Arduino Hackers Network (SHACKNET)
  • 3.
    What is Arduino •Arduino is Lego turned up to 11 • Open Source hardware platform • Open Source software and libraries • Physical Computing, allowing interaction with the environment • Build anything from a flashing light to robots that can interact with the internet • Inexpensive and FUN 
  • 4.
    What is anArduino 14 Digital Pins (6 PWM) Reset USB Connector External Power Supply Power Pins 6 Analog Inputs Power LED ATmega AVR TX/RX LED
  • 5.
    Arduino Specification • MicrocontrollerATmega 168/328 • Clock Speed 16 MHz • Operating Voltage 5V • Digital I/O Pins 14 (6 provide PWM output) • Analog Input Pins 6 • Flash Memory 16 KB (Atmega168) or 32 KB (ATmega328) of which 2 KB used by bootloader • SRAM 1 KB (ATmega168) or 2 KB (ATmega328) • EEPROM - 512 bytes (ATmega168) or 1 KB (ATmega328) • Provides I2C and SPI
  • 6.
    Other flavours ofArduino Arduino Mini Arduino Nano Arduino Lilypad Arduino Pro Arduino Pro Mini Arduino Mega Arduino Fio Arduino Bluetooth And many Clones
  • 7.
    Arduino Shields • Shieldsare boards that can be plugged in to provide additional capabilities • Examples Xbee – Wireless connectivity DMX – Control lights Ethernet, GPS, Bluetooth • Shieldlist.org
  • 8.
    Programming Arduino • Languagebased on C/C++ linked to AVR-libc library http://www.nongnu.org/avr-libc • Open Source Libraries (LCD, string) • Official IDE written in Java • Runs on Windows, Linux and MacOS
  • 9.
    Programming Arduino • Usesother editors such as Eclipse with Arduino Plugin • RAD – Ruby Arduino Development
  • 10.
    Hello World int ledPin= 13; // LED connected to digital pin 13 void setup() { pinMode(ledPin, OUTPUT); // sets the digital pin as output } void loop() { digitalWrite(ledPin, HIGH); // sets the LED on delay(1000); // waits for a second digitalWrite(ledPin, LOW); // sets the LED off delay(1000); // waits for a second }
  • 11.
  • 12.
    Further Reading • http://www.arduino.cc •Shacknetwork.co.uk Group, Links and forums • Many on-line resources • Books such as Practical Arduino
  • 13.
    Links • http://www.arduino.cc • http://www.oomlout.co.uk •www.earthshineelectronics.com • tronixstuff.wordpress.com • http://www.coolcomponents.co.uk/ • http://chemicaloliver.net/blog
  • 14.
    That's All Folks Thanksfor listeningThanks for listening