Arduino Development for Beginners. By Richard Coombs and Przemyslaw Woznowski

Similar documents
PHYS 2P32 Project: MIDI for Arduino/ 8 Note Keyboard

Waspmote. Quickstart Guide

A REST API for Arduino & the CC3000 WiFi Chip

Arduino ADK Back. For information on using the board with the Android OS, see Google's ADK documentation.

Surveillance System Using Wireless Sensor Networks

Adafruit MCP9808 Precision I2C Temperature Sensor Guide

PART I: WELCOME TO THE WONDERFUL WORLD OF ACCESSORIES CHAPTER 1: INTRODUCTION TO ANDROID OPEN ACCESSORY 3

Example Connection between USB Host and Android

Arduino Due Back. Warning: Unlike other Arduino boards, the Arduino Due board runs at 3.3V. The maximum. Overview

Lab Experiment 1: The LPC 2148 Education Board

#include <Gamer.h> Gamer gamer; void setup() { gamer.begin(); } void loop() {

Board also Supports MicroBridge

Intro to Intel Galileo - IoT Apps GERARDO CARMONA

Yun Shield User Manual VERSION: 1.0. Yun Shield User Manual 1 / 22.

Arduino Lab 1 - The Voltage Divider

Bluetooth + USB 16 Servo Controller [RKI-1005 & RKI-1205]

The self-starting solar-powered Stirling engine

CAN-Bus Shield Hookup Guide

Cypress Semiconductor: Arduino Friendly PSoC Shield

Programming with the Arduino: open-source hardware in an introductory programming laboratory. Paul Cruickshank

DS1307 Real Time Clock Breakout Board Kit

Android Application Development and Bluetooth Technology

Arduino Lesson 1. Blink

Eric Mitchell April 2, 2012 Application Note: Control of a 180 Servo Motor with Arduino UNO Development Board

Tiny Arduino Music Visualizer

Waspmote IDE. User Guide

Adafruit SHT31-D Temperature & Humidity Sensor Breakout

Your Multimeter. The Arduino Uno 10/1/2012. Using Your Arduino, Breadboard and Multimeter. EAS 199A Fall Work in teams of two!

INTRODUCTION TO SERIAL ARM

USB to RS-422/485 Serial Adapter

PhidgetInterfaceKit 8/8/8

Yun Shield Quick Start Guide VERSION: 1.0 Version Description Date 1.0 Release 2014-Jul-08 Yun Shield Quick Start Guide 1 / 14

MCP4725 Digital to Analog Converter Hookup Guide

What Do I Need To Create a Visualization For ScreenPlay?

Arduino DUE + DAC MCP4922 (SPI)

CS 589 Project Smart Home Hub, Phase I Due before 9am on October 21, 2015

DSO138 oscilloscope program upgrade method

IOIO for Android Beginners Guide Introduction

KTA-223 Arduino Compatible Relay Controller

IR Communication a learn.sparkfun.com tutorial

Develop a Dallas 1-Wire Master Using the Z8F1680 Series of MCUs

Complete Integrated Development Platform Copyright Atmel Corporation

MeshBee Open Source ZigBee RF Module CookBook

Building a Basic Communication Network using XBee DigiMesh. Keywords: XBee, Networking, Zigbee, Digimesh, Mesh, Python, Smart Home

Introduction to Arduino

How to connect to a Class II router using a mobile-phone data cable specifically for Solwise & Safecom routers

ERIKA Enterprise pre-built Virtual Machine

Set up and Blink - Simulink with Arduino

Motorising the Peco Turntable - a different approach

Arduino project. Arduino board. Serial transmission

DESIGN OF A TOUCHLESS USER INTERFACE. Author: Javier Onielfa Belenguer Director: Francisco José Abad Cerdá

Adafruit BME280 Humidity + Barometric Pressure + Temperature Sensor Breakout

SainSmart UNO R3 Starter Kit

Controlling a Dot Matrix LED Display with a Microcontroller

Test Driven Development of Embedded Systems Using Existing Software Test Infrastructure

Processing: A Venture in Android Application Development

MARTECH SPI Tools. MARTECH SPI Tools User Manual v1.0. User Manual

User s Manual of Board Microcontroller ET-MEGA2560-ADK ET-MEGA2560-ADK

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

FOLGER TECHNOLOGIES, LLC 2020 i3 3D Printer Kit

