Upload
a-fahrul-aji
View
248
Download
1
Embed Size (px)
Citation preview
8/17/2019 Basic Arduino Workshop
1/34
BASIC ARDUINO
WORKSHOP
By :
Yogi Hamdani S.T., B.Eng.
8/17/2019 Basic Arduino Workshop
2/34
Workshop Content
• Introduction to Arduino
• Arduino Programming (hands-on)
•
System Development
3/10/2016 2BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
3/34
INTRODUCTION TO
ARDUINO
8/17/2019 Basic Arduino Workshop
4/34
What is Arduino?
• Microcontroller board contains on board
power supply, USB port to communicate with
PC, and microcontroller chip.
• Open source hardware
3/10/2016 4BASIC ARDUINO WORKSHOP - YOGI HAMDANI
INPUT FROMSENSORS
PROCESSING INMICROCONTROLLER
OUTPUT TOACTUATORS
8/17/2019 Basic Arduino Workshop
5/34
Arduino Boards
3/10/2016 5BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
6/34
Arduino Mega
• 54 digital input/output pins
(of which 14 can be used as PWM outputs)
• 16 analog inputs
• USB connection
3/10/2016 6BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
7/34
Analog / Digital
• All physical quantities are analog.
• Analog quantity takes any value between its
minimum and maximum value.
(in Arduino 0-255 / 8 bits)
• Digital quantity takes specific levels of value
with specific offset / on-off condition.
(in Arduino 0-1)
3/10/2016 7BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
8/34
ARDUINO
PROGRAMMING
Program Download
http://arduino.cc/en/Main/Software
8/17/2019 Basic Arduino Workshop
9/34
Programming Platform
• Integrated
Development
Environment (IDE)
• C language
programming
3/10/2016 9BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
10/34
Sample Program (Built-In LED)
1. Open Arduino IDE
2. Click File ->
Examples ->
01.Basics ->
Blink
3/10/2016 10BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
11/34
P r o g r a m S t
r u c t u r e
3/10/2016 11BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
12/34
P r o g r a m S t
r u c t u r e
3/10/2016 12BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
13/34
P r o g r a m S t
r u c t u r e
3/10/2016 13BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
14/34
Upload Program
1. Check Connection
Click Tool ->
Select Board,
Select PortCheck on bottom
2. Click Upload
3/10/2016 14BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
15/34
Basic Syntax – Digital I/O
1. pinMode(x,OUTPUT); for pin x as output
pinMode(y,INPUT); for pin y as input
2. digitalWrite(x,HIGH); set pin x to ON (1)
digitalWrite(x,LOW); set pin x to OFF (0)
3. digitalRead(y); read pin y status
4. delay(z); set delay for z ms
3/10/2016 15BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
16/34
Data Types and Statement
• Integer: declare variable as integer.
example: int x = 10;
• Floating Point: declare variable as numbers .
example: float x = 10.50;
• Character: declare variable as single character.
example: char z = ‘y’;
• String: declare variable as multiple characters.example: String z = “xyz”;
3/10/2016 16BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
17/34
Operators
• Math Operators: (+,-,*,/,%,^)
example:
int x = 5;
int y = 7;int z = x + y;
• Logic Operators: (==, !=, &&, ||)
• Comparison Operators: (,=)
3/10/2016 17BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
18/34
IF Statement
Example 1:if(condition 1){
do something;}
3/10/2016 18BASIC ARDUINO WORKSHOP - YOGI HAMDANI
Example 2:
if(condition 1)
{
do something;}
else
{
do something;}
Example 3:if(condition 1)
{
do something;
}else if(condition 2)
{
do something;
}
else
{
do something;
}
8/17/2019 Basic Arduino Workshop
19/34
Loop Statement
Do… while
example:
do
{do something;
}
while(condition)
3/10/2016 19BASIC ARDUINO WORKSHOP - YOGI HAMDANI
Whileexample:while(condition)
{ do something;}
Forexample:for(int i=0; i
8/17/2019 Basic Arduino Workshop
20/34
Serial Monitor
3/10/2016 20BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
21/34
Exercise
• Turn LED ON when switch is pressed.
• Print status to serial monitor.
3/10/2016 21BASIC ARDUINO WORKSHOP - YOGI HAMDANI
Ground Pin
Digital Pin
8/17/2019 Basic Arduino Workshop
22/34
Wiring
3/10/2016 22BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
23/34
P
r o g r a m
m i n g
3/10/2016 23BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
24/34
Program Code
int LED = 12;int Switch = 8;
void setup()
{
Serial.begin(9600);
pinMode(LED,OUTPUT);
pinMode(Switch,INPUT);
}
3/10/2016 24BASIC ARDUINO WORKSHOP - YOGI HAMDANI
void loop(){
digitalWrite(LED,LOW);
if(digitalRead(Switch) == HIGH)
{
Serial.println("ON");
digitalWrite(LED,HIGH);
}
Serial.println("OFF");
delay(500);
}
8/17/2019 Basic Arduino Workshop
25/34
Questions ???
8/17/2019 Basic Arduino Workshop
26/34
SYSTEM DEVELOPMENT(Reverse Parking Sensor System)
8/17/2019 Basic Arduino Workshop
27/34
How it works?
1. Sensors are activated and sense the distance.
2. Controller process the data.
3. Notify driver with buzzer / LED.
3/10/2016 27BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
28/34
Equipments
INPUT:
- Switch
- Ping Sensor
3/10/2016 28BASIC ARDUINO WORKSHOP - YOGI HAMDANI
OUTPUT:
- Buzzer
- LED
8/17/2019 Basic Arduino Workshop
29/34
Input Analysis
1. System is activated by switch.2. Ping sensor send ultrasonic wave via trigger pin.
3. If hit an object, the reflected wave may be received
through echo pin.
3/10/2016 29BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
30/34
Ping Sensor
3/10/2016 30BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
31/34
Input Analysis
4. Ping sensor gives time duration (in µs) betweentransmission and receiving reflected wave.
5. Analyze time duration into distance measurement.
3/10/2016 31BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
32/34
pulseIn Function
int echo = 8
int time_duration;
void setup()
{
pinMode(echo, INPUT);}
void loop()
{
time_duration = pulseIn(echo, HIGH);}
3/10/2016 32BASIC ARDUINO WORKSHOP - YOGI HAMDANI
8/17/2019 Basic Arduino Workshop
33/34
Output Requirement
1. Buzzer rings more intense as distance is closer.
2. LED blinks / turns on longer as distance is closer.
3. Give information about distance via serial monitor.
3/10/2016 33BASIC ARDUINO WORKSHOP - YOGI HAMDANI
Distance Left Buzzer LED Blue LED Red
>= 20 cm Not Ring ON OFF
>= 15 cm && < 20 cm Ring A ON Blink
>= 10 cm && < 15 cm Ring B ON Blink>= 5 cm && < 10 cm Ring C ON ON
< 5 cm Ring D ON ON
8/17/2019 Basic Arduino Workshop
34/34
PROGRAMMING
PLAY TIME