# Что такое микроконтроллер

Микроконтроллер -- это маленький компьютер, размером с один чип. Он очень похож на обычный домашний компьютер, только он специально создан для работы с другими электронными устройствами. У него есть процессор, память, порты ввода-вывода для взаимодействия с внешним миром.

На рисунке ниже изображена микросхема микроконтроллера Atmega328P, содержащая 32 контакта для подключения к плате.

![atmega328p](/files/-LHI02PQqisTebhF6Zpw)

Одна из характеристик микроконтроллера, это количество контактов ввода вывода. Именно к ним подключаются другие устройства, необходимые для работы всей системы. Остальные контакты микросхемы микроконтроллера служат для подключения питания, и других служебных систем.

Выходы микроконтроллера могут быть *цифровыми* (с двумя состояниями "Включено или 1" и "Выключено или 0") или *аналоговыми* (уровень напряжения выхода может изменяться).

Также входные сигналы могут быть *цифровыми* и *аналоговыми*. Микроконтроллер читает значение напряжения на входе и переводит значение в логичесий 0 или 1.

Как и любой персональный компьютер -- важные характеристики микроконтроллера это частота процессора и размер памяти. Микроконтроллер Atmega328P может работать на частоте 20Mhz и 32Kb памяти для работы программы.

## Плата микроконтроллера (отладочная плата)

Мы установили, что микроконтроллер это единственная микросхема. Для работы необходимо обеспечить ее электропитанием (микросхема микроконтроллера очень требовательна к электропитанию) а также специальным интерфейсом для загрузки программ на микроконтроллер.

Для удобной работы с микроконтроллером, производители микроконтроллеров выпускают специальные платы для разработчиков (отладочные платы), которые помогают работать с микроконтроллером.

Далее после отладки программы, обычно разработчики разводят собственные платы. ![dev-board1](/files/-LHI02PT_mEZzQeN5gG0) ![dev-board2](/files/-LHI02PVPCiOl-m-lxTp)

Одна из таких плат это плата платформы Arduino, которую мы будем использовать в наших проектах.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://brat-ya-vol-t-voltbro-com.gitbook.io/kurs-molodogo-inzhenera/mikrokontroller/chto-takoe-mikrokontroller.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