Digital I/O: OUTPUT: Basic, Count, Count+, Smart+

Android Controlled Based Interface

TOSR0X-D. USB/Wireless Timer Relay Module. User Manual. Tinysine 2013 Version 1.0

How to setup a serial Bluetooth adapter Master Guide

Lab 6 Introduction to Serial and Wireless Communication

Electronic Brick of Current Sensor

USBSPYDER08 Discovery Kit for Freescale MC9RS08KA, MC9S08QD and MC9S08QG Microcontrollers User s Manual

Microcontrollers and Sensors. Scott Gilliland - zeroping@gmail

MediaTek LinkIt Smart 7688 FAQ

Setting up a Local Interconnect Network (LIN) using dspace MicroAutoBox 1401/1501 Simulink Blocks

Green House Monitoring and Controlling Using Android Mobile Application

Intel Do-It-Yourself Challenge Lab 2: Intel Galileo s Linux side Nicolas Vailliet

Controller Demo Software. Simple V1.6. Copyright 2010 Reef Angel. All Rights Reserved

PN532 NFC RFID Module User Guide

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

Arduino Lesson 16. Stepper Motors

An Introduction to MPLAB Integrated Development Environment

EDK 350 (868 MHz) EDK 350U (902 MHz) EnOcean Developer Kit

netduino Getting Started

Cornerstone Electronics Technology and Robotics I Week 15 Voltage Comparators Tutorial

Prototyping Connected-Devices for the Internet of Things. Angus Wong

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Arduino Lesson 0. Getting Started

Smart Thermostat page 1

Wireless Security Camera with the Arduino Yun

Adafruit Proto Shield for Arduino

RPLIDAR. Low Cost 360 degree 2D Laser Scanner (LIDAR) System Development Kit User Manual Rev.1

Bidirectional wireless communication using EmbedRF

Android, Bluetooth and MIAC

Warnings: This manual is intended to guide a technicians or customers who would like to repair DBL's

Embedded Software Development: Spottbillige Hardware + OSS = Zum Spielen zu Schade!

Arduino Lesson 14. Servo Motors

DATASHEET. ADAM Arduino Display Adaptor Module. Arduino Compatible Shield P/N: 4Display-Shield-FT843 For the 4D Systems 4DLCD-FT843 Display

RC2200DK Demonstration Kit User Manual

How To Use An Ams 5812 Pressure Sensor With A Usb Starter Kit

Accurate Measurement of the Mains Electricity Frequency

EVAL-UFDC-1/UFDC-1M-16

3.2 inch QVGA TFT Color LCD User s Guide Version 1 & 2

Programming Arduino. Getting Started with Sketches. Simon Monk.

Antenna Rotator System

Transcription:

Arduino Development for Beginners By Richard Coombs and Przemyslaw Woznowski

Contents Introduction Board Types Shields Background Software Hardware Programming Language/IDE Setup Demo Wireless Arduino @ Cardiff Uni Resources

Our Experience What? Beginners Arduino Workshop. Who? tinker.it - the UK's leading provider of Arduino training. Aim? a basic introduction to the Arduino platform for artists, designers and hobbyists.

Introduction

What? Open-source electronics prototyping platform Hardware (circuit board) Micro-controller Memory to store code Pins for input/output to/from the CPU Connection for computer Software (IDE) Written in Java Designed for novice programmers

Why? Created in Italy 2005 to be: Inexpensive Cross-platform Easy to use Extensible Arduinos are for Tinkering!

Tinkering "Tinkering is what happens when you try something you don't quite know how to do, guided by whim, imagination and curiosity" [1] Patching Circuit bending Toy hacking Keyboard hacks

Starter Kit

Board Types

Duemilanove

Mega

Nano

LillyPad

Shields Boards which can be mounted on an Arduino to add extra functionality

Background sensor - an electronic device used to measure a physical quantity such as temperature, pressure or loudness and convert it into an electronic signal of some kind (e.g a voltage). [2] actuator - a mechanism that puts something into automatic action. [3]

The Interactive Device Most of the objects build using Arduino follow, so called Interactive Device pattern. It is an electronic circuit that is able to sense the environment using components called sensors and processing the information through behaviour implemented as software. The device will then be able to interact back with the world using actuators. [1]

Ingredients needed Software/ Development Environment Hardware Program sketch Often patience

