Before understanding the Arduino Uno first we have to ask ourselves why and when we are required to use it. So first of all we want to make any product that is based on the IoT, Industry 4.0 and RTOS, etc. then we have to know about the microcontroller. According to the requirements we have to select a microcontroller but here if you are a beginner and want to design controller-based products then Arduino UNO would be a good option. If we want to make an IoT-based project then you have to refresh the IoT-based project block diagram. 

Building Block of IoT Product

First of all, we will understand how the IoT product was designed and whats the building block of the product.

  • Things - where we connect the different types of sensors.
  • IoT Hardware - We also called Gateway like Nodemcu, Raspberry Pi, etc.
  • Communication Channel - Though Wireless communication we connect things with the cloud Server/ Local server.
  • Cloud / Local Server - On the cloud, we start doing predictions, and analysis and decide which is an efficient algorithm by testing the diff - diff algorithm then we create a user-friendly dashboard.
  • Dashboard - It shows a comprehensive overview of data from sources.

With the help of these blocks, you can create an IoT-based Product.

Why Arduino Is Required?

  • Required embedded hardware to test POC.
  • Strong connectivity between hardware and software.
  • Cost-effective hardware within programmers.
  • Simple, clear programming environment.
  • Open source and extendible software and hardware.
  • It is used to blink low scientific instruments, robotics, and innovative ideas which enhance thinking and analytical skill set.

History Of Arduino

The name Arduino comes from a bar in Ivrea, Italy. The bar was named after Arduin of Ivrea, who was the margrave of the March of Ivrea and King of Italy (1002 to 1014). 

Arduino → German → Harduwin → Hardu → →Strong → Wini → Friend.

The Arduino UNO is a microcontroller board developed by Arduino, Inc. Originally designed to be a single-board computer (SBC) for interfacing with peripherals and running software, the UNO has become the most popular SBC in the world. The Arduino project began in 2005 as a tool for students at the Interaction Design Institute in Ivrea, Italy. The Arduino UNO was introduced in early 2009 and has since been updated with new features and capabilities. Founder - Massimo Banzi The very first Arduino board released (in 2006) was the Arduino Serial. Popular in mid-2011. It is currently available in a variety of configurations and pricing ranges, making it a great choice for both beginners and experienced users. The Arduino UNO is a versatile board that can be used for a variety of projects, including learning about electronics and programming. It is also popular for creating simple devices.

Concept Of Input / Output

INPUT -  It is a signal/information going into the board.

Examples: Buttons Switches, Light Sensors, Flex Sensors, Humidity Sensors, and Temperature Sensors.

OUTPUT - It is any signal exiting the board.

Example: LEDs, DC motor, servo motor, a piezo buzzer, relay, and RGB LED

Introduction: What is Arduino and how does it work?

In this article, I will tell you about Arduino UNO R3 in the easiest way. It is a microcontroller development board by Arduino based on ATmega328. Arduino is a microcontroller-based open-source hardware platform originally designed by Massimo Banzi and David Cuartielles. It was first released in 2010. It is programmed using C/C++ and runs on a 16 MHz ATmega8L microprocessor. It consists of several components including a processor, RAM, analog input/output (I/O), digital I/O, power supply, USB connection, Ethernet communication, Wi-Fi communication, LCD, buttons, LEDs, etc.

What is Arduino?

An Arduino is a small computer that plugs into your homes electrical system. You can use it to control lights, appliances, motors, and even make music. It is an open-source electronics platform based on easy-to-use hardware or software. It is a microcontroller. Now if I say that at least 15-20 appliances with microcontroller chips are used at your houses would you believe me? But, thats a fact. In 2021, global shipments of microcontroller units amounted to 31.2 billion Approx units, increasing 13% every year. We cant imagine development without using microcontrollers. It is an embedded small computer chip, and with this, we can control most of the electronic gadgets and appliances which people use in their daily life i.e. Mobile phones, Washing machines, etc.

Features Of Arduino UNO

  • Microcontroller: ATmega328
  • 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 is used by the bootloader
  • SRAM: 2 KB (ATmega328)
  • EEPROM: 1 KB (ATmega328)
  • Clock Speed: 16 MHz
  • Program Memory Type: Flash
  • Program Memory Size (KB): 32
  • CPU Speed (MIPS/DMIPS): 20
  • SRAM (bytes): 2,048 or 2kb
  • Data EEPROM/HEF (bytes): 1024 or 1kb
  • Digital Communication Peripherals: 1-UART, 2-SPI, 1-I2C
  • Capture/Compare/PWM Peripherals: 1 Input Capture, 1 CCP, 6PWM Timers: 2 x 8-bit, 1 x 16-bit.
  • Number of Comparators: 1
  • Temperature Range (°C): -40 to 85
  • Operating Voltage Range (V): 1.8 to 5.5
  • Total Pin: 28
  • I/O Pin: 23
  • ADC Module: 6 channels, 10-bit resolution ADC
  • External Oscillator: 
    • 0-4 MHz @ 1.8V to 5.5V
    • 0-10 MHz @ 2.7V to 5.5V
    • 0-20 MHz @ 4.5V to 5.5V
  • Internal Oscillator: 8MHz  Calibrated Internal Oscillator

