SlideShare a Scribd company logo
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

More Related Content

What's hot

Aurdino presentation
Aurdino presentationAurdino presentation
Aurdino presentation
C.Vamsi Krishna
 
Arduino technical session 1
Arduino technical session 1Arduino technical session 1
Arduino technical session 1
Audiomas Soni
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
Preet Sangha
 
Lesson sample introduction to arduino
Lesson sample   introduction to arduinoLesson sample   introduction to arduino
Lesson sample introduction to arduino
Betsy Eng
 
Arduino Day 1 Presentation
Arduino Day 1 PresentationArduino Day 1 Presentation
Arduino Day 1 Presentation
Yogendra Tamang
 
Arduino and c programming
Arduino and c programmingArduino and c programming
Arduino and c programming
Punit Goswami
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
vishal kumar
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
Mohamed Essam
 
Arduino Microcontroller
Arduino MicrocontrollerArduino Microcontroller
Arduino Microcontroller
Shyam Mohan
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
avikdhupar
 
What are the different types of arduino boards
What are the different types of arduino boardsWhat are the different types of arduino boards
What are the different types of arduino boards
elprocus
 
Arduino: Arduino lcd
Arduino: Arduino lcdArduino: Arduino lcd
Arduino: Arduino lcd
SANTIAGO PABLO ALBERTO
 
Arduino Robotics workshop Day1
Arduino Robotics workshop Day1Arduino Robotics workshop Day1
Arduino Robotics workshop Day1
Sudar Muthu
 
Basics of arduino uno
Basics of arduino unoBasics of arduino uno
Basics of arduino uno
Rahat Sood
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
Yong Heui Cho
 
Introduction to Arduino Programming
Introduction to Arduino ProgrammingIntroduction to Arduino Programming
Introduction to Arduino Programming
James Lewis
 
What is Arduino ?
What is Arduino ?What is Arduino ?
What is Arduino ?
Niket Chandrawanshi
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
Luki B. Subekti
 
Arduino Workshop @ MSA University
Arduino Workshop @ MSA UniversityArduino Workshop @ MSA University
Arduino Workshop @ MSA University
Ahmed Magdy Farid
 

What's hot (20)

Aurdino presentation
Aurdino presentationAurdino presentation
Aurdino presentation
 
Arduino technical session 1
Arduino technical session 1Arduino technical session 1
Arduino technical session 1
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
 
Lesson sample introduction to arduino
Lesson sample   introduction to arduinoLesson sample   introduction to arduino
Lesson sample introduction to arduino
 
Arduino Day 1 Presentation
Arduino Day 1 PresentationArduino Day 1 Presentation
Arduino Day 1 Presentation
 
Arduino and c programming
Arduino and c programmingArduino and c programming
Arduino and c programming
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Introduction to arduino
Introduction to arduinoIntroduction to arduino
Introduction to arduino
 
Arduino Microcontroller
Arduino MicrocontrollerArduino Microcontroller
Arduino Microcontroller
 
Arduino
ArduinoArduino
Arduino
 
Intro to Arduino
Intro to ArduinoIntro to Arduino
Intro to Arduino
 
What are the different types of arduino boards
What are the different types of arduino boardsWhat are the different types of arduino boards
What are the different types of arduino boards
 
Arduino: Arduino lcd
Arduino: Arduino lcdArduino: Arduino lcd
Arduino: Arduino lcd
 
Arduino Robotics workshop Day1
Arduino Robotics workshop Day1Arduino Robotics workshop Day1
Arduino Robotics workshop Day1
 
Basics of arduino uno
Basics of arduino unoBasics of arduino uno
Basics of arduino uno
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Introduction to Arduino Programming
Introduction to Arduino ProgrammingIntroduction to Arduino Programming
Introduction to Arduino Programming
 
What is Arduino ?
What is Arduino ?What is Arduino ?
What is Arduino ?
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
Arduino Workshop @ MSA University
Arduino Workshop @ MSA UniversityArduino Workshop @ MSA University
Arduino Workshop @ MSA University
 