Software Cross platform - runs on Windows, Mac OS X and Linux Written in Java and based on Processing programming language, avr-gcc, and other open source software. Arduino IDE designed to introduce programming to artists and other users unfamilair with software development. Includes a code editor with brace matching, automatic indentation, API lookup, capable of compiling and uploading programs to the board with one click

Software cont. Processing - Processing is an open source programming language and environment for people who want to program images, animation, and interactions. It is used by students, artists, designers, researchers, and hobbyists for learning, prototyping, and production. It is created to teach fundamentals of computer programming within a visual context and to serve as a software sketchbook and professional production tool. [4]

Hardware Arduino board USB (standard A-B) cable Broken (or not) toys, keyboards, etc. Resistors, potentiometers, LEDs, buttons, etc. Wires, breadboards

Program Sketch Arduino IDE comes with a C/C++ library called Wiring, which makes input/output operations easier. Programs are written in C/C++ but user only has to define 2 functions to make a runnable program: setup() - called once at the start of a program. This is where you initialize things. loop() called repeatedly until the board is powered off.

Programming Language Code written in Arduino is translated into C language. Passed on to the avr-gcc compiler that makes the translation into the language understood by the microcontroller. Uploaded to the board.

IDE Setup Download and install Arduino (http://www.arduino. cc/en/main/software) and Processing (http://processing. org). Connect the board to the USB port on your computer. Run Arduino IDE. Set the correct port your device is using Tools -> Serial Port -> select port beginning with /dev/cu.usbserial- Set the Arduino board type your are using Tools -> Board -> select correct board type (printed on the chip)

Hello World Open: File -> Examples -> Digital -> Blink Before uploading the code, you can verify it (Sketch > Verify/Compile), however this is not compulsory, as if there are errors while sending program to the board, Arduino will abort the operation and print appropriate warnings/exceptions. Connect your LED to port 13 and GND (Ground)

LED LEDs are directional components. That means if you put it in backwards it will not work! To help you put the LED in right, the LED factory cuts the legs at different lengths. The longer leg goes in the hole marked 13 and the shorter one goes in the hole marked GND

Hello World cont. Make sure your board is connected via USB cable Click the Upload button or select File -> Upload to I/O Board Watch for any errors (if wrong board/port selected or bugs in the code) Hopefully it works Let there be light

Button Demo Open: File -> Examples -> Digital -> Button Build the circuit as described in the file, or Look up the website address in this file, in order to see the picture of the circuit and its description: http://www.arduino. cc/en/tutorial/button Connect Arduino via USB Upload it to the board IMPORTANT: Always disconnect the board while building the circuit!!!

Analog Input Open: File -> Examples -> Analog -> Analog Input Build the circuit as described in the file, or Look up the website address in this file, in order to see the picture of the circuit and its description: http://arduino. cc/en/tutorial/analoginput Connect Arduino via USB Upload it to the board

Graph Open: File -> Examples -> Communication > Graph Circuit previously built can remain the same Open Processing Copy and paste code commented out in Arduino to Processing Run the program from Processing

Simple Paint App In Arduino: Open: File -> Examples -> Firmata > StandardFirmata Upload it to the board In Processing open and run test program: File > Sketchbook -> Libraries -> arduino -> examples > arduino_input In processing open and run: File -> Sketchbook > drawing_app

Wireless Cardiff Sensor Network project (CaSeNet?) CaSeNet to use Bluetooth sensors Aduino is compatible with Pachube Possible to use Arduinos for sensor nodes? Arduino + Bluetooth shield Bluetooth shield could not discover devices Arduino + ZigBee shield Some progress made Couldn't get it to work Couldn't keep shields to continue work

Arduino @ Cardiff University Matthew Morgan is setting up a group for Arduino developers Held every fortnight Undergraduate/Postgraduate students/lecturers/staff Hopefully we can get some funding and buy couple of boards Aim: exchange experiences, share ideas, build something funky that can be used/displayed in our department Interested? On your way out put your name down on the Arduino Cafe list.

Resources Forum, tutorials, blog, useful links, software: http://arduino.cc Shop: http://www.coolcomponents.co.uk http://www.skpang.co.uk http://www.robotbits.co.uk Training: http://tinker.it

Questions? Comments? Feedback?

References [1]. Banzi, M., Getting Started with Arduino 3rd release [2]. http://encyclopedia2.thefreedictionary.com/sensor [3]. http://www.thefreedictionary.com/actuator [4]. http://processing.org