Electronic projects

[Electronic projects][bleft]

Arduino Projects

[Arduino Projects][bleft]

Metal detectors

[Metal detectors][bleft]

Home projects

[Home projects][bleft]

Arduino Uno development board: All details

Arduino Uno development board: All details

In this article, we will introduce the hardware circuit part of the Arduino development board in detail. Specifically, we will introduce the pin assignments and definitions of the Arduino Uno development board. The Arduino Uno microcontroller uses Atmel's ATmega328. The pin assignment diagram of the Arduino Uno development board includes 14 digital pins, 6 analog inputs, power jacks, USB connections and ICSP plugs. The multiplexing function of pins provides more different options, such as driving motors, LEDs, reading sensors, etc. In this article, we will introduce the function of Arduino Uno pins.

Arduino Uno pin assignment diagram

Arduino Uno development board: All details


Arduino Uno pin assignment-power supply

The Arduino Uno development board can be powered in three ways:

● DC power jack-you can use the power jack to power the Arduino development board. The power jack is usually connected to an adapter. The power supply range of the development board can be 5-20V, but the manufacturer recommends keeping it between 7-12V. When the voltage is higher than 12V, the voltage regulator chip may overheat, and when it is lower than 7V, the power supply may be insufficient.

● VIN pin-This pin is used to power the Arduino Uno development board with an external power supply. The voltage should be controlled within the range mentioned above.

● USB cable-when connected to a computer, it provides 500mA/5V voltage.

Arduino Uno development board: All details


A polarity protection diode is connected between the positive pole of the power jack and the VIN pin, with a rated current of 1 ampere.


The power supply you use determines the power available to the circuit. For example, when using USB to power the circuit, the maximum current is limited to 500mA. Consider that this power supply is also used to power the MCU, peripherals, on-board regulators and components connected to it. When powering the circuit through a power socket or VIN, the maximum current available depends on the 5V and 3.3V regulators on the Arduino development board.

● 5v and 3v3

According to the manufacturer's data sheet, they provide regulated 5V and 3.3v to power external components.

● GND

In the Arduino Uno pin assignment diagram, you can see that there are 5 GND pins, and they are all interconnected.

The GND pin is used to close the circuit loop and provide a common logic reference level in the entire circuit. Make sure that all GNDs (Arduino, peripherals, and components) are connected to each other and have common ground.

● RESET -Reset the Arduino development board.

IOREF -This pin is the input/output reference. It provides the reference voltage for the microcontroller to work.


Arduino Uno pin assignment-analog input

Arduino Uno has 6 analog pins, they are used as ADC (Analog to Digital Converter).

These pins are used as analog inputs, but can also be used as digital inputs or digital outputs.

Arduino Uno development board: All details


Analog-to-digital conversion

ADC stands for analog-to-digital converter. ADC is an electronic circuit used to convert analog signals into digital signals. This digital representation of the analog signal allows the processor (which is a digital device) to measure the analog signal and use it in its operation.

Arduino pins A0-A5 can read analog voltage. On the Arduino, the ADC has a 10-bit resolution, which means that it can represent an analog voltage with 1,024 digital levels. The ADC converts the voltage into bits that the microprocessor can understand.

A common example of ADC is Voice over IP (VoIP). Every smartphone has a microphone that converts sound waves (voice) into analog voltage. This is converted into digital data through the device's ADC and transmitted to the receiving end via the Internet.


Arduino Uno pin assignment-digital pins

The pins 0-13 of Arduino Uno are used as digital input/output pins. Among them, pin 13 is connected to the onboard LED indicator; pins 3, 5, 6, 9, 10, and 11 have PWM functions.


have to be aware of is:

● Each pin can provide/receive a current of up to 40 mA. But the recommended current is 20 mA.

● The absolute maximum current provided by all pins is 200mA.

Arduino Uno development board: All details


What does digital level mean?

Numbers are a way of expressing 1-bit voltage: 0 or 1. The digital pins on the Arduino are designed as input or output pins according to user needs. The digital pins can be turned on or off. When turned on, they are in a high state of 5V, and when turned off, they are in a low state of 0V.

On the Arduino, when the digital pins are configured as outputs, they are set to 0 or 5V.

When a digital pin is configured as an input, the voltage is provided by an external device. The voltage can be changed between 0-5V and converted into a digital representation (0 or 1). To determine this, there are 2 thresholds:

● Below 0.8v-regarded as 0.

● Higher than 2.0v-regarded as 1.

