Microcontrollers became a logical continuation of our experience in developing server and client software.
In some cases, the clients may not be computers, but controllers to which sensors and devices are directly connected. In some cases, controllers can act as servers.
But often controllers are providers of information from multiple devices. Information can be transferred to a computer or directly to a remote server via various interfaces and channels: COM, RS-485, WiFi, LAN, Bluetooth, radio channel, GPRS, SMS and others.
Controllers are also indispensable when it is necessary to organize the automatic interaction of various devices without involving computers. Controllers, unlike computers, are real-time systems and execute all tasks instantly without multitasking.
A computer cannot control electrical circuits directly. Functional controllers, on the other hand, are sharpened for processing and managing electrical signals. At the same time, the capabilities of the controllers are easily expanded due to the many ready-made modules or independently designed circuits. Thus, the ability to automate devices simply has no limits.
So, the functions of the controllers:
- supply the computer with information about the status of devices;
- enable the computer to control the controllers;
- organize fully autonomous automatic systems;
- ultra-energy-efficient compact control systems (operation from conventional batteries for months).
The software for the controllers has many of its features. This low-level programming should be especially carefully thought out, since the processing power of the controllers is significantly less compared to computers.