0% found this document useful (0 votes)
67 views

Week#2 - C Data Types and Arduino Platform

The document discusses Arduino platforms and C data types. It begins with an overview of Arduino, including that it is an open-source electronics platform using easy hardware and software. It describes common Arduino board types and provides details on the Arduino UNO board. It then explains the structure of Arduino programs, which consist of setup() and loop() functions. Setup() initializes variables and runs once, while loop() continuously controls the board. The document also outlines different C data types used in Arduino programming like void, boolean, char, int, long, float, and others. It provides an example of using digital input/output by setting a pin as output and turning an LED on

Uploaded by

Made Kurniawan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views

Week#2 - C Data Types and Arduino Platform

The document discusses Arduino platforms and C data types. It begins with an overview of Arduino, including that it is an open-source electronics platform using easy hardware and software. It describes common Arduino board types and provides details on the Arduino UNO board. It then explains the structure of Arduino programs, which consist of setup() and loop() functions. Setup() initializes variables and runs once, while loop() continuously controls the board. The document also outlines different C data types used in Arduino programming like void, boolean, char, int, long, float, and others. It provides an example of using digital input/output by setting a pin as output and turning an LED on

Uploaded by

Made Kurniawan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

RE102 Procedural Programming

Week#2
C Data Type & ArduinoPlatform
HENDAWAN SOEBHAKTI, ST., MT.
Robotics Engineering
Politeknik Negeri Batam
2021
Arduino Platform
01 What is Arduino?
Arduino Board Types
Board Description
Arduino Program Structure

C Data Types
02 Data Type in C

Variables and Constants


03 What is Variable Scope?
Arduino Platform
What is Arduino?

“Arduino is an open-source electronics platform based on easy-to-use hardware and software”

Arduino Board What’s Arduino?

Arduino IDE
Integrated
Development
Environment

https://www.arduino.cc/
Arduino Board Types
Entry Level Enhanced Features Internet of Things
Board Description (Arduino UNO)

1. Power USB
Arduino board can be powered by using the USB cable from your
computer. All you need to do is connect the USB cable to the USB
connection (1).
2. Power (Barrel Jack)
Arduino boards can be powered directly from the AC mains power
supply by connecting it to the Barrel Jack (2).
3. Voltage Regulator
The function of the voltage regulator is to control the voltage given to
the Arduino board and stabilize the DC voltages used by the processor
and other elements.
4. Crystal Oscillator
The crystal oscillator helps Arduino in dealing with time issues. How
does Arduino calculate time? The answer is, by using the crystal
oscillator. The number printed on top of the Arduino crystal is
16.000H9H. It tells us that the frequency is 16,000,000 Hertz or 16
MHz.
5,17 Arduino Reset
You can reset your Arduino board, i.e., start your program from the
beginning. You can reset the UNO board in two ways. First, by using
the reset button (17) on the board. Second, you can connect an
external reset button to the Arduino pin labelled RESET (5).
Board Description (Arduino UNO)

6, 7, 8, 9 Pins (3.3, 5, GND, Vin)


 3.3V (6) − Supply 3.3 output volt
 5V (7) − Supply 5 output volt
 Most of the components used with Arduino board works fine with 3.3
volt and 5 volt.
 GND (8)(Ground) − There are several GND pins on the Arduino, any
of which can be used to ground your circuit.
 Vin (9) − This pin also can be used to power the Arduino board from
an external power source, like AC mains power supply.
10 Analog pins
The Arduino UNO board has six analog input pins A0 through A5.
These pins can read the signal from an analog sensor like the humidity
sensor or temperature sensor and convert it into a digital value that can
be read by the microprocessor.
11 Main microcontroller
Each Arduino board has its own microcontroller (11). You can assume it
as the brain of your board. The main IC (integrated circuit) on the
Arduino is slightly different from board to board. The microcontrollers
are usually of the ATMEL Company. You must know what IC your board
has before loading up a new program from the Arduino IDE. This
information is available on the top of the IC. For more details about the
IC construction and functions, you can refer to the data sheet.
Board Description (Arduino UNO)

