At the end of the topic you should be able to:
1. Explain the importance of platform based development
2. Use looping, delay and conditioning concepts in developing a program on Arduino environment.
2. What is Arduino?
• Arduino is an open- source computer
hardware and software company, project
and user community that designs and
manufactures microcontroller-based kits for
building systems consisting of digital
devices, interactive objects that can sense
and control in the physical world.
9/28/2020 2
3. How to program Arduino?
• The Arduino Integrated Development
Environment (IDE) supports
the C and C++ programming languages using
special rules of code organization.
• The Arduino IDE supplies a software library
called "Wiring" from the Wiring project, which
provides many common input and output
procedures.
9/28/2020 3
9. Technical specifications:
• Microcontroller: Microchip ATmega328P
• Operating Voltage: 5 Volt
• Input Voltage: 7 to 20 Volts
• Digital I/O Pins: 14 (of which 6 provide PWM output)
• Analog Input Pins: 6
• DC Current per I/O Pin: 20 mA
• DC Current for 3.3V Pin: 50 mA
• Flash Memory: 32 KB of which 0.5 KB used by bootloader
• SRAM: 2 KB
• EEPROM: 1 KB
• Clock Speed: 16 MHz
• Length: 68.6 mm
• Width: 53.4 mm
• Weight: 25 g
9/28/2020 9
10. Program Structure
Setup( )
{
// A function that runs once at the start of a program and is used to
set //pinMode or initialize serial communication
}
loop( )
{
// This function includes the code to be executed continuously – reading
inputs, //triggering outputs, etc.
// This function is the core of all Arduino programs and does the bulk of
the //work.
}
9/28/2020 10
11. Activity 1.1
Type : Team of 2 Duration : 15 Minutes
Use LED blink program from example
and upload it on the ARDUINO board
9/28/2020 11
12. Functions to handle digital I/O
• pinMode (pin, OUTPUT);
// make the digital pin either INPUT or OUTPUT
• digitalRead (pin);
//used to get the content on the pin which is HIGH(1)
or LOW(0)
• digitalWrite(pin, value)
//used to send HIGH(1) or LOW(0) value to a pin
9/28/2020 12
14. /*….. Program to blink the LED on pin 13 …..*/
void setup( )
{
pinMode(13, OUTPUT); //Initialize the digital pin as output
}
void loop( )
{
digitalWrite(13, HIGH); // Turn the LED ON
delay(1000); // Wait for one second
digitalWrite(13, LOW); // Turn the LED OFF
delay(1000); // Wait for one second
}
9/28/2020 14
15. Activity 1.2
Type : Team of 2 Duration : 10 Minutes
Modify the program to blink LED every 2 sec
on pin 12.
9/28/2020 15
16. Circuit for the LED
Cathode of
LED
Anode of LED
9/28/2020 16
17. /*….. Program to blink the LED every 2 second on pin12*/
void setup( )
{
pinMode(12, OUTPUT); //Initialize the digital pin as output
}
void loop( )
{
digitalWrite(12, HIGH); // Turn the LED ON
delay(2000); // Wait for a two second
digitalWrite(12, LOW); // Turn the LED OFF
delay(2000); // Wait for a two second
}
9/28/2020 17
18. Activity 1.3
Type : Team of 2 Duration : 15 Minutes
Modify the program to display the LED state
every 2 sec on Serial Monitor.
9/28/2020 18
20. The word serial means "one after the other."
• What is Baud rate ?
Number of symbols transferred per sec
9/28/2020 20
21. Serial Display Functions
• Serial.begin(baud_rate)
//baud rate(characters per sec) between computer
and board is typically 9600 although you can
work with other speeds by changing settings of
COM Port
• Serial.print(value),
//value could be any data and even string
• Serial.println(value)
//print in new line
9/28/2020 21
22. Eg. Print INDIA on serial monitor
void setup( )
{
Serial.begin(9600);// 9600 is default baud rate of
serial com port of a computer
}
void loop( )
{
Serial.println(“INDIA”); // Send the value “INDIA”
}
9/28/2020 22
24. /*….. Modify the program to blink on pin12 and display the LED state every 2 sec
on Serial Monitor…..*/
void setup( )
{
pinMode(12, OUTPUT); //Initialize the digital pin as output
Serial.begin(9600);
}
void loop( )
{
digitalWrite(12, HIGH); // Turn the LED ON
Serial.println(“ON”); // Send the value “ON”
delay(2000); // Wait for a second
digitalWrite(12, LOW); // Turn the LED OFF
Serial.println(“OFF”); // Send the value “OFF”
delay(2000); // Wait for a second
}
9/28/2020 24
25. Activity 1.4
Type : Team of 2 Duration : 25 Minutes
Modify the program to blink 10 times per
loop iteration and display no. of loop
iterations on serial monitor.
9/28/2020 25
26. Looping Concept
//for loop concept
Syntax –
for(initialization ; condition; increment / decrement)
{
//code which you want to perform
}
Example : to print number from 1 to 10
for(int i=1;i<=10;i++)
{
Serial.println(i);
Serial.println(“INDIA”);
}
9/28/2020 26
27. long int Count=0;
void setup( )
{
pinMode(12, OUTPUT); //Initialize the digital pin as output
Serial.begin(9600);
Serial.println(“count of iterations running are: “);
}
void loop( )
{
for (int i=1;i<=10;i++)
{
Serial.println(i);
digitalWrite(12, HIGH);
Serial.println(“ON”);
delay(1000); // wait for a second
digitalWrite(12, LOW);
– Serial.println(“OFF”);
delay(1000); // wait for a second
}
Count++;
– Serial.print(“Iteration:”);
Serial.println(Count);
}9/28/2020 27
29. Topic Learning Outcomes
At the end of the topic the student should be able to
1. Explain the importance of platform based development
2. Use looping, delay and conditioning concepts in developing a
program on Arduino environment.
9/28/2020 29