Viewers also liked

Fermented fruit juice (organic products)
Fermented fruit juice (organic products)Fermented fruit juice (organic products)
Fermented fruit juice (organic products)PhilEASNet CAR
 
Nebosh Revision Mnemonics
Nebosh Revision   MnemonicsNebosh Revision   Mnemonics
Nebosh Revision Mnemonics
Percoco H & S
 
How to install mnemosyne
How to install mnemosyneHow to install mnemosyne
How to install mnemosyne
usch64
 
Personality Mapping, Conflict management and Team building
Personality Mapping, Conflict management and Team buildingPersonality Mapping, Conflict management and Team building
Personality Mapping, Conflict management and Team building
D Dutta Roy
 
Brand Mnemonics
Brand MnemonicsBrand Mnemonics
Brand Mnemonics
Sharan Shah
 
Data pribadi SURYANTO
Data pribadi SURYANTOData pribadi SURYANTO
Data pribadi SURYANTO
latunusa2
 
Thesis (Diaz, Baladjay, Tadle)
Thesis (Diaz, Baladjay, Tadle)Thesis (Diaz, Baladjay, Tadle)
Thesis (Diaz, Baladjay, Tadle)kiara045
 
Grammar Review Mnemonic
Grammar Review MnemonicGrammar Review Mnemonic
Grammar Review Mnemonic
Gayla Keesee
 
Lactic Acid Bacteria Serum (LABS)
Lactic Acid Bacteria Serum (LABS)Lactic Acid Bacteria Serum (LABS)
Lactic Acid Bacteria Serum (LABS)
Felix Valdez
 
Growth and yield performance of bush sitao to the different levels of chicken...
Growth and yield performance of bush sitao to the different levels of chicken...Growth and yield performance of bush sitao to the different levels of chicken...
Growth and yield performance of bush sitao to the different levels of chicken...Ariash Mae Bermudo
 
Previewing Occupational Personality Questionnaire Used In Selection
Previewing Occupational Personality Questionnaire Used In SelectionPreviewing Occupational Personality Questionnaire Used In Selection
Previewing Occupational Personality Questionnaire Used In Selectionnancykrauss
 
Psoriasis-The best Presentation
Psoriasis-The best PresentationPsoriasis-The best Presentation
Psoriasis-The best Presentation
Dr.Shahidul Islam
 
BIOFERTILIZER
BIOFERTILIZERBIOFERTILIZER
BIOFERTILIZER
Felix Valdez
 
Improving the Production of Organically Grown Vegetables
Improving the Production of Organically Grown Vegetables Improving the Production of Organically Grown Vegetables
Improving the Production of Organically Grown Vegetables
Bureau of Agricultural Research
 
12th CBSE Practical File
12th CBSE Practical File12th CBSE Practical File
12th CBSE Practical File
Ashwin Francis
 
Introduction To Chemistry
Introduction To ChemistryIntroduction To Chemistry
Introduction To Chemistry
OH TEIK BIN
 
Learn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesLearn 90% of Python in 90 Minutes
Learn 90% of Python in 90 Minutes
Matt Harrison
 

Viewers also liked (19)

Fermented fruit juice (organic products)
Fermented fruit juice (organic products)Fermented fruit juice (organic products)
Fermented fruit juice (organic products)
 
Nebosh Revision Mnemonics
Nebosh Revision   MnemonicsNebosh Revision   Mnemonics
Nebosh Revision Mnemonics
 
How to install mnemosyne
How to install mnemosyneHow to install mnemosyne
How to install mnemosyne
 
Personality Mapping, Conflict management and Team building
Personality Mapping, Conflict management and Team buildingPersonality Mapping, Conflict management and Team building
Personality Mapping, Conflict management and Team building
 
Brand Mnemonics
Brand MnemonicsBrand Mnemonics
Brand Mnemonics
 
Mnemonics
MnemonicsMnemonics
Mnemonics
 
Data pribadi SURYANTO
Data pribadi SURYANTOData pribadi SURYANTO
Data pribadi SURYANTO
 
