Vous êtes sur la page 1sur 25

Leonardo

 Compared to the Uno, a slight upgrade.


 Built in USB compatibility
 Presents to PC as a
mouse or keyboard

 Bugs?
Due
 Much faster processor, many more pins
 Operates on 3.3 volts
 Similar to the Mega
Micro
 When size matters: Micro, Nano, Mini
 Includes all functionality of the Leonardo
 Easily usable on a breadboard
LilyPad
 LilyPad is popular for clothing-based projects.
Esplora
 Game controller
 Includes joystick, four buttons, linear
potentiometer (slider), microphone, light sensor,
temperature sensor, three-axis accelerometer.
 Not the standard set of IO pins.
Arduino Uno Close Up
 The pins are in three groups:
 Invented in 2010
 14 digital pins

 6 analog pins

 power
Where to Start
 Get an Arduino (starter kit)
 Download the compiler
 Connect the controller
 Configure the compiler
 Connect the circuit
 Write the program
 Get frustrated/Debug/Get it to work
 Get excited and immediately start next project
(sleep is for wimps)
Arduino Starter Kits
 Start with a combo pack (starter kit)
 Includes a microcontroller, wire, LED's, sensors, etc.
 www.adafruit.com
adafruit.com/products/68 ($65)
 www.sparkfun.com
https://www.sparkfun.com/products/11576 ($99.95)
 Radio Shack
Make Ultimate Microcontroller Pack w/ Arduino Kit ($119.99)
 www.makershed.com
http://www.makershed.com/Ultimate_Arduino_Microcontroller_Pack_p/msump1.
htm ($150)
What to Get – My Recommendation
 Required:  Good Idea:
 Arduino (such as Uno)  Capacitors
 USB A-B (printer) cable  Transistors
 Breadboard  DC motor/servo
 Hookup wire  Relay
 LED's
 Advanced:
 Resistors
 Soldering iron & solder
 Sensors
 Heat shrink tubing
 Switches
 9V battery adapter
 Bench power supply
Arduino Compiler
 Download current compiler from:
arduino.cc/en/Main/software
 Arrogantly refers to itself as an IDE (Ha!).
 Run the software installer.
 Written in Java, it is fairly slow.

Visit playground.arduino.cc/Main/
DevelopmentTools for alternatives to the
base arduino IDE
Configuring the Arduino Compiler
 Defaults to COM1, will probably need to change
the COM port setting (my work PC uses 7).
 Appears in Device Manager (Win7) under Ports
as a Comm port.
Arduino Program Development
 Based on C++ without 80% of the instructions.
 A handful of new commands.
 Programs are called 'sketches'.
 Sketches need two functions:
 void setup( )
 void loop( )

 setup( ) runs first and once.


 loop( ) runs over and over, until power is lost or
a new sketch is loaded.
Arduino C
 Arduino sketches are centered around the pins
on an Arduino board.
 Arduino sketches always loop.
 void loop( ) {} is equivalent to while(1) { }
 The pins can be thought of as global variables.
Arduino C Specific Functions
 pinMode(pin, mode)
Designates the specified pin for input or output
 digitalWrite(pin, value)
Sends a voltage level to the designated pin
 digitalRead(pin)
Reads the current voltage level from the designated pin
 analog versions of above
 analogRead's range is 0 to 1023
 serial commands
 print, println, write
Compiler Features
 Numerous sample
sketches are included in
the compiler
 Located under File,
Examples
 Once a sketch is written,
it is uploaded by clicking
on File, Upload, or by
pressing <Ctrl> U
Arduino C is Derived from C++
 These programs blink an LED on pin 13
 avr-libc  Arduino C
#include <avr/io.h> void setup( ) {
#include <util/delay.h> pinMode(13, OUTPUT);
}
int main(void) {
while (1) { void loop( ) {
PORTB = 0x20; digitalWrite(13, HIGH);
_delay_ms(1000); delay(1000);
PORTB = 0x00; digitalWrite(13, LOW);
_delay_ms(1000); delay(1000);
} }
return 1;
}
Basic Electric Circuit
 Every circuit (electric or electronic) must have at
least a power source and a load.
 The simplest circuit is a light.
 Plug in the light, and it lights up.
 Unplug it, the light goes out.
 Electricity flows from the power source,
through the load (the light) and then back to the
power source.
Basic LED Circuit
 Connect the positive (+) lead of a power
source to the long leg of an LED.
 Connect other leg of the LED to a resistor.
 High resistance means a darker light.
 Low resistance means brighter light.

 No resistance means a burned out LED.

 Connect other leg of the resistor to the


negative lead of the power source.
Let the Good Times Roll!
 At this point we have:
 Purchased a starter kit, including the Arduino
 Connected and configured the Arduino

 Connected a simple LED circuit

 Let's write some code!


Blink Sketch
void setup( ) {
Connected to Connected to
pinMode(13, OUTPUT); one end of the
circuit
other end of the
circuit
}
void loop( ) {
digitalWrite(13, HIGH);
delay(1000);
digitalWrite(13, LOW);
delay(1000);
}
4 LED Blink Sketch
void setup( ) { void loop( ) {
pinMode(1, OUTPUT); digitalWrite(1, HIGH);
pinMode(3, OUTPUT); delay (200);
pinMode(5, OUTPUT); digitalWrite(1, LOW);
pinMode(7, OUTPUT);
} digitalWrite(3, HIGH);
delay (200);
digitalWrite(3, LOW);

digitalWrite(5, HIGH);
delay (200);
digitalWrite(5, LOW);

digitalWrite(7, HIGH);
delay (200);
digitalWrite(7, LOW);
}
So What?
 Great. Blinking lights. Not impressed.
 Only covered output thus far.
 Can use analog inputs to detect a physical
phenomena.
Inputs
 Digital inputs will come to the Arduino as either
on or off (HIGH or LOW, respectively).
 HIGH is 5VDC.
 LOW is 0VDC.

 Analog inputs will come to the Arduino as a


range of numbers, based upon the electrical
characteristics of the circuit.
 0 to 1023
 .0049 V per digit (4.9 mV)

 Read time is 100 microseconds (10,000 a second)


Analog Input
 A potentiometer (variable
resistor) is connected to
analog pin 0 to an Arduino.
 Values presented to pin 0 will
vary depending upon the
resistance of the
potentiometer.
Analog Input-Application
 The variable resistor can be replaced with a
sensor.
 For example, a photo resistor.
 Depending upon the light level at the photo resistor:
 Turn on a light
 Increase or decrease the brightness of an LED (or an
LED array)
 Most sensors are simply variable resistors, but
vary their resistance based on some physical
characteristic.

Vous aimerez peut-être aussi