When connecting components to digital pins, ensure that the logic levels match. If the voltage is between the thresholds, the return value will be indeterminate.


What is PWM?

Generally, Pulse Width Modulation (PWM) is a modulation technique used to encode a message into a pulse signal. PWM consists of two key parts: frequency and duty cycle. The PWM frequency determines the time required to complete a single cycle (cycle) and the fluctuation speed of the signal from high to low. The duty cycle determines how long the signal stays high during the total time period. The duty cycle is expressed as a percentage.

In Arduino, the pins that support PWM generate a constant frequency of about 500Hz, and the duty cycle changes according to the parameters set by the user. See below:

Arduino Uno development board: All details

The PWM signal is used for speed control of DC motors, dimming LEDs, etc.


letter of agreement

Serial (TTL)-Digital pins 0 and 1 are serial pins of Arduino Uno.

They are used by the onboard USB module.


What is serial communication?

Serial communication is used to exchange data between the Arduino board and other serial devices (such as computers, displays, sensors, etc.). Every Arduino board has at least one serial port. Serial communication occurs on digital pins 0 (RX) and 1 (TX) and USB. Arduino also supports serial communication with SoftwareSerial Library through digital pins. This allows users to connect multiple devices that support serial, and reserve the main serial port for USB.

Software serial and hardware serial-Most microcontrollers have hardware for communicating with other serial devices. The software serial port uses pin changes to interrupt the system for communication. There is a built-in library for software serial communication. The processor uses software serial to simulate additional serial ports. The only disadvantage of software serial is that it requires more processing and cannot support the same high speed as hardware serial.


SPI -SS / SCK / MISO / MOSI pins are dedicated pins for SPI communication. They can be found on the digital pins 10-13 and ICSP plug of the Arduino Uno.
 

The serial peripheral interface (Serial Peripheral Interface, SPI) is a serial data protocol used by the microcontroller to communicate with one or more external devices on the bus, such as connecting. SPI can also be used to connect 2 microcontrollers. On the SPI bus, there is always one device denoted as the master device, and all other devices are denoted as slave devices. In most cases, the microcontroller is the master device. The SS (Slave Select) pin determines which device the master device is currently communicating with.

S​​enabled devices always have the following pins:

MISO (master-slave output)-the line used to send data to the master device

MOSI (host output and slave input)-the host line that sends data to peripheral devices

SCK (Serial Clock)-a clock signal generated by the master device to synchronize data transmission.


I2C -SCL/SDA pins are dedicated pins for I2C communication. On the Arduino Uno, they can be found on analog pins A4 and A5.

The I2C communication protocol is commonly referred to as the "I2C bus." The I2C protocol is designed to enable communication between components on a single circuit board. When using I2C, there are two communication lines called SCL and SDA.

SCL is a clock line used to synchronize data transmission.

SDA is a communication line used to transmit data.


Each device on the I2C bus has a unique address, and up to 255 devices can be connected on the same bus.


Aref -The reference voltage of the analog input.

Interrupt -INT0 and INT1. Arduino Uno has two external interrupt pins.

External interrupt -An external interrupt is a system interrupt that occurs when an external interference occurs. Interference may come from users or other hardware devices in the network. The common use of these interrupts in Arduino is to read the square wave generated by the encoder or the frequency of external events to wake up the processor.

Arduino has two types of interrupts:

● External input

● Pin status changes


There are two external interrupt pins on ATmega168/328, called INT0 and INT1. INT0 and INT1 are mapped to pins 2 and 3, respectively . Conversely, the pin change interrupt can be activated on any pin.


Arduino Uno pin definition-ICSP plug

ICSP stands for in-circuit serial programming. The name is derived from in-system programming (ISP). Arduino-related manufacturers, such as Atmel, have developed their own online serial programming plugs. These pins enable the user to program the firmware on the Arduino development board. There are 6 ICSP pins on the Arduino development board, which can be connected to the programmer device through a programming cable.

Arduino Uno development board: All details


Understand the pin definition

The Arduino Uno development board is one of the most popular development boards on the market today, which is why we mainly introduce this development board in this article. This article mainly introduces most of its functions, but there are also many advanced options, which we did not cover in this article.


When choosing a development board for a project, the important thing to understand is its features and limitations. It is also important to understand the different communication protocols used by the development board. Of course, you don’t need to remember all this information, you can go back to this article and read the relevant information.


If you have any comments or questions, you are welcome to reply below. Of course, please feel free to share this article with your friends who love Arduino.

Arduino Projects

[Arduino Projects][twocolumns]