SlideShare a Scribd company logo
Frank Fourlas
Introduction to Arduino
What you are going to learn
• What is an Arduino and why learn to use it
• Hardware Capabilities
• Basics of Digital & Analog I/O
• Write basic C++ code and perform simple tasks
• Work from examples and projects
What is an Arduino
“Arduino is an open-source hardware and software company
originating from Italy. They design microcontrollers based
(mostly) on the ATmega family of microprocessors by Atmel.”
A Microcontroller (MCU)
• “A small computer on a single metal-oxide-semiconductor
(MOS) integrated circuit (IC) chip” –Wikipedia
• One or more CPUs
• Memory (ProgMem, RAM)
• Input/Output Peripherals
• Used in automation, IoT, appliances, remote control, etc
Open-Source
• Hardware: Creative Commons
• Publicly available schematics
• Permission to manufacture custom boards
• Cheap 3rd party compatibles
• Software: GNU General Public License
• Free/distributed
• Huge community (Help/Patching/Expanding)
• Variety of processors (AVR, ARM, ESP)
Based on ATmega Microprocessors
• Pin Breakout
• Voltage Regulator
• USB – Serial
Converter
• Clock
Why Arduino?
• Plug and Play
• Huge, expanding community
• Troubleshooting and help
• (Too) Many modules/sensors/expansions available
• Not too simple, not too advanced
• Cheap
• Easy to learn
• Baseline for more
Some Examples
Rocket v.2 mainboard
Sound reactive lighting
Creality Ender3 mainboard
PS1 modchip using PsNee
• Different Arduino Boards
• A map of the Arduino UNO
• Basics of Digital & Analog I/O
Hardware Capabilities
Arduino Boards
• Arduino UNO (ATmega328P)
• Arduino Nano (ATmega328)
• Arduino Micro (ATmega32U4)
20€ - 5€
15€ - 0.9€
Digital I/O
• Output:
• Turn a pin On or Off
• Supply 5V or connect to Ground
• Turn on a light
• Supply a positive or negative signal
• Input:
• Read a digital bit
• Detect High or Low voltage
• Receive a positive or negative signal
Analog I/O
• Output:
• Supply a variable voltage source (0-5V)
• Control the speed of a motor/brightness of light
• 256 different states
• Input:
• Read an analog signal
• Differentiate between different voltage levels
• 1024 different levels
USB
USB-Serial
ATmega328P
Microprocessor
7-12V
Voltage
Regulator
(5V
Logic)
Analog Input
Digital I/O
Analog Output (~PWM)
• The Arduino IDE
• Bare Minimum Program
• Input / Output
• Finding Resources Online
Writing Software
The Arduino IDE
• Download: https://www.arduino.cc/en/software
The Text Editor
Output Console
Serial Monitor
Compile/Upload/New/Open/Save
Fix your settings
• Make sure to select the correct Board and Port from the Tools
menu
Bare Minimum
• void setup()
• void loop()
Blink
• pinMode(pin, bool mode)
• digitalWrite(pin, bool state)
• delay(int milliseconds)
Button
• bool digitalRead(pin)
Potentiometer
• analogRead(AnalogPin)
• analogWrite(Pin, int level)
Communication
• Serial
• begin(int baudrate)
• print/println(String text)
• write(byte data)
• int available()
• char read()
The Serial Monitor
• Online Sources
• Reading Pinouts
• Reading Datasheets
• Libraries
Finding Resources
Online Sources
• Arduino IDE → File → Examples
• For all built-in libraries
• Every downloaded library adds examples
• arduino.cc → Documentation
• Tutorials (w/ schematics and sample code)
• Reference (Language and built-in library documentation)
• Adafruit
• Modules/Sensors/Boards
• Libraries for EVERYTHING (most 3rd party modules/sensors are remakes)
• Tutorials (w/ wiring instructions, schematics and sample code)
• StackOverflow
• Google
Connecting Communicating Devices
“Pinout of ARDUINO Board and ATMega328PU”
by pighixxx is licensed under Creative
Commons Attribution-Share Alike 4.0 International
Connecting Communicating Devices
GPS Modules
communicate with UART
A microSD card reader
that communicates with
SPI
A 10-DOF Sensor from Adafruit that uses
I2C
Arduino IDE Library Manager
Using Libraries
The PING exercise
• Use the HC-SR04 Ultrasonic Sensor to dim an LED
depending on its distance from a wall. Print the distance
in the Serial Monitor.
• Applying HIGH signal to “Trig” for 10μs produces an
ultrasonic pulse
• Then, “Echo” is turned HIGH for the same duration it took
the pulse to travel back and forth
• Help:
• Sound travels in a speed of 0.0343cm/μs
• pulseIn(pin, HIGH/LOW) blocks until pin turns HIGH/LOW, waits
until it switches to the other state, returns the microseconds it
stayed HIGH/LOW
• delayMicroseconds(int micros) is used for precision delay
• ECHO needs to be normalized to LOW for 2μs before PINGing
The Servo Exercise
• Use a potentiometer to control the rotation of a Servo motor
• Help:
• Connect the potentiometer like we did on the Analog example
• A Servo motor uses 3 wires, 2 for power and a signal
• Use the Servo library, find examples inside the IDE and documentation
on arduino.cc (It is a native library)
One step further
• Connecting to the Internet (IoT)
• WiFi library -> TCP and UDP protocols
• Acting as a webserver / Online communication
• Connecting to Bluetooth
• ArduinoBLE library
• Advanced Lighting
• WS2812B LEDs
• NeoPixel library / FastLED library
• Programming different processors
• ATtiny84/ATtiny85
• ESP8266/ESP32
• Interacting with other languages (Python/Processing)

