Практикалық жұмыс №5 (1). Лабораторная работа 1. Порты ввода и вывода данных на микроконтроллере avr atmega 2560
Скачать 422.78 Kb.
|
ПРОЕКТИРОВАНИЕ ВСТРАИВАЕМЫХ СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ AVR СЕМЕЙСТВА ATMEGA Лабораторная работа №1. Порты ввода и вывода данных на микроконтроллере AVR Atmega 2560 Цель работы: Изучить основные понятия о работе с портами, ввод и вывод данных. Инструменты: Платформа ArduinoMega 2560, компьютер, светодиоды, кнопки, USBкабель, макетная плата, соединительные проводники. Программное обеспечение: Arduino IDE 1 Подключение светодиода и кнопки Для связи с внешними элементами в контроллере Arduino UNO существуют 14 цифровых выводов. Каждый вывод может быть определен программой как вход или выход. У цифрового выхода есть только два состояния высокое и низкое. Высокое состояние соответствует напряжению на выходе порядка 5 В, низкое состояние – 0 В. Выход допускает подключение нагрузки с током до 40 мА. Когда вывод определен как вход, считав его состояние, можно определить уровень напряжения на входе. При напряжении близком к 5 В (реально более 3 В) будет считано высокое состояние, соответствующее константе HIGH. При напряжении близком к 0 (менее 1,5 В) будет считано низкое состояние, или константа LOW. Светодиод мы должны подключить к выводу, определив его как выход, а кнопка подключается к выводу с режимом вход. Светодиод подключается через резистор, ограничивающий ток (1 рис).
Резистор рассчитывается по формуле I = Uвыхода – Uпадения на светодиоде / R. Uвыхода = 5 В, Uпадения на светодиоде можно принять равным 1,5 В (более точно указывается в справочнике). Получается, то в нашей схеме ток через светодиод задан на уровне 10 мА. Можете выбрать любой вывод, но я предлагаю для простоты соединений использовать светодиод, установленный на плате. Тот самый, который мигал в первом тестовом примере. Он подключен к цифровому выводу 13. В этом случае дополнительный светодиод к плате подключать не надо. Кнопку подключаем к любому другому выводу, например, 12. Аппаратная часть схемы подключения кнопки должна обеспечивать уровни напряжений 0 В при нажатой кнопке и 5 В при свободной. При отжатой кнопке резистор формирует на выводе 5 В, а при нажатой – вход замыкается на землю.
2 Функции управления вводом/выводом. Для работы с цифровыми выводами в системе Ардуино есть 3 встроенные функции. Они позволяют установить режим вывода, считать или установить вывод в определенное состояние. Для определения состояния выводов в этих функциях используются константы HIGH и LOW, которые соответствуют высокому и низкому уровню сигнала. pinMode(pin, mode). Устанавливает режим вывода (вход или выход). Аргументы: pin и mode. Функция не возвращает ничего. pin – номер вывода; mode – режим вывода.
digitalWrite(pin, value). Устанавливает состояние выхода (высокое или низкое). Функция не возвращает ничего. Аргументы pin и value: pin – номер вывода; value – состояние выхода.
digitalRead(pin). Считывает состояние входа. Аргументы: pin - номер вывода. Возвращает состояние входа:
3 Мигание светодиодом Программа в Ардуино состоит из двух функций setup() и loop. В setup() мы устанавливаем режимы выводов, в loop выполняемые операции. Схема подключения светодиода показан на рисунке 3.
Код программы для мигания светодиодом с комментариями показано на рисунке 4.
4 Подключения кнопки Схема подключения кнопки для управления светодиодом показан на рисунке 4.
Код программы для управления светодиодом через кнопку с комментариями показано на рисунке 5.
5 Контрольные задачи 1. Написать код программы и реализовать схему работы простого светофора на макетной плате, использовав 3 светодиода и 3 резистора для ограничения тока. 2. Написать код программы и реализовать схему работы бегущего огонька на макетной плате, использовав 4 светодиода и 4 резистора для ограничения тока. 3. Написать код программы и реализовать схему работы управления светодиодом через кнопку на макетной плате, использовав 1 светодиод, 1 кнопка и 2 резистора для ограничения тока. При нажатии на кнопку один раз, светодиод должен загорется, если нажимать второй раз светодиод должен отключится. 4. Написать код программы и реализовать схему работы ввода пин-кода из 4 комбинации. Использовать 4 кнопки, 2 светодиода и 6 резистора для ограничения тока. При правильном нажати комбинации кнопок должен загорется зеленый светодиод, если неправильно то красный. 5. Написать код программы и реализовать схему работы новогодней гирлянды на макетной плате, использовав 8 светодиода, 1 кнопки и 9 резистора для ограничения тока. У гирлянды должен быть 3 режима работы, при нажатии кнопки, режим работы должен менятся. 6 Литература Джереми Блюм – Изучаем Arduino. Инструменты и методы технического волшебства. Саймон Монк – Программируем Arduino. Профессиональная работа со скетчами. Виктор Петин – Электроника. Проекты с использованием Arduino. Юрий Ревич. Занимательная электроника. |