arduino( - cs.ubc.cacs543/2015w2/classnotes/543-cw03b-ardui… ·...

20
Arduino part 1: the beginning Labs and suppor4ng material were devised in collabora4on with Camille Mousse<e Umeå Ins4tute of Design. Core assignment is adapted with permission from Mouse<e’s August 2011 workshop at UBC. image from Fritzing.org

Upload: others

Post on 23-Apr-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Arduino  

part  1:  the  beginning  

Labs  and  suppor4ng  material  were  devised  in  collabora4on  with  Camille  Mousse<e  -­‐  Umeå  Ins4tute  of  Design.    Core  assignment  is  adapted  with  permission  from  Mouse<e’s    August  2011  workshop  at  UBC.   image  from  Fritzing.org  

Page 2: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

What  is  Arduino?  

•  Arduino  Board  (I/O  device  with  microcontroller)  

•  Arduino  IDE  (programming  applica4on)  

•  Open  Source  hardware  +  community  •  h<p://www.arduino.cc  

•  Many  varia4ons  

Page 3: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Arduino  Family  (ever  changing!)  

Uno  R3  +  Arduino  soXware  =  official  reference  designs    (original:  Nov  2011)  

Mega  more  channels  

Mini  ,ny  jobs  

Fio    wireless;  XBee  

Lilypad  wearables  

Page 4: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Useful  Peripherals  (examples)  

Page 5: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

As  of  2016  Jan:  •  Atmel  microcontroller:  

ATMega328P  •  14  digital  I/O  pins  (6  PWM)  •  6  analog  inputs  •  16  MHz  crystal  oscillator  •  USB  connec4on  •  power  jack  •  reset  bu<on  

Uno Overview https://www.arduino.cc/en/Main/ArduinoBoardUno

Page 6: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Atmel  microcontroller  -­‐  ATMega  processor  family  ATmega328  

Uno: Processor

Page 7: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Uno: External Power Connections

power  supply  -­‐  DC  or  USB  auto-­‐switching  on  newer  boards  (including  R3)  jumper  on  older  boards  

USB  

DC  jack  

Page 8: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Uno: Serial Communication

USB/Serial  communica4on  (TX/RX)  

Page 9: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Uno: Digital I/O

14  digital  I/O  pins  @  20  Amps  DC    (6  usable  as  PWM  outputs)  

Page 10: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Uno: onboard LED indicator

Pin  13  has  an  onboard  LED  a<ached  

Page 11: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Uno: analog input

6  analog  input  lines  (A0-­‐A5)  10  bits  (1024  values)  -­‐-­‐  measured  from  GND  to  5V  

Page 12: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Uno: power output & other special lines

Your  breadboard  can  access  the  Arduino’s  Power,  Ground,  Reset,  5V,  3.3V    

Page 13: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Uno: physical reset button & ICSP

Physically  reset  the  Uno  board  (restart  the  loaded  program);    or  externally  program  it  using  the  ICSP  block  (more  advanced)  

Page 14: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Arduino  IDE    (integrated  development  environment)  

h<p://www.arduino.cc    

plain  old  c,  but  friendlier  Install  USB  driver  first  

 Follow  well-­‐illustrated  instruc4ons  for  your  OS    at:    

h<p://arduino.cc/en/Guide/HomePage  

Page 15: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

import  libraries  +  ini4alize  variables  

setup()  runs  once  at  start  

loop()  runs  non-­‐stop  un4l  power  off  

structure  of  “Blink”  program  

Page 16: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

IDE  controls  

Page 17: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

hardware  context  of  Blink  

Page 18: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

add  a  digital  bu<on  using  a  breadboard  

Page 19: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

conver4ng  rotary  to  linear  mo4on  

Page 20: Arduino( - cs.ubc.cacs543/2015W2/classNotes/543-cw03b-ardui… · Arduino(part1:(the(beginning(Labs(and(suppor4ng(material(were(devised(in(collaboraon(with(Camille( Mousse

Tinkering  

Tinkering  is  what  happens  when  you  try  something  you  don't  quite  know  how  to  do,  guided  by  whim,  imagina4on,  and  curiosity.  When  you  4nker,  there  are  no  instruc4ons,  but  there  are  also  no  failures,  no  right  or  wrong  way  of  doing  things.  It's  about  figuring  out  how  things  work  and  reworking  them.    

—Massimo  Banzi