What Can You Do with An Arduino?

You can do anything you want with an Arduino! There are thousands of projects online that show how people have used them. Here are some examples:

  • Turn off a lamp at night
  •  Control a fan
  • Make a robot move around
  • Play Music
  • Display information
  • Make a remote-controlled car

Arduino - Hardware Description

Now we understand the parts of the Arduino UNO by Image and working. In the Arduino UNO Board, we have 14 Digital I/O Pins (0-13) as you can see in the image in which 6 pins are PWM Pins (3,5,6,9,10, and 11). And 6 Pins are used as Analog Input Pins (A0-A5). Analog Pins can also be used as Digital input-output) Pins. And ATmega328 Microcontroller is a single-chip microcontroller of the ATmel family, A Reset button, USB port, and Power supply for input-output components are also.

Architecture of Atmega328

Arduino Uno is an open-source microcontroller board based on Atmels ATmega328P MCU (Micro Controller Unit). It features 16 digital input/output pins (of PWM type), 6 Analog inputs, 4 UARTs (Universal Asynchronous Receiver Transmitters), and 2 SPI interfaces.

How Does It Work?

The Arduino is powered by a USB connection to your PC or Mac. When you upload code to the Arduino, it communicates with the PC via the serial port. Once the code is uploaded, the Arduino runs the program.

Which Languages Can I Use With Arduino?

If we have to connect the electronic components, then you need to program the Arduino board logic to do something with it. Official Arduino language is a simplified derivative of C/C++. And other Languages are C#, Python, and a few visual Scripts which is great if you have no programming experience.

How to connect Arduino UNO to a PC?

We just simply turn on or off the led using programming, but there is one question that will arise: can we also turn on or off the led with the help of power or some board so why did we require this? Here we will learn how to get high or low from a digital pin in a microcontroller with the help of programming. And we know that microcontrollers work on two logics either 0 or 1. So now we learn how to give digital input with the help of programming. Firstly you have to go to tinkercad.com. which is completely free for all here you can do experiments and you can create a prototype for a project or product without any resources. Here when you create a project you can save it also. 

Coding Concept

Whenever we are trying to code in Arduino hardware the main thing is known as function. Because when we have to complete a task to complete it we have to make a function so when we make a function we write the program into that function and when we call that function then it will reflect the value. Here we will take two functions. One is setup() and another is Loop(). Now the main thing is which things are in setup() or loop()? 

Setup() - This function runs only once, it means the things which we have to perform in a program we have to write it in.

Loop() - This function runs multi times, which means the things which we have to perform many times in the program have to write in this.

Another thing in this Setup() or Loop() it will not give us any value so we have to write void in front of both. So now take an example: if we have to blink an LED infinite times so what program do we have to do so lets start it.

CODE

Void setup()

{

pinMode(13,OUTPUT);

}

void loop()

{

digitalWrite(13,HIGH);

delay(1000);

digitalWrite(13,LOW);

delay(1000);

}

In this code, you can simply see that firstly we create two functions. The first is Setup() and the second is Loop(). We add the void before these two functions because they will not give us any value. So after that, we declare the pin model In that we have to write M is greater and in which we write (13, OUTPUT); After that in the loop(the) section we write digitalWrite(13, HIGH); it means that the input which we are going to give it and send a puls which on or off the led or we can say that a HIGH pulse will generate 0 or 1 we can write HIGH in capital form by the substitution of 1.

So in the program, you can see that we write delay(1000); also which means that when we turn on or off the led the time it will take we cant see it so we declare 1sec of delay so that we can see the led on or off without any problem. So now we perform it on the website which is tinkercad.com.

We can see that there is no external led that will connect but the code will run and a small inbuilt led is blinking in the board.

Arduino Family

There are many Arduino Boards, including the Arduino Uno, LilyPad Arduino, ResBoard, Arduino Leonardo, Arduino Mega R3, and Arduino Nano. Each board has its own features and capabilities, and each can be used to create different types of projects.