Mnemonics unit 2
Mnemonics  unit 2Mnemonics  unit 2
Mnemonics unit 2
 
Thesis (Diaz, Baladjay, Tadle)
Thesis (Diaz, Baladjay, Tadle)Thesis (Diaz, Baladjay, Tadle)
Thesis (Diaz, Baladjay, Tadle)
 
Grammar Review Mnemonic
Grammar Review MnemonicGrammar Review Mnemonic
Grammar Review Mnemonic
 
Lactic Acid Bacteria Serum (LABS)
Lactic Acid Bacteria Serum (LABS)Lactic Acid Bacteria Serum (LABS)
Lactic Acid Bacteria Serum (LABS)
 
Growth and yield performance of bush sitao to the different levels of chicken...
Growth and yield performance of bush sitao to the different levels of chicken...Growth and yield performance of bush sitao to the different levels of chicken...
Growth and yield performance of bush sitao to the different levels of chicken...
 
Previewing Occupational Personality Questionnaire Used In Selection
Previewing Occupational Personality Questionnaire Used In SelectionPreviewing Occupational Personality Questionnaire Used In Selection
Previewing Occupational Personality Questionnaire Used In Selection
 
Psoriasis-The best Presentation
Psoriasis-The best PresentationPsoriasis-The best Presentation
Psoriasis-The best Presentation
 
BIOFERTILIZER
BIOFERTILIZERBIOFERTILIZER
BIOFERTILIZER
 
Improving the Production of Organically Grown Vegetables
Improving the Production of Organically Grown Vegetables Improving the Production of Organically Grown Vegetables
Improving the Production of Organically Grown Vegetables
 
12th CBSE Practical File
12th CBSE Practical File12th CBSE Practical File
12th CBSE Practical File
 
Introduction To Chemistry
Introduction To ChemistryIntroduction To Chemistry
Introduction To Chemistry
 
Learn 90% of Python in 90 Minutes
Learn 90% of Python in 90 MinutesLearn 90% of Python in 90 Minutes
Learn 90% of Python in 90 Minutes
 

Similar to Arduino Development For Beginners

Embedded L1_notes_unit2_architecture.pptx
Embedded L1_notes_unit2_architecture.pptxEmbedded L1_notes_unit2_architecture.pptx
Embedded L1_notes_unit2_architecture.pptx
aartis110
 
Arduino
ArduinoArduino
Report on arduino
Report on arduinoReport on arduino
Report on arduino
Ravi Phadtare
 
Getting Started With Arduino_Tutorial
Getting Started With Arduino_TutorialGetting Started With Arduino_Tutorial
Getting Started With Arduino_Tutorial
NYCCTfab
 
Microcontroller arduino uno board
Microcontroller arduino uno boardMicrocontroller arduino uno board
Microcontroller arduino uno board
Gaurav
 
Up and running with Arduino
Up and running with Arduino Up and running with Arduino
Up and running with Arduino
KUET
 
Unit6_P7_luciablazquez
Unit6_P7_luciablazquezUnit6_P7_luciablazquez
Unit6_P7_luciablazquez
LucaBlzquez2
 
Interoperability in Internet of Things (IOT)
Interoperability in Internet of Things (IOT)Interoperability in Internet of Things (IOT)
Interoperability in Internet of Things (IOT)
manditalaskar123
 
Arduino 123
Arduino 123Arduino 123
Arduino 123
GOPI KRISHNA
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
Damien Magoni
 
Arduino presentation by_warishusain
Arduino presentation by_warishusainArduino presentation by_warishusain
Arduino presentation by_warishusain
student
 
Arduino
ArduinoArduino
Arduino
vipin7vj
 
Smartphone++
Smartphone++Smartphone++
Smartphone++
mharkus
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la Actualidad
Laurence HR
 
Arduino Full Tutorial
Arduino Full TutorialArduino Full Tutorial
Arduino Full TutorialAkshay Sharma
 
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCHWORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
ijdpsjournal
 