12 ICSP pin
Mostly, ICSP (12) is an AVR, a tiny programming header for the Arduino
consisting of MOSI, MISO, SCK, RESET, VCC, and GND. It is often
referred to as an SPI (Serial Peripheral Interface), which could be
considered as an "expansion" of the output. Actually, you are slaving
the output device to the master of the SPI bus.
13 Power LED indicator
This LED should light up when you plug your Arduino into a power
source to indicate that your board is powered up correctly. If this light
does not turn on, then there is something wrong with the connection.
14 TX and RX LEDs
On your board, you will find two labels: TX (transmit) and RX (receive).
They appear in two places on the Arduino UNO board. First, at the
digital pins 0 and 1, to indicate the pins responsible for serial
communication. Second, the TX and RX led (13). The TX led flashes
with different speed while sending the serial data. The speed of flashing
depends on the baud rate used by the board. RX flashes during the
receiving process.
15 Digital I/O
The Arduino UNO board has 14 digital I/O pins (15) (of which 6 provide
PWM (Pulse Width Modulation) output. These pins can be configured to
work as input digital pins to read logic values (0 or 1) or as digital output
pins to drive different modules like LEDs, relays, etc. The pins labeled
“~” can be used to generate PWM.
Board Description (Arduino UNO)

16 AREF
AREF stands for Analog Reference. It is sometimes, used to set an
external reference voltage (between 0 and 5 Volts) as the upper limit for
the analog input pins.
Arduino Program Structure
Arduino programs can be divided in three main parts: Structure, Values (variables and
constants), and Functions.

Structure. Software structure consist of two main functions:


Setup( ) function
Loop( ) function

Void setup ( ) {
}

PURPOSE − The setup() function is called when a sketch starts. Use it to initialize the variables, pin
modes, start using libraries, etc. The setup function will only run once, after each power up or reset of
the Arduino board.
INPUT − -
OUTPUT − -
RETURN − -

Void loop( ) {
}

PURPOSE − 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.
INPUT − -
OUTPUT − -
RETURN − -
Digital Input Output
Arduino pins are configurable. The command to tell a pin what it is going to be is ‘pinMode’.
We will write our pinMode commands in the in the ‘setup’ section, since that section only runs once after uploading to the Arduino.

Arduino pin mode configuration


Mode Syntax Notes
INPUT pinMode(pin,INPUT) Pin as high impedance input
INPUT_PULLUP pinMode(pin,INPUT_PULLUP) Pin as pullup input
OUTPUT pinMode(pin,OUTPUT) Pin as output
Digital Input Output

Start

Setup:
Pin13 as Output void setup() {
pinMode(13, OUTPUT); // sets the digital pin 13 as output
}
LED Turn On void loop() {
digitalWrite(13, HIGH); // sets the digital pin 13 on
Delay 1000mS delay(1000); // waits for a second
digitalWrite(13, LOW); // sets the digital pin 13 off
LED Turn Off
delay(1000); // waits for a second
Delay 1000mS }
C Data Types
Data types in C
Data types in C refers to an extensive system used for declaring variables or functions of different types. The type of a variable determines
how much space it occupies in the storage and how the bit pattern stored is interpreted.

The following table provides all the data types that you will use during Arduino programming.

void Boolean char Unsigned byte int Unsigned word


char int

long Unsigned short float double array String-char String-


long array object

void
The void keyword is used only in function declarations. It indicates that the function is expected to return no information to the function from
which it was called.

Example:
Void loop( ) {
//rest of the code
}
Data types in C
Boolean
A Boolean holds one of two values, true or false. Each Boolean variable occupies one byte of memory.

Example:

boolean val = false ; // declaration of variable with type boolean and initialize it with false
boolean state = true ; // declaration of variable with type boolean and initialize it with true

Char
A data type that takes up one byte of memory that stores a character value. Character literals are written in single quotes like this: 'A' and for
multiple characters, strings use double quotes: "ABC“. However, characters are stored as numbers. You can see the specific encoding in the
ASCII chart. This means that it is possible to do arithmetic operations on characters, in which the ASCII value of the character is used. For
example, 'A' + 1 has the value 66, since the ASCII value of the capital letter A is 65.

Example

Char chr_a = ‘a’ ; //declaration of variable with type char and initialize it with character a
Char chr_c = 97 ; //declaration of variable with type char and initialize it with character 97
ASCII Chart
Data types in C
unsigned char
Unsigned char is an unsigned data type that occupies one byte of memory. The unsigned char data type encodes numbers from 0 to 255.
Example:

Unsigned Char chr_y = 121 ; // declaration of variable with type Unsigned char and initialize it
// with character y

byte
A byte stores an 8-bit unsigned number, from 0 to 255.
Example:

byte m = 25 ;//declaration of variable with type byte and initialize it with 25

int
Integers are the primary data-type for number storage. int stores a 16-bit (2-byte) value. This yields a range of -32,768 to 32,767 (minimum
value of -2^15 and a maximum value of (2^15) - 1).
The int size varies from board to board. On the Arduino Due, for example, an int stores a 32-bit (4-byte) value. This yields a range of -
2,147,483,648 to 2,147,483,647 (minimum value of -2^31 and a maximum value of (2^31) - 1).
Example

int counter = 32 ;// declaration of variable with type int and initialize it with 32
Data types in C
Unsigned int
Unsigned ints (unsigned integers) are the same as int in the way that they store a 2 byte value. Instead of storing negative numbers, however,
they only store positive values, yielding a useful range of 0 to 65,535 (2^16) - 1). The Due stores a 4 byte (32-bit) value, ranging from 0 to
4,294,967,295 (2^32 - 1).
Example:

