Workshop Lab: Arduino

Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

Ministry of Higher Education and Scientific Research

Al-Ayen University
Technical college of engineering
Medical device technology engineering

Workshop Lab.

Arduino

Names: Ali Qassim Hashim


Department: Medical device technology engineering
Stage: 1st
Supervision by: Dr. Maitham Hassan

2022-2021

1|Page
What Is Arduino
Is an open-source microcontroller which can be easily programmed, erased and
reprogrammed at any instant of time. Introduced in 2005 the Arduino platform was designed
to provide an inexpensive and easy way for hobbyists, students and professionals to create
devices that interact with their environment using sensors and actuators.

Based on simple microcontroller boards, it is an open-source computing platform that is used


for constructing and programming electronic devices. It is also capable of acting as a mini
computer just like other microcontrollers by taking inputs and controlling the outputs for a
variety of electronics devices.

It is also capable of receiving and sending information over the internet with the help of various
Arduino shields.

Arduino uses a hardware known as the Arduino development board and software for
developing the code known as the Arduino IDE (Integrated Development Environment). Built
up with the 8-bit Atmel AVR microcontroller's that are manufactured by Atmel or a 32-bit
Atmel ARM, these microcontrollers can be programmed easily using the C or C++ language
in the Arduino IDE.

Figure. 1 Arduino

2|Page
Need for Arduino
1) Active User Community: A group of people using a similar product can hold posted
message conversations and share their experiences or solve the problems of the other users in
the communities with their own experiences.
2) Growth of Arduino: Arduino was developed with intent to provide an economical and
trouble-free way for hobbyists, students and professionals to build devices that interact with
their situation using sensors and actuators. This makes it perfect for newcomers to get started
quickly.
3) Inexpensive Hardware: Since Arduino is an open-source platform the software is not
purchased and only the cost of buying the board or its parts is incurred, thus making it very
cheap. The hardware designs are also available online for free from its official website.
4) Arduino Board as a Programmer: To make Arduino board function easy and also
making it available everywhere these boards come with a USB cable for power requirements
as well as functioning as a programmer.
5) Multi-platform Environment: The Arduino IDE is capable of running on a number of
platforms including Microsoft, Linux and Mac OS X making the user community even larger.

Type of Arduino Boards


Arduino boards are available with many different types of built-in modules in it. Boards such
as Arduino BT come with a built-in Bluetooth module, for wireless communication. These
built-in modules can also be available separately which can then be interfaced (mounted) to it.
These modules are known as Shield.

Some of the most commonly used Shields are:

1) Arduino Ethernet shield: It that allows an Arduino board to connect to the internet
using the Ethernet library and to read and write an SD card using the SD library.

Figure. 2 Arduino Ethernet shield

3|Page
2) Arduino Wireless shield: It allows your Arduino board to communicate wirelessly
using Zigbee.

Figure. 3 Arduino Wireless shield

3) Arduino Motor Driver Shield: It allows your Arduino boards to interface with driver
of a motor etc.

Figure. 4 Arduino Motor Driver Shield

4|Page
Here is a list of the different types of Arduino Boards available along with its microcontroller
type, crystal frequency and availabilities of auto reset facility:
Table .1 Arduino Boards

Arduino Type Microcontroller Clock Speed


Arduino Uno ATmega328 16 MHz with auto-reset
Arduino Duemilanove /
ATmega328 16 MHz with auto-reset
ATmega328
Arduino Nano ATmega328 16 MHz with auto-reset
Arduino Mega 2560 or Mega ADK ATmega2560 16 MHz with auto-reset
Arduino Leonardo ATmega32u4 16 MHz with auto-reset
Arduino Mini w/ ATmega328 ATmega328 16 MHz with auto-reset
Equivalent to Arduino UNO with an Ethernet
Arduino Ethernet
shield
Arduino Fio. ATmega328 8 MHz with auto-reset
Arduino BT w/ ATmega328 ATmega328 16 MHz with auto-reset
8 MHz (3.3V) with auto-
LilyPad Arduino w/ ATmega328 ATmega328
reset
Arduino Pro or Pro Mini ATmega328 16 MHz with auto-reset
Arduino NG ATmega8 16 MHz with auto-reset

Elements of Arduino Boards


Elements of an Arduino Board can be done into two categories:

• Hardware
• Software

Hardware
The Arduino Development Board consists of many components that together makes it work.
Here are some of those main component blocks that help in its functioning:

• Microcontroller: This is the heart of the development board, which works as a mini
computer and can receive as well as send information or command to the peripheral devices
connected to it. The microcontroller used differs from board to board; it also has its own
various specifications.
• External Power Supply: This power supply is used to power the Arduino development
board with a regulated voltage ranging from 9 – 12 volts.
• USB plug: This plug is a very important port in this board. It is used to upload (burn) a
program to the microcontroller using a USB cable. It also has a regulated power of 5V
which also powers the Arduino board in cases when the External Power Supply is absent.
• Internal Programmer: The developed software code can be uploaded to the
microcontroller via USB port, without an external programmer.
• Reset button: This button is present on the board and can be used to resets the Arduino
microcontroller.

5|Page
• Analog Pins: There are some analog input pins ranging from A0 – A7 (typical). These pins
are used for the analog input / output. The no. of analog pins also varies from board to
board.
• Digital I/O Pins: There are some digital input pins also ranging from 2 to 16 (typical).
These pins are used for the digital input / output. The no. of these digital pins also varies
from board to board.
• Power and GND Pins: There are pins on the development board that provide 3.3, 5 volts
and ground through them

Figure. 5 ELEMENTS OF ARDUINO BOARDS

Software

The program code written for Arduino is known as a sketch. The software used for developing
such sketches for an Arduino is commonly known as the Arduino IDE. This IDE contains the
following parts in it:

• Text editor: Is where the simplified code can be written using a simplified version of C++
programming language.
• Message area: It displays error and also gives feedback on saving and exporting the code.
• Text: The console displays text output by the Arduino environment including complete
error messages and other information
• Console Toolbar: This toolbar contains various buttons like Verify, Upload, New, Open,
Save and Serial Monitor. On the bottom right-hand corner of the window there displays the
Development Board and the Serial Port in use.

6|Page
Features of Arduino IDE

• The project file or the sketches for a project are saved with the file extension .ino
• Features such as cut / copy / paste are supported in this IDE.
• There also is a facility for finding a particular word and replacing it with another by pressing
the Ctrl + F buttons on the keyboard
• The most basic part or the skeleton of all Arduino code will have two functions

Figure. 6 Arduino IDE

Programming Basics
Now we’ll discuss about the programming techniques of Arduino sketch in the Arduino IDE.
There are two main parts every sketch will always have, they are:

• void setup ()
• void loop ()

1- void setup():

This is the first routine that begins when the Arduino starts functioning. This function is execute
donly once throughout the entire program functioning.
The setup function contains the initialization of every pin we intend use in our project for input
or output. Here is an example of how it should be written:

7|Page
void setup()
{
pinMode(pin, INPUT);
}

void setup()
{
Serial.begin(9600);
}

It also contains the initialization of the Serial Monitor. A serial monitor is used to know the
data that are being sent serially to any peripheral device.
Before using any variables for programming it is necessary to define them above the function
“void setup()”

2- void loop():
This function is the next important function in the Sketch. It consists of that part of the code
that needs to be continuously executed unlike the part of the code written in the setup function.

An example of a void loop is as follows:


void loop()
{
digitalWrite(pin, HIGH);
}
its voltage will be set to the corresponding value: 5V (or 3.3V on 3.3V boards) for HIGH, 0V
(ground) for LOW.

Similarly, if there is a need for delay in the sketch then there is another function that creates a
delay in the execution of the code
delay(1000) // Delay of one second
This creates a delay in the execution of the program for the time period specified (in
milliseconds).
Using the above two function lets create a sketch for blinking a led.

References
[1] ARDUINO.CC, “Arduino – Introduction”, 2015 [Online] Available:
http://arduino.cc/en/Guide/Introduction. [Accessed: 25- Feb - 2015].

[2] Arduino.cc, 'Arduino - Products', 2015. [Online]. Available:


http://arduino.cc/en/Main/Products. [Accessed: 25- Feb- 2015].

[3] ArduPilot Mega, 'ArduPilot Mega', 2015. [Online]. Available:


http://www.ardupilot.co.uk/. [Accessed: 23- Nov- 2015].

8|Page

You might also like