Arduino is an open-source project that created microcontroller-based kits for building digital devices and interactive objects that can sense and control physical devices.
2. Start with the name of Allah (SWT), Who is most Merciful and
Most Beneficent
3. WHAT IS ARDUINO
• Arduino is an open-source project
that created microcontroller-based
kits for building digital devices and
interactive objects that can sense
and control physical devices.
• These systems provide sets of digital
and analog input/output (I/O) pins
that can interface to various
expansion boards (termed shields)
and other circuits.
4. WHAT IS MICRO-CONTROLLER
• A microcontroller is basically a small-scale computer with
generalized (and programmable) inputs and outputs.
• The inputs and outputs can be manipulated by and can
manipulate the physical world.
• Programmers work in the virtual world.
• Machinery works in the physical world.
• How does one connect the virtual world to the physical world?
• Simply enter the Microcontroller.
5. ARDUINO TYPES
• Many different versions
• Number of input/output channels
• Form factor
• Processor
• Leonardo
• Due
• Micro
• LilyPad
• Esplora
• Uno
6. ARDUINO UNO
• Invented / Launched in 2010
• The pins are in three groups:
• 14 digital pins
• 6 analog pins
• 6 PWM pins
• Digital pin 0 & 1 is used for RX
TX
• 16MHz Clock speed
• 32KB Flash memory
• 2KB SRAM
• 1KB EEPROM
7. • Analog Reference pin (orange)
• Digital Ground (light green)
• Digital Pins 2-13 (green)
• Digital Pins 0-1/Serial In/Out - TX/RX (dark green)
- These pins cannot be used for digital i/o
(digitalRead and digitalWrite)
• Reset Button - S1 (dark blue)
• In-circuit Serial Programmer (blue-green)
• Analog In Pins 0-5 (light blue)
• Power and Ground Pins (power: orange, grounds:
light orange)
• External Power Supply In (9-12VDC) - X1 (pink)
• Toggles External Power and USB Power (place
jumper on two pins closest to desired supply) -
SV1 (purple)
• USB (used for uploading sketches to the board and
for serial communication between the board andhttps://www.arduino.cc/en/Reference/Board
8. THE ARDUINO IDE
The main features you need to know about are:
• Code area: This is where you will type all your
code
• Info panel: This will show any errors during
compiling or uploading code to your Arduino
• Verify: This allows you to compile your code to
code the Arduino understands. Any mistakes you
have made in the syntax of your code will be
show in the info pannel
• Upload: This does the same as verify but will
then send your code to your Arduino if the code
is verified successfully
• Serial Monitor: This will open a window that
allows you to send text to and from an Arduino.
We will use this feature in later lectures.
9. THE ARDUINO IDE
By far one of the most valuable part of the
Arduino software is its vast library of
example programs. All features of the
Arduino are demonstrated in these.
Optional libraries usually add their own
examples on how to use them.
If these examples don’t cover what you
need…. Google it!
11. STRUCTURE OF AN ARDUINO “SKETCH”
void setup()
{
// put your setup code here, to run once:
}
void loop()
{
// put your main code here, to run repeatedly:
}
12. FIRST PROGRAM, SINGLE LED SKETCH
int onBoardLED; // Variable Defined
void setup()
{
//Arduinos have an on-board LED on pin 13
onBoardLED = 13;
pinMode(onBoardLED, OUTPUT);
}
void loop()
{
digitalWrite(onBoardLED, HIGH);
delay(500); //delay measured in milliseconds
digitalWrite(onBoardLED, LOW);
delay(500);
}
16. ARDUINO PROGRAM (SERIAL COM)
• The baud rate is the rate at
which information is
transferred in a
communication channel. In
the serial port context, "9600
baud" means that the serial
port is capable of
transferring a maximum of
9600 bits per second.
20. STRUCTURE
setup() {
• The setup() function is called when a sketch starts. Use it to initialize
variables, pin modes, start using libraries, etc. The setup function will
only run once, after each powerup or reset of the Arduino board.
}
loop() {
• After creating a setup() function, which initializes and sets the initial
values, the loop() function does precisely what its name suggests,
and loops consecutively, allowing your program to change and
respond. Use it to actively control the Arduino board.
}
21. CONTROL STRUCTURES
• if
• if...else
• for
• switch case
• while
• do... while
• break
• continue
• return
• goto
22. IF
• IF which is used in conjunction with a comparison operator,
tests whether a certain condition has been reached, such as an
input being above a certain number. The format for an if test is:
if (someVariable > 50)
{
// do something here
}
23. IF / ELSE
• if/else allows greater control over the flow of code than the
basic if statement, by allowing multiple tests to be grouped
together.
if (pinFiveInput < 500)
{ // action A }
else
{ // action B }
if (pinFiveInput < 500)
{ // do Thing A }
else if (pinFiveInput >= 1000)
{ // do Thing B }
else
{ // do Thing C }
24. SWITCH / CASE STATEMENTS:
• Like if statements, switch...case controls the flow of programs
by allowing programmers to specify different code that should
be executed in various conditions.
switch (var) {
case 1:
//do something when var equals 1
break;
case 2:
//do something when var equals 2
break;
default:
// if nothing else matches, do the default
// default is optional
break;
}
25. WHILE
• while loops will loop continuously, and infinitely, until the
expression inside the parenthesis, () becomes false. Something
must change the tested variable, or the while loop will never
exit. This could be in your code, such as an incremented
variable, or an external condition, such as testing a sensor.
var = 0;
while(var < 200){
// do something repetitive 200 times
var++;
}
31. VARIABLE- DATA TYPES
• void
• boolean
• char
• unsigned char
• byte
• int
• unsigned int
• word
• long
• unsigned long
• short
• float
• double
• string - char array
• String - object
• array
32. FUNCTIONS- DIGITAL I/O
•pinMode()
Configures the specified pin to behave either as an input or an
output.
Syntax: pinMode(pin, mode)
int ledPin = 13; // LED connected to digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT);
// sets the digital pin as output
}
33. FUNCTIONS- DIGITAL I/O
•digitalWrite()
• Write a HIGH or a LOW value to a digital pin.
Syntax: digitalWrite(pin, value)
void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}
34. FUNCTIONS- DIGITAL I/O
•pinMode()
and
•digitalWrite()
int ledPin = 13; // LED connected to digital pin 13
void setup()
{
pinMode(ledPin, OUTPUT);
// sets the digital pin as output
}
void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on
delay(1000); // waits for a second
digitalWrite(ledPin, LOW); // sets the LED off
delay(1000); // waits for a second
}
35. FUNCTIONS- DIGITAL I/O
•digitalRead()
1. Reads the value from a
specified digital pin,
either HIGH or LOW.
2. pin: the number of the
digital pin you want to
read (int)
int ledPin = 13; // LED connected to digital pin 13
int inPin = 7; // pushbutton connected to digital pin 7
int val = 0; // variable to store the read value
void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin 13
as output
pinMode(inPin, INPUT); // sets the digital pin 7 as
input
}
void loop()
{
val = digitalRead(inPin); // read the input pin
digitalWrite(ledPin, val); // sets the LED to the button's
value
}