Unsigned int counter = 60 ; // declaration of variable with type unsigned int and initialize it
// with 60

Word
On the Uno and other ATMEGA based boards, a word stores a 16-bit unsigned number. On the Due and Zero, it stores a 32-bit unsigned
number.
Example:

word w = 1000 ;//declaration of variable with type word and initialize it with 1000

Long
Long variables are extended size variables for number storage, and store 32 bits (4 bytes), from -2,147,483,648 to 2,147,483,647.
Example:

Long velocity = 102346 ;//declaration of variable with type Long and initialize it with 102346
Data types in C
unsigned long
Unsigned long variables are extended size variables for number storage and store 32 bits (4 bytes). Unlike standard longs, unsigned longs will
not store negative numbers, making their range from 0 to 4,294,967,295 (2^32 - 1).
Example:

Unsigned Long velocity = 101006 ;// declaration of variable with type Unsigned Long and initialize
//it with 101006

short
A short is a 16-bit data-type. On all Arduinos (ATMega and ARM based), a short stores a 16-bit (2-byte) value. This yields a range of -32,768 to
32,767 (minimum value of -2^15 and a maximum value of (2^15) - 1).
Example:

short val = 13 ;//declaration of variable with type short and initialize it with 13

float
Data type for floating-point number is a number that has a decimal point. Floating-point numbers are often used to approximate the analog and
continuous values because they have greater resolution than integers.
Floating-point numbers can be as large as 3.4028235E+38 and as low as -3.4028235E+38. They are stored as 32 bits (4 bytes) of information.
Example:

float num = 1.352;//declaration of variable with type float and initialize it with 1.352
Data types in C
double
On the Uno and other ATMEGA based boards, Double precision floating-point number occupies four bytes. That is, the double implementation
is exactly the same as the float, with no gain in precision. On the Arduino Due, doubles have 8-byte (64 bit) precision.
Example:
double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352
Data types in C
double
On the Uno and other ATMEGA based boards, Double precision floating-point number occupies four bytes. That is, the double implementation
is exactly the same as the float, with no gain in precision. On the Arduino Due, doubles have 8-byte (64 bit) precision.
Example:
double num = 45.352 ;// declaration of variable with type double and initialize it with 45.352
Variables and Constants
What is Variable Scope?
Variables in C programming language, which Arduino uses, have a property called scope.
A scope is a region of the program and there are three places where variables can be declared. They are:
Inside a function or a block, which is called local variables.
In the definition of function parameters, which is called formal parameters.
Outside of all functions, which is called global variables.

Global Variable Accessible throughout code

Main( )

Function
Local Variable Accessible inside function
Local Variables
Local Variables
Variables that are declared inside a function or block are local variables. They can be used only by the statements that are inside that function
or block of code. Local variables are not known to function outside their own.

Example:

Void setup () {
}

Void loop () {
int x , y ;
int z ; //Local variable declaration
x = 0;
y = 0; //actual initialization z = 10;
}
Global Variables
Global Variables
Global variables are defined outside of all the functions, usually at the top of the program. The global variables will hold their value throughout
the life-time of your program.
A global variable can be accessed by any function. That is, a global variable is available for use throughout your entire program after its
declaration.

Example:

Int T , S ;
float c = 0 ; //Global variable declaration
Void setup () {

}
Void loop () {
int x , y ;
int z ; //Local variable declaration
x = 0;
y = 0; //actual initialization z = 10;
}
Formal Parameters
Formal Parameters
Formal parameters are referred to as the variables that are defined during a function declaration or definition. These variables are used
to receive the arguments that are passed during a function call.

Example:

Void setup () {

}
Void loop () {
int int result = 0 ;
result = sum(5,6); //function call
}
int sum (int p, int q) // Formal parameters
(
return p+q;
}
THANK YOU

You might also like