Главная страница
Навигация по странице:

  • 1 Подключение светодиода и кнопки

  • Практикалық жұмыс №5 (1). Лабораторная работа 1. Порты ввода и вывода данных на микроконтроллере avr atmega 2560


    Скачать 422.78 Kb.
    НазваниеЛабораторная работа 1. Порты ввода и вывода данных на микроконтроллере avr atmega 2560
    Дата19.10.2021
    Размер422.78 Kb.
    Формат файлаdocx
    Имя файлаПрактикалық жұмыс №5 (1).docx
    ТипЛабораторная работа
    #251104

    ПРОЕКТИРОВАНИЕ ВСТРАИВАЕМЫХ СИСТЕМ НА МИКРОКОНТРОЛЛЕРАХ 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 рис).





    Рисунок 1.1 – Подключения светодиода


    Резистор рассчитывается по формуле I = Uвыхода – Uпадения на светодиоде / R.

    Uвыхода = 5 В, Uпадения на светодиоде можно принять равным 1,5 В (более точно указывается в справочнике). Получается, то в нашей схеме ток через светодиод задан на уровне 10 мА.

    Можете выбрать любой вывод, но я предлагаю для простоты соединений использовать светодиод, установленный на плате. Тот самый, который мигал в первом тестовом примере. Он подключен к цифровому выводу 13. В этом случае дополнительный светодиод к плате подключать не надо.

    Кнопку подключаем к любому другому выводу, например, 12. Аппаратная часть схемы подключения кнопки должна обеспечивать уровни напряжений 0 В при нажатой кнопке и 5 В при свободной. При отжатой кнопке резистор формирует на выводе 5 В, а при нажатой – вход замыкается на землю.





    Рисунок 2 – Подключения кнопки


    2 Функции управления вводом/выводом.
    Для работы с цифровыми выводами в системе Ардуино есть 3 встроенные функции. Они позволяют установить режим вывода, считать или установить вывод в определенное состояние. Для определения состояния выводов в этих функциях используются константы HIGH и LOW, которые соответствуют высокому и низкому уровню сигнала.
    pinMode(pin, mode). Устанавливает режим вывода (вход или выход). Аргументы: pin и mode. Функция не возвращает ничего.


    • pin – номер вывода;

    • mode – режим вывода.




     mode = INPUT

    вывод определен как вход, подтягивающий резистор отключен

    mode= INPUT_PULLUP

    вывод определен как вход, подтягивающий резистор подключен

     mode = OUTPUT

    вывод определен как выход

    digitalWrite(pin, value). Устанавливает состояние выхода (высокое или низкое). Функция не возвращает ничего. Аргументы pin и value:

    • pin – номер вывода;

    • value – состояние выхода.




     value = LOW

    устанавливает выход в низкое состояние

     value = HIGH

    устанавливает выход в высокое состояние


    digitalRead(pin). Считывает состояние входа. Аргументы:  pin - номер вывода. Возвращает состояние входа:


     digitalRead(pin) = LOW

     низкий уровень на входе

     digitalRead(pin) = HIGH

     высокий уровень на входе


    3 Мигание светодиодом
    Программа в Ардуино состоит из двух функций setup() и loop. В setup() мы устанавливаем режимы выводов, в loop выполняемые операции. Схема подключения светодиода показан на рисунке 3.




    Рисунок 3 – Схема подключения светодиода


    Код программы для мигания светодиодом с комментариями показано на рисунке 4.




    Рисунок 4 – Код программы для мигания светодиодом


    4 Подключения кнопки
    Схема подключения кнопки для управления светодиодом показан на рисунке 4.




    Рисунок 4 - Схема подключения кнопки


    Код программы для управления светодиодом через кнопку с комментариями показано на рисунке 5.



    Рисунок 5 - Код программы для управления светодиодом через кнопку


    5 Контрольные задачи
    1. Написать код программы и реализовать схему работы простого светофора на макетной плате, использовав 3 светодиода и 3 резистора для ограничения тока.

    2. Написать код программы и реализовать схему работы бегущего огонька на макетной плате, использовав 4 светодиода и 4 резистора для ограничения тока.

    3. Написать код программы и реализовать схему работы управления светодиодом через кнопку на макетной плате, использовав 1 светодиод, 1 кнопка и 2 резистора для ограничения тока. При нажатии на кнопку один раз, светодиод должен загорется, если нажимать второй раз светодиод должен отключится.

    4. Написать код программы и реализовать схему работы ввода пин-кода из 4 комбинации. Использовать 4 кнопки, 2 светодиода и 6 резистора для ограничения тока. При правильном нажати комбинации кнопок должен загорется зеленый светодиод, если неправильно то красный.

    5. Написать код программы и реализовать схему работы новогодней гирлянды на макетной плате, использовав 8 светодиода, 1 кнопки и 9 резистора для ограничения тока. У гирлянды должен быть 3 режима работы, при нажатии кнопки, режим работы должен менятся.
    6 Литература


    1. Джереми Блюм – Изучаем Arduino. Инструменты и методы технического волшебства.

    2. Саймон Монк – Программируем Arduino. Профессиональная работа со скетчами.

    3. Виктор Петин – Электроника. Проекты с использованием Arduino.

    4. Юрий Ревич. Занимательная электроника.


    написать администратору сайта