MP Lab - Arduino Expts
MP Lab - Arduino Expts
1(a)
Familiarization of Arduino IDE
Aim:
a) Familiarization of Arduino IDE
Arduino Uno
Arduino also simplifies the process of working with microcontrollers, but it offers some advantage for
teachers, students, and interested amateurs over other systems which are inexpensive , cross-platform ,
Simple, clear programming environment , Open source and extensible hardware etc.
MP & MC Lab
Pin Diagram of Arduino Uno
MP & MC Lab
The basic structure of the Arduino programming language is fairly simple and runs in at least two parts.
These two required parts, or functions, enclose blocks of statements. Where setup() is the preparation,
loop() is the execution. Both functions are required for the program to work.
The setup function should follow the declaration of any variables at the very beginning of the program. It
is the first function to run in the program, is run only once, and is used to set pinMode or initialize serial
communication.
The loop function follows next and 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. Curly braces
( {} )define the beginning and the end of function blocks and statement blocks such as the void loop()
function and the for and if statements.
Step 1 − Download Arduino IDE Software: You can get different versions of Arduino IDE
from the Download page on the Arduino Official website. You must select your software, which
is compatible with your operating system (Windows, IOS, or Linux). After your file download is
complete, unzip the file.
Step 2 − Power up your board: The Arduino Uno automatically draw power from either, the USB
connection to the computer or an external power supply. Connect the Arduino board to your computer
using the USB cable. The green power LED (labeled PWR) should glow.
Step 4 − Launch Arduino IDE
MP & MC Lab
Step 5 − Open your first project: Once the software starts, you have two options −
MP & MC Lab
Step 6 − Select your Arduino board: To avoid any error while uploading your program to the board, you
must select the correct Arduino board name, which matches with the board connected to your computer.
Go to Tools → Board and select your board
Step 7 − Select your serial port: Select the serial device of the Arduino board. Go to Tools → Serial
Port menu. This is likely to be COM3 or higher (COM1 and COM2 are usually reserved for hardware
serial ports). To find out, you can disconnect your Arduino board and re-open the menu, the entry that
disappears should be of the Arduino board. Reconnect the board and select that serial port.
Step 8 − Upload the program to your board: Before explaining how we can upload our program to the
board, we must demonstrate the function of each symbol appearing in the Arduino IDE toolbar. Now,
simply click the "Upload" button in the environment. Wait a few seconds; you will see the RX and TX
LEDs on the board, flashing. If the upload is successful, the message "Done uploading" will appear in the
status bar.
A − Check if there is any compilation error. B − Upload a program to the Arduino board.
C − Shortcut to create a new sketch. D − Open one of the example sketch.
E − Used to save your sketch. F − Serial monitor for serial data transfer
MP & MC Lab
Experiment No. 1 (b)
LED control using Arduino
Aim:
a) Blinking inbuilt LED with different on off time delays
b) Blinking externally interfaced LED with different on off time delays
Hardware required:
No. Item Specification Quantity
1 Arduino board Arduino Uno 1
2 LED 1
3 Resistor 220 Ohm 1
4 Bread board and connection wires
Connection Diagram:
MP & MC Lab
Sample Program for external LED blink on Pin-1:
Output:
Result:
MP & MC Lab
Experiment No. 2
DC Motor Speed Control using Arduino
Aim: To control the speed of a DC motor using MOSFET driven by PWM signal from Arduino module
Hardware required:
No. Item Specification Quantity
1 Arduino board Arduino Uno 1
2 MOSFET or MOSFET based motor IRF 510 1
driver board
3 DC Motor 9V 1
4 Bread board and connection wires
Connection Diagram:
Study: To control a load with more than 40ma current requirement using the Arduino, a MOSFET or
transistor could be used to switch higher current loads. Also motor speed control requires voltage variation,
which could be achieved by using the PWM variable voltage signal available from the PWM enabled digital
pins of the Arduino.
MP & MC Lab
Sample Program for DC motor speed control:
void setup()
{
pinMode(5, OUTPUT); // sets PWM Pin 5 as output
}
void loop()
{
for (int i=0; i<255; i++) // Motor speed increasing
{
analogWrite(5, i); // turns MOSFET on
delay(250); // pauses 1/4 second
}
delay(1000); // pauses 1 second
Output:
Result:
MP & MC Lab
Experiment No. 3
Voltage Measurement using Arduino
Aim: Arduino based voltage measurement of 12V solar PV module or 12V battery and displaying the
measured value using I2C LCD display.
Hardware required:
Connection Diagram:
MP & MC Lab
Study:
Arduino can measure only a maximum of 5V on the analog pins, and hence a potential divider arrangement
using resistors is used to reduce the voltage to be measured, and later a multiplication factor is used in the
program to scale the obtained value to actual voltage value.
LCD 16X2: An electronic device that is used to display data and the message is known as LCD 1602. It
includes 16 Columns and 2 Rows so it can display 32 characters (16×2=32) in total. Every character will
be made with 5×8 (40) Pixel Dots and the total pixels within this LCD can be calculated as 32 x 40 or 1280
pixels. The data register inside the display is used to save the date to exhibit on the LCD.
I2C Protocol: The Inter-Integrated Circuit (I2C) Protocol is a protocol intended to allow multiple
peripheral digital integrated circuits to communicate with one or more controller chips. I2C requires only
two wires to communicate in serial mode, but those two wires can support up to 1008 peripheral devices,
each having an address. Each I2C bus consists of two signals: SDA (Serial Data) - the data signal and SCL
(Serial Clock)- the clock signal. The clock signal is always generated by the Master or the current bus
controller.
MP & MC Lab
Sample Program:
void setup()
{
lcd.init(); // Initialize the lcd
lcd.backlight(); // Turn on backlight of lcd
lcd.setCursor(2,0); //Setting display curser position (Col 2, Row 0)
lcd.print("VOLTMETER"); // Show on LCD display from cursor position
}
void loop()
{
lcd.setCursor(0,1); // Set Cursor to (Column 0, Row 1)
lcd.print("VOLT ="); // Display the characters
float mf = 3; // Multiplication factor corresponding to resistors
int x = analogRead(A0); // Read input Voltage from A0
float value = (x*mf*5)/1024; // Convert input to actual voltage value
lcd.setCursor(6,1); //Set Cursor to (Column 6, Row 1)
lcd.print(value); // Display the voltage
delay(500); // Delay 0.5s
}
Output:
Result:
MP & MC Lab