arduino uno.pptx
arduino uno.pptxarduino uno.pptx
arduino uno.pptx
NeeladriBijayMisra
 
Introduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of ArduinoIntroduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of Arduino
Abhimanyu Sangale
 
Arduino Programming Software Development
Arduino Programming Software DevelopmentArduino Programming Software Development
Arduino Programming Software Development
Sanjay Kumar
 

Similar to Arduino Development For Beginners (20)

Embedded L1_notes_unit2_architecture.pptx
Embedded L1_notes_unit2_architecture.pptxEmbedded L1_notes_unit2_architecture.pptx
Embedded L1_notes_unit2_architecture.pptx
 
Arduino
ArduinoArduino
Arduino
 
Report on arduino
Report on arduinoReport on arduino
Report on arduino
 
Getting Started With Arduino_Tutorial
Getting Started With Arduino_TutorialGetting Started With Arduino_Tutorial
Getting Started With Arduino_Tutorial
 
Microcontroller arduino uno board
Microcontroller arduino uno boardMicrocontroller arduino uno board
Microcontroller arduino uno board
 
Up and running with Arduino
Up and running with Arduino Up and running with Arduino
Up and running with Arduino
 
Unit6_P7_luciablazquez
Unit6_P7_luciablazquezUnit6_P7_luciablazquez
Unit6_P7_luciablazquez
 
Interoperability in Internet of Things (IOT)
Interoperability in Internet of Things (IOT)Interoperability in Internet of Things (IOT)
Interoperability in Internet of Things (IOT)
 
Arduino 123
Arduino 123Arduino 123
Arduino 123
 
Introduction to Arduino
Introduction to ArduinoIntroduction to Arduino
Introduction to Arduino
 
notes about Arduino
notes about Arduinonotes about Arduino
notes about Arduino
 
Arduino presentation by_warishusain
Arduino presentation by_warishusainArduino presentation by_warishusain
Arduino presentation by_warishusain
 
Arduino
ArduinoArduino
Arduino
 
Smartphone++
Smartphone++Smartphone++
Smartphone++
 
Taller IoT en la Actualidad
Taller IoT en la ActualidadTaller IoT en la Actualidad
Taller IoT en la Actualidad
 
Arduino Full Tutorial
Arduino Full TutorialArduino Full Tutorial
Arduino Full Tutorial
 
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCHWORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
WORKING PRINCIPLE OF ARDUINO AND USING IT AS A TOOL FOR STUDY AND RESEARCH
 
arduino uno.pptx
arduino uno.pptxarduino uno.pptx
arduino uno.pptx
 
Introduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of ArduinoIntroduction to Arduino Programming: Features of Arduino
Introduction to Arduino Programming: Features of Arduino
 
Arduino Programming Software Development
Arduino Programming Software DevelopmentArduino Programming Software Development
Arduino Programming Software Development
 

Recently uploaded

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 

Arduino Development For Beginners

  • 1. Arduino Development for Beginners By Richard Coombs and Przemyslaw Woznowski
  • 3. 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.
  • 5. 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
  • 6. Why? Created in Italy 2005 to be: Inexpensive Cross-platform Easy to use Extensible Arduinos are for Tinkering!
  • 7. 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
  • 8.
  • 12. Mega
  • 13. Nano
  • 15. Shields Boards which can be mounted on an Arduino to add extra functionality
  • 16. 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]
  • 17. 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]
  • 18. “Ingredients” needed Software/ Development Environment Hardware Program sketch Often patience
  • 19. 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
  • 20. 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]
  • 21. Hardware Arduino board USB (standard A-B) cable Broken (or not) toys, keyboards, etc. Resistors, potentiometers, LEDs, buttons, etc. Wires, breadboards
  • 22. 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.
  • 23. 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.
  • 24. 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)
  • 25. 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)
  • 26. 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
  • 27. 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”
  • 28. 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!!!
  • 29. 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
  • 30. 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
  • 31. 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
  • 32. 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
  • 33. 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.
  • 34. 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
  • 35. Questions? Comments? Feedback?  
  • 36. 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