More Related Content

What's hot (20)

PPTX
Smart irrigation system using internet of things
Basavaraj Galagi
 
PPS
What is Arduino ?
Niket Chandrawanshi
 
PPTX
Iot based energy management system
Talha Mughal
 
PPTX
robotics and embedded system ppt
Nilgiri publicity
 
PPTX
Intelligent irrigation system
ABIN VARGHESE
 
PPTX
Comparison between the FPGA vs CPLD
Gowri Kishore
 
PPTX
Introduction to Arduino Microcontroller
Mujahid Hussain
 
PDF
Smart grid communications and measurement technology
Siksha 'O' Anusandhan (Deemed to be University )
 
PPTX
Home automation ppt-kamal lamichhane
Kamal Lamichhane
 
PDF
Microcontroller Based Room Temperature and Humidity Measurement System
ijtsrd
 
PDF
Implementation of Secured Car Parking Management System Using Verilog HDL
IJERA Editor
 
PPTX
Wi-Fi Esp8266 nodemcu
creatjet3d labs
 
PPTX
Smart grid and micro grid
Purna chandar
 
PPTX
Fuses and mcb
Gursimran Chawla
 
PDF
Gas Leakage Detector using Arduino with SMS Alert - Engineering Project
CircuitsToday
 
PDF
Sensors, MEMS, Internet of Things
Jeffrey Funk
 
PPTX
Trends and challenges in vlsi
labishettybhanu
 
PPTX
Traffic signal
Riaz Gul Sheikh
 
PDF
Linear Integrated Circuits and Its Applications Unit-V Special ICs
SATHEESH C S
 
PDF
Leakage detection in water pipe networks using Ground Penetrating Radar (GPR)...
Dai Shi
 
Smart irrigation system using internet of things
Basavaraj Galagi
 
What is Arduino ?
Niket Chandrawanshi
 
Iot based energy management system
Talha Mughal
 
robotics and embedded system ppt
Nilgiri publicity
 
Intelligent irrigation system
ABIN VARGHESE
 
Comparison between the FPGA vs CPLD
Gowri Kishore
 
Introduction to Arduino Microcontroller
Mujahid Hussain
 
Smart grid communications and measurement technology
Siksha 'O' Anusandhan (Deemed to be University )
 
