Loading...

Learning   Examples | Foundations | Hacking | Links

Examples

See the foundations page for in-depth description of core concepts of the Arduino hardware and software; the hacking page for information on extending and modifying the Arduino hardware and software; and the links page for other documentation.

Note: these examples are written for Arduino 1.0 and later. Certain functions may not work in earlier versions. For best results, download the latest version.

Here's a style guide that helps with writing examples for beginners.

Core Functions

Simple programs that demonstrate basic Arduino commands. These are included with the Arduino environment; to open them, click the Open button on the toolbar and look in the examples folder.

1.Basics

  • BareMinimum: The bare minimum of code needed to start an Arduino sketch.
  • Blink: Turn an LED on and off.
  • DigitalReadSerial: Read a switch, print the state out to the Arduino Serial Monitor.
  • AnalogReadSerial: Read a potentiometer, print it's state out to the Arduino Serial Monitor.
  • Fade: Demonstrates the use of analog output to fade an LED.
  • ReadAnalogVoltage : Reads an analog input and prints the voltage to the serial monitor

2.Digital

  • Blink Without Delay: blinking an LED without using the delay() function.
  • Button: use a pushbutton to control an LED.
  • Debounce: read a pushbutton, filtering noise.
  • Button State Change: counting the number of button pushes.
  • Input Pullup Serial: Demonstrates the use of INPUT_PULLUP with pinMode().
  • Tone: play a melody with a Piezo speaker.
  • Pitch follower: play a pitch on a piezo speaker depending on an analog input.
  • Simple Keyboard: a three-key musical keyboard using force sensors and a piezo speaker.
  • Tone4: play tones on multiple speakers sequentially using the tone() command.

3.Analog

  • AnalogInOutSerial: read an analog input pin, map the result, and then use that data to dim or brighten an LED.
  • Analog Input: use a potentiometer to control the blinking of an LED.
  • AnalogWriteMega: fade 12 LEDs on and off, one by one, using an Arduino Mega board.
  • Calibration: define a maximum and minimum for expected analog sensor values.
  • Fading: use an analog output (PWM pin) to fade an LED.
  • Smoothing: smooth multiple readings of an analog input.

4.Communication

These examples include code that allows the Arduino to talk to Processing sketches running on the computer. For more information or to download Processing, see processing.org. There are also Max/MSP patches that can communicate with each Arduino sketch as well. For more on Max/MSP see Cycling 74. For Pd patches that can communicate with these sketches, see Scott Fitzgerald's examples.

  • ReadASCIIString: parse a comma-separated string of ints to fade an LED
  • ASCII Table: demonstrates Arduino's advanced serial output functions.
  • Dimmer: move the mouse to change the brightness of an LED.
  • Graph: send data to the computer and graph it in Processing.
  • Physical Pixel: turn a LED on and off by sending data to your Arduino from Processing or Max/MSP.
  • Virtual Color Mixer: send multiple variables from Arduino to your computer and read them in Processing or Max/MSP.
  • Serial Call Response: send multiple vairables using a call-and-response (handshaking) method.
  • Serial Call Response ASCII: send multiple variables using a call-and-response (handshaking) method, and ASCII-encode the values before sending.
  • SerialEvent: Demonstrates the use of SerialEvent().
  • Serial input (Switch (case) Statement): how to take different actions based on characters received by the serial port.
  • MIDI: send MIDI note messages serially.
  • MultiSerialMega: use two of the serial ports available on the Arduino Mega.

5.Control Structures

  • If Statement (Conditional): how to use an if statement to change output conditions based on changing input conditions.
  • For Loop: controlling multiple LEDs with a for loop and.
  • Array: a variation on the For Loop example that demonstrates how to use an array.
  • While Loop: how to use a while loop to calibrate a sensor while a button is being read.
  • Switch Case: how to choose between a discrete number of values. Equivalent to multiple If statements. This example shows how to divide a sensor's range into a set of four bands and to take four different actions depending on which band the result is in.
  • Switch Case 2: a second switch-case example, showing how to take different actions based in characters received in the serial port.

6.Sensors

  • ADXL3xx: read an ADXL3xx accelerometer.
  • Knock: detect knocks with a piezo element.
  • Memsic2125 : two-axis acceleromoter.
  • Ping: detecting objects with an ultrasonic range finder.

7.Display

Examples of basic display control

8.Strings

9.USB (Leonardo, Micro, and Due specific examples)

The Keyboard and Mouse examples are unique to the Leonardo, Micro and Due. They demonstrate the use of libraries that are unique to the board.

Keyboard

  • KeyboardMessage: Sends a text string when a button is pressed.
  • KeyboardLogout : Logs out the current user with key commands
  • KeyboardSerial: Reads a byte from the serial port, and sends back a keystroke.
  • KeyboardReprogram : opens a new window in the Arduino IDE and reprograms the Leonardo with a simple blink program

Mouse

Libraries

Examples from the libraries that are included in the Arduino software.

EEPROM Library

  • EEPROM Clear: clear the bytes in the EEPROM.
  • EEPROM Read: read the EEPROM and send its values to the computer.
  • EEPROM Write: stores values from an analog input to the EEPROM.

Ethernet Library

Firmata Libraries

LiquidCrystal Library

  • Hello World: displays "hello world!" and the seconds since reset.
  • Blink: control of the block-style cursor.
  • Cursor: control of the underscore-style cursor.
  • Display: quickly blank the display without losing what's on it.
  • TextDirection: control which way text flows from the cursor.
  • Scroll: scroll text left and right.
  • Serial input: accepts serial input, displays it.
  • SetCursor: set the cursor position.
  • Autoscroll: shift text right and left.

SPI Library

Servo Library

  • Knob: control the shaft of a servo motor by turning a potentiometer.
  • Sweep: sweeps the shaft of a servo motor back and forth.

Software Serial Library

Stepper Library

  • Motor Knob: control a highly accurate stepper motor using a potentiometer.

Wire Library

WiFi Library

Esplora Library

Beginners

Experts

  • EsploraKart : Use the Esplora as a controller to play a kart racing game.
  • EsploraTable : Print the Esplora sensor information to a table format.
  • EsploraRemote : Connect the Esplora to Processing and control the outputs.
  • EsploraPong : Play Pong with the Esplora using Processing.

Arduino as ISP Programmer

ArduinoISP turns your Arduino into an in-circuit programmer to re-program Atmega chips. Useful when you need to re-load the bootloader on an Arduino, if you're going from Arduino to an Atmega on a breadboard, or if you're making your own Arduino-compatible circuit on a breadboard.

More

For a huge list of examples from the Arduino community, see the interfacing with hardware page on the playground wiki. Also see the list of old examples.




Bookmark and Share