Arduino 101 Class

Arduino 101 Class

Here is a brief outline of the Arduino 101 Classes:

  • Tour of the board
    • What is a microcontroller (how is it different than a microprocessor)
    • What specific microcontroller does the Arduino Uno board use (ATmega 328)
    • What features does this ATmega 328 microcontroller have (explain general concepts as specific capabilities of Arduino Uno are mentioned)
      • Power supply can be 1.8V to 5.5V giving flexibility and low power capability
      • 8 Bit architecture (0-255 range of integers for basic processing)
      • Memory: 32 KB Flash (program storage), 1KB EEPROM (non-volatile variable storage, 2KB SRAM faster volatile variable storeage)
      • 23 GPIO lines (general purpose I/O, explain pin limitations and muti use
        of pins and how pins can be configured)
      • 32 Registers (explain what registers are)
      • 3 Timer/Counters (explain some uses for times and counters)
      • Interrupts (explain what interrupts are)
      • Serial programmable USART/SPI (Universal Synchronous Asynchronous
  • Receiver Transmitter/Serial Peripheral Interface, explain what this is and why
    you want one)

    • 6 Channel 10bit A/D converter (Analog to Digital Converter)
    • Watchdog timer with internal oscillator
    • Power saving modes
  • What features does the Arduino Uno board expose or add
    • 14 digital I/O (Input/Output, explain what is meant by digital, how pin
      configuration works, voltage and current limitations on pins and how
      this affects use)
    • 6 Analog Output (pulse width modulation)
    • Analog Input (10 bit, talk a bit about resolution and sampling)
    • 16 MHz ceramic resonator (cheaper and smaller than quartz but .5% tolerance
      compared to 0.001% tolerance for quartz, note ATmega 328 rated for 20 MHz)
    • ICSP header (In Circuit Serial Programming connector)
    • USB port run by ATMega 16U2 microcontroller+ Power port
    • Built in LEDs
    • Polyfuse to protect USB port from sinking more than 500 mA
    • Built in reset button
  • Tour of the Software
    • Overview of the “toolchain” used to program the Arduino (ATMega328)
    • Downloading and installing the IDE (Integrated Development Environment)
    • Loading and running an existing program file
    • Writing a new program file
    • Helpful IDE features (variable names, refernce highlighting etc.)
  • Digital Output Demo (flashing light)
  • Digital I/O demo (use button to control flashing light)
  • Analog Output demo (pulse width modulated signal to dim light)
  • Analog I/O demo (use potentiometer to control light intesity of flash ratio or other output)
  • Advanced demo #1 Generating sounds with a small speaker
  • Advanced demo #2 Controlling a multiplexed 7 segment display
  • Advanced demo #3 Controlling servo motors

Class Goals:

Concepts

  • Students will understand differences between microprocessors and microcontrollers and typical applications of each device
  • Students will be familiar with features of microcontrollers such as word length, memory types, interface pin types, timers/counters, A/D capabilities etc.
  • Students will understand how digital I/O pins can be configured and connected
  • Students will understand the concept of pull up and pull down on digital pins
  • Students will understand pulse width modulation as a means of analog out
  • Students will understand basic A/D concepts such as resolution, and sampling rate

Skills

  • Students will be able to download and install Arduino IDE software on a laptop
  • Students will be able to connect Arduino Uno to laptop with USB cable
  • Students will be able to load a sample program into the Uno using the USB cable and run that program.
  • Students will be able to write and run a program to control a digital output port
  • Students will be able to write and run a program to read a digital input port
  • Students will be able to write and run a program to use PWM on a digital port
  • Students will be able to write and run a program that reads an analog input and controls a digital or analog output in response to it
  • Students will be able to construct the circuits needed to demonstrate the above programs with the breadboard and parts in their kits.
  • Students will know where to purchase parts and boards for their own experiments