Home automation ppt-kamal lamichhane
Kamal Lamichhane
 
Microcontroller Based Room Temperature and Humidity Measurement System
ijtsrd
 
Implementation of Secured Car Parking Management System Using Verilog HDL
IJERA Editor
 
Wi-Fi Esp8266 nodemcu
creatjet3d labs
 
Smart grid and micro grid
Purna chandar
 
Fuses and mcb
Gursimran Chawla
 
Gas Leakage Detector using Arduino with SMS Alert - Engineering Project
CircuitsToday
 
Sensors, MEMS, Internet of Things
Jeffrey Funk
 
Trends and challenges in vlsi
labishettybhanu
 
Traffic signal
Riaz Gul Sheikh
 
Linear Integrated Circuits and Its Applications Unit-V Special ICs
SATHEESH C S
 
Leakage detection in water pipe networks using Ground Penetrating Radar (GPR)...
Dai Shi
 

Similar to Introduction to Arduino Webinar (20)

PDF
Arduino - Learning.pdf
KhalilSedki1
 
PPTX
Introduction To Arduino-converted for s.pptx
rtnmsn
 
PDF
Arduino
Md. Ashifur Rahaman
 
PPTX
How to use an Arduino
AntonAndreev13
 
PDF
introductiontoarduino-111120102058-phpapp02.pdf
HebaEng
 
PPTX
teststststststLecture_3_2022_Arduino.pptx
ethannguyen1618
 
PPTX
arduino and its introduction deep dive ppt.pptx
SruSru1
 
PPTX
Arduino . .
dryazhinians
 
PPTX
Arduino slides
sdcharle
 
PPTX
Arduino Workshop Slides
mkarlin14
 
PDF
Starting with Arduino
MajdyShamasneh
 
PPTX
Introduction to the Arduino
Wingston
 
PPTX
Internet of Things prescribed by University
Sanjay Kumar
 
PPT
13223971.ppt
SuYee13
 
PPTX
ARDUINO Presentation1.pptx
SourabhSalunkhe10
 
PDF
Making things sense - Day 1 (May 2011)
markumoto
 
PPTX
embedded_in_Arduino_with_basic_embedded.pptx
acloudinfo2023
 
PPTX
arduino introduction by Engr. Kennedy V. Rodriguez.pptx
KennedyRodriguez5
 
PPT
Intro to Arduino
avikdhupar
 
Arduino - Learning.pdf
KhalilSedki1
 
Introduction To Arduino-converted for s.pptx
rtnmsn
 
How to use an Arduino
AntonAndreev13
 
introductiontoarduino-111120102058-phpapp02.pdf
HebaEng
 
teststststststLecture_3_2022_Arduino.pptx
ethannguyen1618
 
arduino and its introduction deep dive ppt.pptx
SruSru1
 
Arduino . .
dryazhinians
 
Arduino slides
sdcharle
 
Arduino Workshop Slides
mkarlin14
 
Starting with Arduino
MajdyShamasneh
 
Introduction to the Arduino
Wingston
 
Internet of Things prescribed by University
Sanjay Kumar
 
13223971.ppt
SuYee13
 
ARDUINO Presentation1.pptx
SourabhSalunkhe10
 
Making things sense - Day 1 (May 2011)
markumoto
 
embedded_in_Arduino_with_basic_embedded.pptx
acloudinfo2023
 
arduino introduction by Engr. Kennedy V. Rodriguez.pptx
KennedyRodriguez5
 
Intro to Arduino
avikdhupar
 
Ad

Recently uploaded (20)

DOC
MRRS Strength and Durability of Concrete
CivilMythili
 
PPTX
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
PPTX
Element 7. CHEMICAL AND BIOLOGICAL AGENT.pptx
merrandomohandas
 
PDF
GTU Civil Engineering All Semester Syllabus.pdf
Vimal Bhojani
 
PPTX
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
DOCX
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
PDF
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
PDF
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
PPTX
Day2 B2 Best.pptx
helenjenefa1
 
