Introduction to Arduino<br />http://flic.kr/p/5XwBFB<br />Omer Kilic | omer@tinkersoc.org<br />
Before we start…<br />Arrrr-dween-oh?!<br />( http://arduino.cc/en/uploads/Main/Arduino_Duemilanove.wav )<br />
Arduino<br />	…is an open-source electronics prototyping platform based on flexible,  easy-to-use hardware and software. I...
Physical Computing<br />	…is an approach to learning how humans communicate through computers that starts by considering h...
<ul><li>Bill Verplank</li></ul>http://www.billverplank.com/Lecture/<br />
Embedded Systems<br />	…are computer systems designed to perform one or a few dedicated functions. They are embedded as pa...
Why Arduino?<br />Inexpensive<br />No need for external programmers, compiler licenses etc.<br />Simple, clear programming...
Hardware<br />Atmel Microcontroller<br />ATmega328 (Duemilanove) / ATmega1280(Mega)<br />ATmega8/ATmega168 on older versio...
Anatomy of an Arduino Board<br />digital pins<br />USB to serial<br />converter<br />microcontroller<br />(the brain!)<br ...
Official Arduino Hardware<br />http://arduino.cc/en/Main/Hardware<br />
“Shield Compatible” Hardware<br />(1)<br />(2)<br />(3)<br />[1] Freeduino - http://www.freeduino.org/freeduino_open_desig...
“Bootloader Compatible” Hardware<br />(3)<br />(2)<br />(1)<br />(4)<br />[1] Oak Micros om328p - http://oakmicros.com/con...
Alternative form factors <br /><ul><li>Breadboard Arduino</li></ul>http://bit.ly/7QMkbx<br />One-Chip Arduino<br />http:/...
There’s more!<br />Official boards<br />http://arduino.cc/en/Main/Boards<br />Arduino-like Boards<br />http://www.arduino....
About the weird spacing between digital pins 7 and 8<br />http://bit.ly/5pRZoT<br />
Arduino Bar, Ivrea(from Massimo Banzi’s slides)<br />
Big Computer   vs.  Tiny Computer<br />Dell Precision T1500<br />Atmel ATMEGA328P<br />CPU Speed: 2.93GHz<br />Quad-core!<...
Not Quad-core
RAM:  2KB
Storage:
32KB Program Memory
1KB EEPROM
I/O:
Up to 23 generic I/O
6 of them ‘analog-capable’
UART/SPI/I2C, etc.</li></li></ul><li>Arduino Shields<br />(3)<br />(1)<br />(4)<br />(2)<br />[1] Adafruit Motor Shield - ...
Again, there’s more!<br />http://www.arduino.cc/playground/Main/SimilarBoards<br />Look under ‘Shields’<br />Some cool one...
Arduino IDE<br />Based on avr-gcctoolchain and the Processing IDE.<br />Code editor, programming tools and serial terminal...
Arduino Language<br />Simplified C/C++<br />Based on the Wiring Project<br />http://wiring.org.co<br />Peripheral Librarie...
Useful functions<br />pinMode() – set a pin as input or output<br />digitalWrite() – set a digital pin high/low<br />digit...
Example: Button<br />
Upcoming SlideShare
Loading in...5
×

Introduction to Arduino

9,167

Published on

Slides from the TinkerSoc Introduction to Arduino session.

Published in: Technology
1 Comment
22 Likes
Statistics
Notes
  • Well put... Xplains a lot
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
9,167
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
0
Comments
1
Likes
22
Embeds 0
No embeds

No notes for slide

Transcript of "Introduction to Arduino"

  1. 1. Introduction to Arduino<br />http://flic.kr/p/5XwBFB<br />Omer Kilic | omer@tinkersoc.org<br />
  2. 2. Before we start…<br />Arrrr-dween-oh?!<br />( http://arduino.cc/en/uploads/Main/Arduino_Duemilanove.wav )<br />
  3. 3. Arduino<br /> …is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It&apos;s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.<br />http://arduino.cc<br />
  4. 4. Physical Computing<br /> …is an approach to learning how humans communicate through computers that starts by considering how humans express themselves physically.<br />- Tom Igoe<br />http://www.tigoe.net/pcomp/blog/archives/notes/000169.shtml<br />
  5. 5. <ul><li>Bill Verplank</li></ul>http://www.billverplank.com/Lecture/<br />
  6. 6. Embedded Systems<br /> …are computer systems designed to perform one or a few dedicated functions. They are embedded as part of a complete device often including hardware and mechanical parts. In contrast, a general-purpose computer, such as a personal computer, is designed to be flexible and to meet a wide range of an end-user&apos;s needs. Embedded systems control many of the common devices in use today..<br />- Smart folks at Wikipedia<br />http://en.wikipedia.org/wiki/Embedded_systems<br />
  7. 7. Why Arduino?<br />Inexpensive<br />No need for external programmers, compiler licenses etc.<br />Simple, clear programming environment<br />All done in a simple IDE, no command line voodoo<br />Cross-platform<br />Works uniformly across Windows, Linux, MacOS<br />Open Source!<br />Both software and hardwre<br />
  8. 8.
  9. 9. Hardware<br />Atmel Microcontroller<br />ATmega328 (Duemilanove) / ATmega1280(Mega)<br />ATmega8/ATmega168 on older versions<br />ATmega644 for Sanguino<br />Serial Bootloader<br />STK500 compatible<br />Support Circuitry<br />Reset, Voltage Regulator, etc…<br />USB/Serial Connectivity<br />
  10. 10. Anatomy of an Arduino Board<br />digital pins<br />USB to serial<br />converter<br />microcontroller<br />(the brain!)<br />power circuitry<br />(voltage regulator and<br />the clever power<br />source selection bit)<br />analog pins<br />power pins<br />
  11. 11. Official Arduino Hardware<br />http://arduino.cc/en/Main/Hardware<br />
  12. 12. “Shield Compatible” Hardware<br />(1)<br />(2)<br />(3)<br />[1] Freeduino - http://www.freeduino.org/freeduino_open_designs.html<br />[2] Illuminato - http://www.liquidware.com/shop/show/ILL/Illuminato<br />[3] Seeeduino - http://www.seeedstudio.com/depot/seeeduino-v328-fully-assembledatmega-328-p-439.html<br />
  13. 13. “Bootloader Compatible” Hardware<br />(3)<br />(2)<br />(1)<br />(4)<br />[1] Oak Micros om328p - http://oakmicros.com/content/om328p.html<br />[2] Modified Pico - http://www.modifiedelectronics.com/mp-01.php<br />[3] Boarduino - http://www.ladyada.net/make/boarduino/index.html<br />[4] Sanguino - http://sanguino.cc/<br />
  14. 14. Alternative form factors <br /><ul><li>Breadboard Arduino</li></ul>http://bit.ly/7QMkbx<br />One-Chip Arduino<br />http://bit.ly/WXqeU<br />
  15. 15. There’s more!<br />Official boards<br />http://arduino.cc/en/Main/Boards<br />Arduino-like Boards<br />http://www.arduino.cc/playground/Main/SimilarBoards<br />Other ‘duinos<br />http://www.freeduino.org/duino.html<br />…and possibly others<br />
  16. 16. About the weird spacing between digital pins 7 and 8<br />http://bit.ly/5pRZoT<br />
  17. 17. Arduino Bar, Ivrea(from Massimo Banzi’s slides)<br />
  18. 18. Big Computer vs. Tiny Computer<br />Dell Precision T1500<br />Atmel ATMEGA328P<br />CPU Speed: 2.93GHz<br />Quad-core!<br />RAM: 16GB<br />Storage: 2TB<br />I/O:<br />USB, Firewire, Serial, PS/2, RJ-45, Audio, etc.<br /><ul><li>CPU Speed: 20MHz
  19. 19. Not Quad-core
  20. 20. RAM: 2KB
  21. 21. Storage:
  22. 22. 32KB Program Memory
  23. 23. 1KB EEPROM
  24. 24. I/O:
  25. 25. Up to 23 generic I/O
  26. 26. 6 of them ‘analog-capable’
  27. 27. UART/SPI/I2C, etc.</li></li></ul><li>Arduino Shields<br />(3)<br />(1)<br />(4)<br />(2)<br />[1] Adafruit Motor Shield - http://ladyada.net/make/mshield/index.html<br />[2] Nu Electronics LCD shield - http://www.nuelectronics.com/estore/index.php?main_page=product_info&cPath=1&products_id=2<br />[3] Arduino Ethernet Shield - http://arduino.cc/en/Main/ArduinoEthernetShield<br />[4] Adafruit Wave Shield - http://ladyada.net/make/waveshield/index.html<br />
  28. 28. Again, there’s more!<br />http://www.arduino.cc/playground/Main/SimilarBoards<br />Look under ‘Shields’<br />Some cool ones:<br />Liquidware<br />TouchShield<br />http://www.liquidware.com/shop/show/TS/TouchShield+Stealth<br />BatsocksTellyMate Shield<br />http://www.batsocks.co.uk/products/Shields/TellyMate%20Shield.htm<br />tinker.it RFID shield<br />http://tinker.it/en/Teaching/RFID<br />
  29. 29. Arduino IDE<br />Based on avr-gcctoolchain and the Processing IDE.<br />Code editor, programming tools and serial terminal all in one place.<br />
  30. 30. Arduino Language<br />Simplified C/C++<br />Based on the Wiring Project<br />http://wiring.org.co<br />Peripheral Libraries<br />LCD, sensors, I2C, etc<br />
  31. 31. Useful functions<br />pinMode() – set a pin as input or output<br />digitalWrite() – set a digital pin high/low<br />digitalRead() – read a digital pin’s state<br />analogRead() – read an analog pin<br />analogWrite() – write an “analog” PWM value<br />delay() – wait an amount of time<br />millis() – get the current time<br />http://arduino.cc/en/Reference/Extended<br />
  32. 32. Example: Button<br />
  33. 33. Example: SerialDisplay<br />
  34. 34. Sensors<br />Temperature<br />Light<br />Humidity<br />Pressure<br />Distance<br />Touch/‘Knock’<br />Rotation<br />
  35. 35. Motors<br />DC Motors<br />Servos<br />Steppers<br />Solenoids<br />Hydraulics<br />Actuators<br />
  36. 36. “Modules”<br />Ethernet<br />http://www.sparkfun.com/commerce/product_info.php?products_id=765<br />Bluetooth<br />http://www.sparkfun.com/commerce/product_info.php?products_id=582<br />Character LCD<br />GPS<br />http://www.oomlout.co.uk/lcd-display-16-x-2-p-212.html<br />http://www.sparkfun.com/commerce/product_info.php?products_id=465<br />
  37. 37. OMG!12”! HAX!!!121<br />http://www.sparkfun.com/commerce/news.php?id=308<br />
  38. 38. BREADBOARDS ARE COOL!<br />
  39. 39. Arduino Community<br />http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl<br />http://www.arduino.cc/playground/<br />
  40. 40. Thank You!Any questions?<br />Further comments/questions to omer@tinkersoc.org please...<br />Some photos stolen from oomlout at Flickr (http://www.flickr.com/photos/snazzyguy/)<br />

×