Статьи » Разработки |
2021-04-18 в 01:28 (последнее изменение 2024-03-08 в 21:40)
В своих проектах где использую микроконтроллер я использую Atmega328p. Почему? Мне с ним удобно работать. Это тоже самое что Arduino UNO, Nano и Micro. Можно в Arduino IDE сделать быстро код и зашить все в свое устройство. И не обязательно иметь USB разъем для этого. Можно использовать внутрисхемное программирование. Разъем для этого называется ICSP. Это экономит место и финансы при сборке. Я себе один раз разработал схему минимальной обвязки Atmega328p. И во всех своих проектах ее использую. Этого вполне достаточно чтобы контроллер работал, долго работал. Сама схема обвязки Atmega328p. Или простая схема Arduino UNO. Схема содержит все обязательные элементы для работы в виде Arduino платы. Код
#define CONTROL_LED_PIN 13; // номер выхода, подключенного к светодиоду int ledState = LOW; // этой переменной устанавливаем состояние светодиода void setup() { void loop() //проверяем не прошел ли нужный интервал, если прошел то // если светодиод не горит, то зажигаем, и наоборот // устанавливаем состояния выхода, чтобы включить или выключить светодиод Пин reset подтянут к плюсу питания. Он используется для реализации возможности внутрисхемного программирования. Когда начинаем процесс записи прошивки, программатор (другая Ardunio UNO или Nano) подает на этот пин низкий уровень что в свою очередь останавливает выполнение программы. Имеется конденсатор 100нФ (0,1мкФ) размещенный в цепи питания непосредственно возле микроконтроллера, ближе к 4 и 6 выводу VCC Atmega328p, помогут бороться с высокочастотными выбросами по питанию (которые, кстати, может генерировать сам микроконтроллер). Плюс питания у меня еще подключен и к выводу 18 Atmega328p. Это вход для питания аналоговой части микроконтроллера. Вывод 20 является входом для опорного напряжения АЦП. Он необходим если в вашем проекте необходимо брать за основу не напряжение питания микроконтроллера (для плат Arduino UNO это 5В), а какое-либо другое напряжение. Считаю что если он не используется в проекте, будет не лишним соединить с общий контактом через конденсатор 100нФ (0,1мкФ). Если мы используем опорное напряжение отличное от напряжения питания контроллера, необходимо использовать в скетче команду: Код
analogReference(EXTERNAL); // использование AREF для опорного напряжения
Пока на этом все, если буду новые мысли, буду вносить правки. А если у вас есть предложения, пишите в комментариях. Не пропустите обновления! Подписывайтесь на нашу группу Вконтакте. Так же у нас есть Telegram канал. Вам понравился наш материал? Поделитесь с коллегами! Просмотров: 9714. Оценка статьи: 4.0 из 5. Уже оценило 6 читателей |
Всего комментариев: 2 | ||
|