PPTX
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
PPTX
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
PDF
Electrical Engineer operation Supervisor
ssaruntatapower143
 
PDF
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
PPTX
Introduction to Design of Machine Elements
PradeepKumarS27
 
PDF
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
PDF
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
PDF
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
PPTX
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
PPTX
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
PPTX
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
MRRS Strength and Durability of Concrete
CivilMythili
 
Heart Bleed Bug - A case study (Course: Cryptography and Network Security)
Adri Jovin
 
Element 7. CHEMICAL AND BIOLOGICAL AGENT.pptx
merrandomohandas
 
GTU Civil Engineering All Semester Syllabus.pdf
Vimal Bhojani
 
What is Shot Peening | Shot Peening is a Surface Treatment Process
Vibra Finish
 
CS-802 (A) BDH Lab manual IPS Academy Indore
thegodhimself05
 
Introduction to Productivity and Quality
মোঃ ফুরকান উদ্দিন জুয়েল
 
MAD Unit - 1 Introduction of Android IT Department
JappanMavani
 
Day2 B2 Best.pptx
helenjenefa1
 
原版一样(Acadia毕业证书)加拿大阿卡迪亚大学毕业证办理方法
Taqyea
 
The Role of Information Technology in Environmental Protectio....pptx
nallamillisriram
 
Electrical Engineer operation Supervisor
ssaruntatapower143
 
AI TECHNIQUES FOR IDENTIFYING ALTERATIONS IN THE HUMAN GUT MICROBIOME IN MULT...
vidyalalltv1
 
Introduction to Design of Machine Elements
PradeepKumarS27
 
MAD Unit - 2 Activity and Fragment Management in Android (Diploma IT)
JappanMavani
 
Biomechanics of Gait: Engineering Solutions for Rehabilitation (www.kiu.ac.ug)
publication11
 
Pressure Measurement training for engineers and Technicians
AIESOLUTIONS
 
Solar Thermal Energy System Seminar.pptx
Gpc Purapuza
 
265587293-NFPA 101 Life safety code-PPT-1.pptx
chandermwason
 
DATA BASE MANAGEMENT AND RELATIONAL DATA
gomathisankariv2
 
Ad

