This paper is about the Arduino board\'s functioning theory and its applications in real-time applications and IoT technologies. The Arduino board is a development board that can be used to include most IoT sensors to achieve a real-time purpose. The key benefits of the Arduino board are its quick processing speed, user-friendly interface, and simple debugging mechanism. It is mostly used by students for project development, and it is a low-cost, highly dependable, and most economical technology. This paper provides an overview of the several types of Arduino boards available, as well as Arduino code and applications.
Arduino is an open-source electronics platform that uses simple hardware and software to make it easy to use. Arduino boards can read inputs such as light from a sensor or motor activation. The Arduino project started in 2005 as a tool for students at the Interaction Design Institute in Ivrea, Italy, with the goal of providing a low-cost and uncomplicated way for novices and experts to design devices that interact with their surroundings using sensors and actuators.
The Diecimila, the first widely marketed Arduino board, was produced in 2007, and the Arduino family has expanded since then to take use of several types of Atmel AVR MCU chips.
Arduino LLC was formed in early 2008 by the five co-founders of the Arduino project to hold the trademarks related with Arduino. External firms were to manufacture and sell the boards, and Arduino LLC would get a royalty from them. The Arduino LLC statutes stipulated that each of the five founders’ hand over ownership of the Arduino brand to the newly established corporation.
The Arduino Programming Language, or Arduino Language, is a native language supported by Arduino. The Arduino Programming Language is essentially a framework built on top of the C++ programming language. The Arduino IDE (Integrated Development Environment) is based on processing, and this programming is often based on wiring.
Arduino boards, unlike other microcontroller boards in India, were just released a few years ago and were first restricted to small-scale applications. Since then, Arduino has powered hundreds of projects ranging from simple household items to major scientific apparatus. Students, amateurs, artists, programmers, and professionals from all around the world are all part of this global community of creators.
II. NEED FOR ARDUINO
Beginners will find the Arduino software simple to use, while expert users will find it adaptable. It is compatible with Mac, Windows, and Linux. It is used by teachers and students to create low-cost scientific equipment, to demonstrate chemistry and physics principles, and to begin learning programming and robotics.
There are many alternative microcontrollers and microcontroller platforms available for physical computing, but Arduino not only makes working with microcontrollers easier, but it also has several advantages over other systems for instructors, students, and curious hobbyists.
Operating Voltage: 5V
Input Voltage (recommended): 7-12V
Input Voltage (limits): 6-20V
Digital I/O Pins: 14 (of which 6 provide PWM output)
Analog Input Pins: 6
DC Current per I/O Pin: 40 mA
DC Current for 3.3V Pin: 50 mA
Flash Memory: 32 KB of which 0.5 KB used by bootloader
SRAM: 2 KB (ATmega328)
EEPROM: 1 KB (ATmega328)
Clock Speed: 16 MHz
I. TYPES OF ARDUINOS
Arduino boards are available with many diverse types.
V. ELEMENTS OF ARDUINO BOARD
The elements in Arduino are divided in two categories:
Microcontroller: Each Arduino board comes with its own microcontroller. It is possible to think of it as the board's brain. The primary IC (Integrated Circuit) differs slightly from board to board. Arduino mostly use ATMEL microcontrollers.
USB Port: The USB port is used to power the Arduino board. It is also used to upload programmes from a computer to the microcontroller.
Power Barrel Jack: The Arduino board is powered by a battery through this power jack.
Digital Pins: The Arduino UNO board features 14 digital I/O pins, with 6 of them providing PWM output (Pulse Width Modulation). These pins can also be set up to function as digital input or output pins. PWM may be generated by using the pins designated with "~".
Analog Pins: A0 through A5 are the six analog pins of the Arduino UNO. These pins can be used to read an analog sensor's signal.
Power Pins: The Arduino UNO has a Vin , 5V, 3.3V and three GND pins supplying power to various sensors.
Crystal Oscillator: The crystal oscillator aids Arduino in resolving timing problems. The Arduino UNO operates at a 16MHz frequency.
Arduino Reset: The Arduino board's programme may be reset with the aid of this reset button. There are two methods for resetting the UNO board. The first method is to use the reset button on the board. Second, the pin labelled RESET may be used to connect an external reset button (5).
Voltage Regulator: The voltage regulator on the Arduino board's role is to control the voltage supplied to the board via the power supply.
Tx and Rx Pins: The serial communication pins on the Arduino board are Tx(1) and Rx(0).
The software component of Arduino is crucial to its operation. The Arduino board must be programmed using the Arduino IDE open-source software. Sketch is the name of the programme created with the Arduino IDE. The Arduino program's core programming structure is detailed here.
setup(): When the sketch starts, the setup() method is invoked. After each power up or reset of the Arduino board, this function will run just once. It is used to configure variables, pin modes, and other features.
2. loop() :This loop() function performs exactly what its name implies. This function will continue to execute indefinitely until the Arduino board receives power. This function will be used to declare the statements that must be run repeatedly.
Some of the basic Arduino functions are discussed below:
pinmode() : The pinmode() function is used to specify whether an Arduino pin should be utilized as a digital or analog pin.
digitalWrite() : To write HIGH or LOW values to a digital pin, use the digitalWrite() function.
digitalRead() : To read digital data from a digital pin, use the digitalread() function is used.
analogWrite() : To write analog data to an analog pin, use the analogWrite() function.
analogRead() : The anagolRead() function is used to read the analog data from an analog sensor through the analog pin.
delay() : This delay() function is used to add time delays between any two continuous processes in the drawing.
Here is a sample program for understanding purpose:
Arduino may be used to create a variety of projects, including real-time applications. The following are some Arduino-based projects:
A. Hand Gesture Controlled Car
In this project, a hand gesture-based control interface for piloting a robot automobile is introduced. The user's hand motions are recorded using a 3-axis accelerometer.
This project is made up of two Arduino UNO boards, one of which serves as a transmitter and the other as a receiver as well as a vehicle controller.
The MPU6050 sensor is installed in this portion of the transmitter. With the aid of an Arduino UNO on the transmitter side, this sensor will read the values of hand movement.
These values will now be sent to the receiver through an RF module that operates on radio frequencies.
The car side simply consists of a L298N motor driver, Arduino UNO and a RF receiving module, which will receive the values from the transmitter and forward those values to the controller.
Now, the controller will regulate the movement of the wheels via the motor driver depending on the received data.
This is how the entire system functions.
B. Social-Distance Alerting System
An alarm system has been devised in this project to encourage individuals to maintain social distance in crowded public areas.
The Arduino UNO is used as the system's controller, and a few LEDs and an Ultrasonic sensor are used to estimate the distance between the persons.
When the distance between individuals is less than 5 feet, the Ultrasonic sensor will compute the distance between people and the entire system will begin to operate with bright leds and a buzzing buzzer. So that the user understands the need of maintaining social distance.
This is how the entire system will function.
In this paper, we studied at the working premise of Arduino, its hardware/software aspects, and its applications to see where it is being employed and where it can be used in the future. We have also learned how to use Arduino\'s IDE to build sketches (software). The possibilities for developing innovative ideas with Arduino are unlimited; with the aid of this paper, we have learned how to create and execute novel things by building our own gadgets. The possibilities of utilizing an Arduino to study and create new ideas are endless, ranging from wearable fashion to space research. Though it has its own set of restrictions, it is a useful tool for learning.