What is the Arduino platform and what is it for?

Arduino Programmable Controller

What is Arduino?

Arduino is an off-the-shelf hardware and software platform whose main components are a small I/O control board and a Processing/Wiring-based development environment.

The first prototype of the controller was released in 2005 when Massimo Banzi designed it for students at the Institute of Interaction Design in Ivrea, Italy. The name of the device comes from the name of King Arduino, who ruled Italy for only two years in the early 11th century, after whom the beer bar "di Re Arduino", owned by Massimo Banzi, is also named and is located exactly where, according to legend King Arduin is born.

Arduino controller

Arduino's goal is to create an accessible environment for software developers to allow them to enter the world of microcontroller programming. Programming of this company's controllers is done in a simple and intuitive programming environment — Arduino IDE. This environment is convenient for both beginners and experienced users.The C ++ programming language is used, which is supplemented with many libraries, which makes it easier to work with the device.

Arduino has made a real revolution in the field of electronic design on an international scale. Both the schematics and the source codes are available for free, which is why Arduino has gained so much popularity. A ready-made board can be purchased for only a few dollars, or you can assemble it yourself.

The Arduino board has its own processor and memory, it is equipped with many inputs and outputs to which various sensors can be connected, as well as actuators and mechanisms. There are currently more than 20 major Arduino board mods available.

Arduino Programmable Controller Programming

Arduino platform microcontrollers

The peculiarity of Arduino is that you don't need to be a programmer to work with it, you don't need special knowledge of how a microcontroller works to build a simple project. Arduino's standard libraries open up a lot of creativity in terms of automating anything.

Programming here is done through a special software environment (IDE), which can be downloaded for free on the Arduino website. Written in Java, this friendly shell runs on Windows, Mac OS X, and Linux and contains a text editor, project manager, preprocessor compiler, and tools for loading the program directly into the microcontroller.

The microcontrollers used in Arduino already have a bootloader, so a programmer is not needed, just connect the board to a computer via USB or via a UART-USB adapter and download the program.

The board also has the ability to flash the bootloader in the microcontroller using a programmer, the Arduino IDE has built-in support for the most popular low-cost programmers, there is a pin connector for in-circuit programming (ICSP for AVR, JTAG for ARM).

Most Arduino devices use Atmel AVR ATmega328, ATmega168, ATmega2560, ATmega32U4, ATTiny85 microcontrollers with a clock frequency of 16 or 8 MHz. There are also ARM Cortex M based boards.

Arduino ports

Arduino UNO R3 board

Arduino UNO R3 board

The I/O ports are used to connect any electronic components (LEDs, motors, sensors, etc.) to the controller board. They are also called pins. These are digital, analog or digital-to-analog interfaces that have their own function.

As the name suggests, we have a digital signal on the digital pins. They can produce only two values: a logical zero (0, LOW) and a logical one (1, HIGH).

Analog — similar to digital, with the difference that their main purpose is to connect analog sensors.

To use (pass a signal) through these ports, we need to initialize them in our program using the function pinMode (<pin number>, <mode: INPUT / OUTPUT>), where the pin number is the connector number specified on the Board Arduino … INPUT is needed to read data, OUTPUT to transmit. In case we use such pins without specifying pinMode beforehand, the values ​​obtained may be wrong.

Digital-analog ports (or PWM — I / O with pulse-width modulation) — a more intelligent interface. They are always ready to receive / transmit data and do not require prior initialization.Their main advantage is the ability to transfer values ​​in the range from 0 to 255, which allows for much more
interfere precisely with the operation of the connected elements. These ports are indicated on the board (and in the documentation) as PWM or with «~» (tilde).

Digital and analog pins — switching (connecting) ports. PWM — control ports. If it is necessary to change the operating parameters of the radio element, it must be connected to PWM. If it is enough to only turn on / off a circuit element, you can use any port on the Arduino.

Another and final important criterion for Arduino board ports is their physical composition. Remember that each pin: has a 5V output. It can give a maximum current of 0.02A

These are small criteria that are important to keep in mind to save a lot of time.

Programming

To master the programming base for Arduino, a beginner needs only a few hours, because the network already has a huge number of video tutorials, thematic publications, notes and articles about Arduino development. The basis is C ++, supplemented by simple I / O control functions on the board, and more demanding users will be able to work even in Visual Studio, at least in Eclipse, or even through the command line.

A robot

External drives and expansion cards

In fact, Arduino provides huge possibilities for creating all kinds of devices, you can connect sensors, locks, motors, displays, routers and even kettles. You can expand the product with additional boards — shields, for example, for working with GPS, for connecting via a local network or the Internet, for bluetooth, Wi-Fi, etc. Arduino is especially popular in robotics.

Conveniently, you don't need a soldering iron to connect extensions, simple pin connections are used, which makes it easy to design layouts, make them as complicated as you want, in general, the scope for creativity is endless.

Expansion cards (shields) are now sold for many different functions, they can be connected as a sandwich, thanks to the convenient location of the connectors. These can be wireless communication cards, control cards stepper motor, and any other controllers with different purposes.

Arduino programmable controller drone

Why using Arduino is so popular

The Arduino platform has been widely recognized by the developers of new electronic devices, teachers and engineering students, as well as students from the backgrounds of technical creativity.

Using Arduino simplifies the process of working with microcontrollers. In terms of technical equipment, it is ideal for the educational process of designing various mechatronic systems and robots, thanks to an understandable programming environment and the ability to monitor physical processes in real time, as well as thanks to an understandable programming environment and a number of other advantages.

It can be used as a teaching and research tool in digital signal processing, electronics, circuits, robotics, automation, etc. More powerful Arduino boards are applicable for solving complex technical problems related to the development of large projects and their complex automation.

Arduino is the most popular trend that makes microcontrollers accessible to a large number of people to understand and use, even industry experts. With the help of this popular platform, you can make a large number of interesting and useful projects.

We can say that Arduino is a universal extensible programmable controller-constructor that can become an indispensable assistant in solving any creative tasks related to electronics of any purpose, even an alarm clock, even a complex robot, even a stepper motor — all this, and not only, it can control according to the desired algorithm using Arduino.

A huge number of all kinds of peripheral devices: buttons, sensors, LEDs, LCD indicators and other organs for interaction with the outside world are available to work with Arduino.

Hundreds of Arduino programs are now available on the Internet that can help both beginners and advanced users to realize their projects.

We advise you to read:

Why is electric current dangerous?