Introduction to Arduino Webinar

  • 2. What you are going to learn • What is an Arduino and why learn to use it • Hardware Capabilities • Basics of Digital & Analog I/O • Write basic C++ code and perform simple tasks • Work from examples and projects
  • 3. What is an Arduino “Arduino is an open-source hardware and software company originating from Italy. They design microcontrollers based (mostly) on the ATmega family of microprocessors by Atmel.”
  • 4. A Microcontroller (MCU) • “A small computer on a single metal-oxide-semiconductor (MOS) integrated circuit (IC) chip” –Wikipedia • One or more CPUs • Memory (ProgMem, RAM) • Input/Output Peripherals • Used in automation, IoT, appliances, remote control, etc
  • 5. Open-Source • Hardware: Creative Commons • Publicly available schematics • Permission to manufacture custom boards • Cheap 3rd party compatibles • Software: GNU General Public License • Free/distributed • Huge community (Help/Patching/Expanding) • Variety of processors (AVR, ARM, ESP)
  • 6. Based on ATmega Microprocessors • Pin Breakout • Voltage Regulator • USB – Serial Converter • Clock
  • 7. Why Arduino? • Plug and Play • Huge, expanding community • Troubleshooting and help • (Too) Many modules/sensors/expansions available • Not too simple, not too advanced • Cheap • Easy to learn • Baseline for more
  • 8. Some Examples Rocket v.2 mainboard Sound reactive lighting Creality Ender3 mainboard PS1 modchip using PsNee
  • 9. • Different Arduino Boards • A map of the Arduino UNO • Basics of Digital & Analog I/O Hardware Capabilities
  • 10. Arduino Boards • Arduino UNO (ATmega328P) • Arduino Nano (ATmega328) • Arduino Micro (ATmega32U4) 20€ - 5€ 15€ - 0.9€
  • 11. Digital I/O • Output: • Turn a pin On or Off • Supply 5V or connect to Ground • Turn on a light • Supply a positive or negative signal • Input: • Read a digital bit • Detect High or Low voltage • Receive a positive or negative signal
  • 12. Analog I/O • Output: • Supply a variable voltage source (0-5V) • Control the speed of a motor/brightness of light • 256 different states • Input: • Read an analog signal • Differentiate between different voltage levels • 1024 different levels
  • 14. • The Arduino IDE • Bare Minimum Program • Input / Output • Finding Resources Online Writing Software
  • 15. The Arduino IDE • Download: https://www.arduino.cc/en/software The Text Editor Output Console Serial Monitor Compile/Upload/New/Open/Save
  • 16. Fix your settings • Make sure to select the correct Board and Port from the Tools menu
  • 17. Bare Minimum • void setup() • void loop()
  • 18. Blink • pinMode(pin, bool mode) • digitalWrite(pin, bool state) • delay(int milliseconds)
  • 21. Communication • Serial • begin(int baudrate) • print/println(String text) • write(byte data) • int available() • char read()
  • 23. • Online Sources • Reading Pinouts • Reading Datasheets • Libraries Finding Resources
  • 24. Online Sources • Arduino IDE → File → Examples • For all built-in libraries • Every downloaded library adds examples • arduino.cc → Documentation • Tutorials (w/ schematics and sample code) • Reference (Language and built-in library documentation) • Adafruit • Modules/Sensors/Boards • Libraries for EVERYTHING (most 3rd party modules/sensors are remakes) • Tutorials (w/ wiring instructions, schematics and sample code) • StackOverflow • Google
  • 25. Connecting Communicating Devices “Pinout of ARDUINO Board and ATMega328PU” by pighixxx is licensed under Creative Commons Attribution-Share Alike 4.0 International
  • 26. Connecting Communicating Devices GPS Modules communicate with UART A microSD card reader that communicates with SPI A 10-DOF Sensor from Adafruit that uses I2C
  • 29. The PING exercise • Use the HC-SR04 Ultrasonic Sensor to dim an LED depending on its distance from a wall. Print the distance in the Serial Monitor. • Applying HIGH signal to “Trig” for 10μs produces an ultrasonic pulse • Then, “Echo” is turned HIGH for the same duration it took the pulse to travel back and forth • Help: • Sound travels in a speed of 0.0343cm/μs • pulseIn(pin, HIGH/LOW) blocks until pin turns HIGH/LOW, waits until it switches to the other state, returns the microseconds it stayed HIGH/LOW • delayMicroseconds(int micros) is used for precision delay • ECHO needs to be normalized to LOW for 2μs before PINGing
  • 30. The Servo Exercise • Use a potentiometer to control the rotation of a Servo motor • Help: • Connect the potentiometer like we did on the Analog example • A Servo motor uses 3 wires, 2 for power and a signal • Use the Servo library, find examples inside the IDE and documentation on arduino.cc (It is a native library)
  • 31. One step further • Connecting to the Internet (IoT) • WiFi library -> TCP and UDP protocols • Acting as a webserver / Online communication • Connecting to Bluetooth • ArduinoBLE library • Advanced Lighting • WS2812B LEDs • NeoPixel library / FastLED library • Programming different processors • ATtiny84/ATtiny85 • ESP8266/ESP32 • Interacting with other languages (Python/Processing)

Editor's Notes

  • #19: Blink an LED with 1s delay https://www.tinkercad.com/things/2vCd9HYoelK
  • #20: Turn on an LED. When button pressed, turn off for 2s. Strobe LED while button pressed. When button pressed, strobe for 2s. https://www.tinkercad.com/things/2vCd9HYoelK
  • #21: Control a motors speed using a potentiometer.
  • #22: Get the distance from an object using a PING sensor and Serial communication. Control an LED from your computer.