KEMBAR78
Arduino programming part1 | PDF
ARDUINO PROGRAMMING
SESSION 1
Presented By
Amarjeetsingh Thakur
9/28/2020 1
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
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
Arduino Products
9/28/2020 4
Entry Level
9/28/2020 5
Enhanced Features
9/28/2020 6
Official Website:
https://www.arduino.cc/
9/28/2020 7
ARDUINO UNO
9/28/2020 8
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
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
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
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
Time Function
• delay(ms)
// waits for milli – seconds
9/28/2020 13
/*….. 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
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
Circuit for the LED
Cathode of
LED
Anode of LED
9/28/2020 16
/*….. 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
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
Serial communication with Arduino
What is serial communication ?
9/28/2020 19
The word serial means "one after the other."
• What is Baud rate ?
Number of symbols transferred per sec
9/28/2020 20
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
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
Serial Monitor
9/28/2020 23
/*….. 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
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
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
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
Condition Statements
if(Condition 1)
{
//Statements
}
if(Condition 2)
{
//Statements
}
else
{
//Statements
}
9/28/2020 28
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

Arduino programming part1

  • 1.
    ARDUINO PROGRAMMING SESSION 1 PresentedBy Amarjeetsingh Thakur 9/28/2020 1
  • 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 programArduino? • 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
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 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 handledigital 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
  • 13.
    Time Function • delay(ms) //waits for milli – seconds 9/28/2020 13
  • 14.
    /*….. Program toblink 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 theLED Cathode of LED Anode of LED 9/28/2020 16
  • 17.
    /*….. Program toblink 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
  • 19.
    Serial communication withArduino What is serial communication ? 9/28/2020 19
  • 20.
    The word serialmeans "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 INDIAon 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
  • 23.
  • 24.
    /*….. Modify theprogram 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 loopconcept 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; voidsetup( ) { 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
  • 28.
    Condition Statements if(Condition 1) { //Statements } if(Condition2) { //Statements } else { //Statements } 9/28/2020 28
  • 29.
    Topic Learning Outcomes Atthe 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