Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Раздел 1. Работа в среде имитационного моделирования Tinkercad Circuits Arduino↑ Стр 1 из 11Следующая ⇒ Содержание книги
Поиск на нашем сайте
ОГЛАВЛЕНИЕ ВВЕДЕНИЕ. 5 РАЗДЕЛ 1. РАБОТА В СРЕДЕ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ TINKERCAD CIRCUITS ARDUINO.. 6 1.1 Общие сведения о работе эмулятора tinkercad circuits arduino.. 6 1.2 Управление светодиодом в среде arduino.. 20 1.3 Работа с кнопочным переключателем.. 27 1.4 Работа с пьезоизлучателем.. 32 1.5 Изучение работы сервопривода. 38 1.6 Управление текстовым дисплеем.. 43 РАЗДЕЛ 2. РАБОТА СО СТЕНДОМ АРД-1. 51 2.1 Знакомство с лабораторным стендом ард -1. Управление портами вывода микроконтроллера. 51 2.2 Управление портами вывода микроконтроллера с помощью шим – модуляции 64 2.3 Управление портами ввода микроконтроллера с помощью тактовых кнопок. 71 2.4 Управление семисегментным индикатором.. 74 2.5 Управление светодиодной матрицей.. 81 ВОПРОСЫ ДЛЯ САМОКОНТРОЛЯ.. 85 ЗАКЛЮЧЕНИЕ.. 89 ПРИЛОЖЕНИЕ.. 90
Введение Arduino — семейство программируемых микроконтроллеров для быстрого прототипирования электронных устройств. Arduino имеет полностью открытую архитектуру. Первые представители семейства этих микроконтроллеров были разработаны в Италии. Позже производство появилось и в Китае, что сделало Arduino более доступным и распространенным. Arduino — это электронный конструктор, который позволяет любому человеку создавать разнообразные электро-механические устройства. Для того что бы начать нужен только сам микроконтроллер и компьютер с USB портом. Arduino обладает рядом преимуществ: 1. Низкая стоимость. Программное обеспечение ардуино обладает кроссплатформенностью (поддержкой нескольких операционных систем). 2. Arduino IDE. Это очень простая в освоении и удобная в использовании среда разработки. 3. Открытый исходный код. Микроконтроллер Arduino - простой в использовании, но мощный одноплатный компьютер. В данном руководстве приведены материалы для изучения платы Arduino Uno. Плата Arduino Uno включает микроконтроллер Atmel ATmega328, который работает на напряжении в 5 V с 2 Kb RAM, 32 Kb флэш-памятью для хранения программ и 1 Kb EEPROM для хранения параметров. Тактовая частота составляет 16 МГц, что означает возможность выполнять до 300 000 строк исходного кода «C» в секунду. Панель имеет 14 цифровых входов и 6 аналоговых. В плате также есть разъем USB для подключения к компьютеру и разъем питания постоянного тока для подключения внешнего источника питания в 6-20 В, например, батареи 9 В при запуске программы, чтобы подключиться к компьютеру. Язык программирования Arduino является упрощенной версией C/C++. Раздел 1. Работа в среде имитационного моделирования Tinkercad Circuits Arduino Общие сведения о работе эмулятора Tinkercad Circuits Arduino Тинкеркад (Tinkercad Circuits Arduino) – простой и одновременно мощный эмулятор Arduino, с которого можно начинать обучение электронике и робототехнике. Он предоставляет очень удобную онлайн среду для изучения особенностей работы с микропроцессорной техникой. Возможности эмулятора Tinkercad для разработчика Arduino: · Онлайн платформа; · Удобный графический редактор для визуального построения электронных схем; · Предустановленный набор моделей большинства популярных электронных компонентов, отсортированный по типам компонентов; · Симулятор электронных схем, с помощью которого можно подключить созданное виртуальное устройство к виртуальному источнику питания и проследить, как оно будет работать; · Симуляторы датчиков и инструментов внешнего воздействия. Можно менять показания датчиков, следя за тем, как на них реагирует система; · Встроенный редактор Arduino с монитором порта и возможностью пошаговой отладки; · Готовые проекты Arduino со схемами и кодом; · Визуальный редактор кода Arduino. Регистрация онлайн Для начала работы необходимо зарегистрировать аккаунт Autocad. Для этого необходимо зайти на сайт https://www.tinkercad.com/ и выполнить простые шаги в соответствии с рисунком 2. Рис. 2 - Регистрация в Tinkercad Рис.3 - Создание учетной записи
Подтвердив аккаунт по почте, необходимо авторизоваться в системе. В верхнем правом углу находится ссылка на личный кабинет.
Второй шаг. Подготовка электронной схемы Возможные действия при создании схемы: · Выбор нужных компонентов из библиотеки компонентов внизу экрана и размещение их в поле редактора. · Соединение компонентов с помощью проводов. · Редактирование параметров компонентов (например, величина сопротивления у резисторов или цвет проводов). Операция выбора компонента из библиотеки осуществляется следующим путем. Список элементов находится внизу. Выбрав элемент, нужно нажать по его изображению левой кнопкой мыши, затем переместить в нужное место на схеме и нажать повторно. Окно со списком компонентов можно скрыть или показать, нажимая на переключатель «Components» в панели инструментов. Рис. 9 - Список компонентов Для работы доступно множество уже готовых элементов (представлены на рисунке 9). Для удобства навигации все элементы разбиты на три группы: · Basic Components. Основные компоненты. · Allcomponents. Все доступные компоненты. · Starters. Готовые предустановленные схемы. Рис. 10 - Интерфейс программы Tinkercad. Обзор базовых элементов Стоит уделить внимание третьей группе элементов Starters. Создатели сервиса подготовили несколько готовых схем, которые можно сразу же подгрузить в проект. Рис. 11 - Интерфейс программы Tinkercad. Закладка Starters После нахождения нужной схемы Arduino в списке необходимо нажать левой кнопкой мыши на нее два раза, в результате элементы схемы будут размещены в области редактирования. На рисунке для примера изображена схема трехкнопочного пьезоэлектрического излучателя звука. После ее размещения, на экране будем следующее: Рис.12 - Схема трехкнопочного пьезоэлектрический излучателя Если схема не помещается на экране, возможно выполнить масштабирование (кнопка масштаба на панели инструментов). Для соединение отдельных элементов между собой с помощью проводов нужно выполнить следующие действия. Наведите курсором мыши на узел (вход или выход) устройства, далее нажмите левую кнопку мыши и доведите линию до узла с которым хотите соединить, нажатие левой кнопки мыши соединит узлы проводом. Рис.13 – Внешний вид Монтаж платы Углы провода скругляются, есть возможность выравнивать провод по вертикали или горизонтали (появление синих линий подскажет вертикаль и горизонт соответственно). Для отмены установки провода нужно нажать на Esc или мышкой нажать на соответствующую иконку на панели инструментов. Нажав на компонент, можно отредактировать его свойства. Рис.14 - Редактирование свойств компонента Цель работы Получить навыки программирования микроконтроллера, разработать программу работы светодиода с заданными интервалами.
Теоретическая справка Светодиод — это устройство, которое представляет собой полупроводниковый прибор, способный излучать свет при пропускании через него электрического тока в прямом направлении (от анода к катоду). Ниже приведена схема типичного светодиода с линзой (см. Рис.23а). Существуют 2-х цветные и 3-х цветные (см. Рис. 24б) светодиоды. Трёхцветный светодиод или RGB-светодиод — это совмещённые в одном корпусе светодиоды красного, зелёного и синего цветов. Светодиод имеет 4 ноги. 3 ноги — аноды, соответствующие отдельным цветам и одна — общий катод. Подавая сигнал на один из анодов, можно добиться свечения одним из цветов. Используя широтно-импульсную модуляцию для всех анодов одновременно, можно получить свечение произвольным цветом. Для того чтобы правильно включить светодиод в электрическую цепь, необходимо отличать катод от анода. Сделать это можно по двум признакам: 1) Анод светодиода имеет более длинный проводник.
а) б) Рис. 23 - а) Схема светодиода б) Внешний вид RGB светодиода
В современной микроэлектронике применяются миниатюрные светодиоды для поверхностного монтажа. Такие индикаторы, например, имеются на Arduino UNO для информирования пользователя о состоянии системы.
Ход выполнения работы Для начала необходимо пройти по ссылке https://www.tinkercad.com в раздел «Circuits» и создать новую электрическую цепь нажатием на кнопку «Создать цепь». Рис.24 Создание цепи Приступить к созданию схемы можно в визуальном редакторе. В библиотеке компонентов необходимо найти нужные элементы - светодиод, резистор и плату Arduino Uno R3. Рис.25 - Создание схемы Рис.26 - Выбор компонента
Рис. 27 - Подключение светодиода к выводу 13
В функции setup() необходимо инициализировать порт, подключенный к светодиоду, как выход используя функцию pinmode(“номер порта», OUTPUT).
digitalWrite(13, HIGH); // turn the LED on (HIGH is the voltage level)
Для осуществления задержки на нужное время в милисекундах используется функция delay(value). В параметр передается значение времени задержки в миллисекундах. Пауза в 1000 миллисекунду выполняется как: delay(1000); Для выключения светодиода и последующей задержки прописываются следующие команды: digitalWrite(13, LOW); delay(1000);
Проверка кода на наличие ошибок выполняется с помощью нажатия на кнопку «Компилировать». Листинг программы представлен на рисунке 28
Рис.28 – Листинг программы для управления одним светодиодом
После необходимо сохранить код нажать кнопку Выполнить.
Для подключения второго светодиода в схему необходимо задать вывод 3 в соответствии с рисунком 29: pinMode(3, OUTPUT); Затем прописать те же команды, что и для первого светодиода. digitalWrite(3, HIGH); delay(1000); digitalWrite(3, LOW); delay(1000);
Рис. 29 - Подключение второго светодиода к выводу 3
Проверка кода на наличие ошибок выполняется с помощью нажатия на кнопку «Компилировать». В результате получится следующий программный код: Рис.30 – Листинг программы для управления двумя светодиодами
После необходимо сохранить листинг программы и нажать кнопку «Выполнить».
Задания к лабораторной работе
Цель работы Получить навыки программирования микроконтроллера, разработать программу управления кнопочным переключателем. Теоретическая справка Кнопка (или кнопочный переключатель) – самый простой и доступный из всех видов датчиков. Тактовые кнопки – наиболее распространённые средства для коммутации электрических сигналов в различных цепях. Тактовые кнопки могут быть с фиксацией или без, с подсветкой и т. д. Тактовые кнопки используются в различных режимах и выполняют разные функции. Конструктивное исполнение изделий может сильно варьироваться. Тактовые кнопки устанавливаются на печатные платы вертикально или под определённым углом. Их активно используют в быту и промышленности. В работе изучаются методы программирования тактовой кнопки с 4 ножками. Кнопка представляет собой переключатель с двумя парами контактов. Контакты в одной паре соединены между собой, поэтому больше одного выключателя в схеме реализовать не удастся, но можно одновременно управлять двумя параллельными сегментами. В зависимости от ситуации, возможно создавать как схемы с нормально замкнутыми, так и с нормально разомкнутыми контактами – для этого необходимо только соответствующим образом выполнить соединение в схеме. Ход выполнения работы Для начала работы необходимо выбрать элементы из библиотеки компонентов (см. рис. 31,32,33). Рис. 31 - Выбор компонента резистора Рис. 32 -Выбор компонента кнопки
Рис. 33 - Выбор компонента светодиод
Рис. 34 - Выбор компонента малая макетная плата
Выбранные компоненты нужно разместить в поле редактора и построить схему, в соответствии с рис 35.
Рис. 35 - Результат работы кнопочного переключателя
Для начала работы с кодом необходимо нажать на кнопку Код в правом верхнем углу.
Рис.36 - Кнопка кода в панеле задач
Программный код эксперимента приведен в листинге в соответствии с рисунком 37: Рис.37 – Листинг программы для управления кнопочным переключателем
Проверка кода на наличие ошибок выполняется с помощью нажатия на кнопку «Компилировать». После необходимо сохранить листинг программы и нажать кнопку «Выполнить». На выходе получится мигающий на плате светодиод. Задания к лабораторной работе
РАБОТА С ПЬЕЗОИЗЛУЧАТЕЛЕМ
Цель работы Получить навыки программирования микроконтроллера, разработать программу управления пьезоизлучателем. Теоретическая справка Самым простым вариантом генерации звука является использование пьезоизлучателя. Пьезокерамические излучатели (пьезоизлучатели) - электроакустические устройства воспроизведения звука, использующие обратный пьезоэлектрический эффект - возникновение механических деформаций под действием электрического поля. Пьезоизлучатели бывают двух типов - со встроенным генератором и без. Пьезоизлучатели со встроенным генератором излучают фиксированный тональный сигнал сразу после подачи на них номинального напряжения. Они не могут воспроизводить произвольного сигнала. Их обычно используют для простого звукового оповещения. Если требуется проиграть мелодию, то используют пьезоизлучатели без встроенного генератора и генерируют сигнал отдельно. В эксперименте используется пьезоизлучатель без встроенного генератора.
Ход работы Для начала работы необходимо выбрать нужные элементы из библиотеки компонентов.
Рис.38 - Выбор компонента пьезоэлемента Рис.39 - Выбор компонента малая макетная плата
Рис.40 - Выбор компонента Arduino Uno R3
Пьезоизлучатель необходимо подсоединить к макетной плате, а затем подключить макетную плату и пьезоизлучатель к Arduino Uno так, как показано на рис. 41. Рис. 41- Схема подключения пьезоизлучателя
Для воспроизведения мелодии необходимо подавать последовательно звуки определенной частоты и длительности. Для генерации звуков определенной частоты и длительности используется Arduino-функция tone (вывод, частота, длительность). Функция «tone» генерирует на выводе прямоугольный сигнал заданной частоты (с коэффициентом заполнения 50%). Функция также позволяет задавать длительность сигнала. Если длительность сигнала не указана, он будет генерироваться до тех пор, пока не будет вызвана функция noTone (). Значения частот для нот первой и второй октав представлены в таблице 1. Таблица 1 - Значения частот для нот первой и второй октав
.
Необходимо составить мелодию и занести ее в массив melody, список длительностей нот - в массив duration (). Данные с обозначением нот - в массив notes, а данные с частотами для соответствующих нот - в массив frequency. Рис.42 - Листинг программы для управления пьезоизлучателем
Задание к работе
Цель работы Получить навыки программирования микроконтроллера, разработать программу управления электродвигателем - SERVO. Теоретическая справка В этой работе изучается такой элемент, как Servo (сервопривод). Сервопривод – это привод, предназначенный для осуществления контроля (угол поворота вала, скорость вращения/движения и так далее) над различными объектами, находящимися в постоянном движении. Контроль производится в зависимости от заданных ему параметров извне. Сервопривод включает в свой состав такие элементы как:
Для использования функций сервопривода в начале исполняемого кода следует подключить библиотеку «Servo» делается это строкой #include <Servo.h>. Далее представлены основные функции для работы с сервоприводом: Servo.attach(pin, min, max) – прикрепляет переменную сервопривода к контакту на доске. Где min - (необязательно) - значение PWM (в микросекундах), которое будет соответствовать минимальным 0 градусам, max - (необязательно)- значение PWM (в микросекундах), которое будет соответствовать максимуму 180 градусов; Servo.write(angle) – позиционирует стержень серводвигателя под заданным углом, angle – (в градусах) угол, под которым будет располагаться стержень; Servo. writeMicroseconds(uS) – то же, что и функция write (), но запрашивает ввод в микросекундах, где uS - значение в микросекундах для поворота стержня в определенную степень; Servo. read() – считывает текущее значение угла сервопривод; Servo.attached() – проверяет, подключен ли сервопривод к штифту; Servo.detach – освобождает сервопривод от указанного pin-вывода;
Ход работы В начале работы необходимо выбрать сервомотор из библиотеки компонентов и подключить его к Arduino Uno так, как показано на рис. 43, 44. Рис.43 - Выбор компонента сервопривода
Рис. 44 - Схема подключения сервопривода к плате Arduino Uno Переменная «servo.attach» используется для определения pin-вывода, которая предназначена для управления сервоприводом. В функции «setup» подключается элемент «servo» с выводом 10, который будет управлять сервоприводом, используя необходимую команду: servo.attach(10); Так же следует добавить строку Serial.begin(9600), для подключения последовательного порта на скорости 9600 бит/сек. Чтобы отобразить содержимое используем функцию построчного вывода данных в последовательный порт Serial.println() и функцию вывода текущего положения сервопривода servo.read(): Serial.println(servo.read()); Используем дополнительно цикл do while. Общая конструкция цикла состоит из двух частей do{} основного тела цикла и while() условие для выполнения этого цикла: do{операторы} while (условие выполнения); Далее задается переменная X, которая будет равна углу наклона вала в градусах как в одну сторону, так и в другую: int x = 0; // задаем переменную Х как 0 do{ servo.write(x); //ставим вал под Х градусов x=x+1; delay(500); Serial.println(servo.read()); }while(x<180);
Рис.45 - Листинг программы для управления электродвигателем – SERVO
После запуска симуляции в окне «Монитор последдовательного интерфейса» будут отбражаться значения угла поворота вала сервопривода. Слева на рабочем поле будет видно его перемещение. Итогом вал дойдет до 180 градусов, переместится к нулевому и снова повторит цикл. Задания к работе.
Цель работы Получить навыки программирования микроконтроллера, разработать программу вывода информации на текстовый дисплей LCD1602
Теоретическая справка Для того чтобы отображать информацию получаемую от приборов матрицы 8х8 точек часто бывает недостаточно, для необходимы более удобные устройства. Электронные устройства предназначенные для вывода символьной и графической информации называются дисплеями. Для обработки команд и вывода информации на монитор в дисплей встроен микроконтроллер. В данной лабораторной работе будет рассмотрен дисплей LCD1602 (представлен на рисунке 46) на базе микроконтроллера HD44780. Рис.46 – Внешний вид дисплея LCD1602 Рис.47 – Внешний вид вывод
Дисплей LCD1602 имеет 16 выводов, назначение каждого приведено в соответствии с таблицей 3:
Таблица 3 - Назначение выводов LCD1602
Старшие биты D0-D3 используются в "командном" режиме, в данной лабораторной работе они нам не понадобятся. Младшие биты D4-D7 в режиме "отображения данных". Для настройки контастности используется потенциометр со значением 10 Ом. Для работы дисплеем LCD1602 следует использовать библиотеку "LiquidCrystal". Краткий перечень основных функций этой библиотеки приведен в таблице 4. В начале программы следует создать переменную lcd со следующей функцией LiquidCrystal(rs, enable, d4, d5, d6, d7), которая инициализирует сосединение управляющей платы Arduino с микроконтролером HD44780.
Таблица 4 - Перечень основных функций библиотеки LiquidCrystal
Ход работы В данной лабораторной работе будет расмотрена схема подключения дисплея Arduino к ЖК-дисплея с использованием библиотеки «LiquidCrystal». Для этого собираем схему в соответствии с рисукном 82. Используем потенциометр со значением сопротивления 10 Ом и резистор - 220 Ом. Потенциометр следует установить в положение максимального значения. Рис.48 – Схема подключения дисплея LCD1602 к Arduino
Рис.49 - Схема подключения LCD1602 к Arduino в системе Tinkercad Первой строкой подключаем встроенную библиотеку для для дисплея LCD 16x2: #include <LiquidCrystal.h> Создаем подключение LiquidCrystal lcd(RS, E, D4, D5, D6, D7) указываем выводы к которым были подключены порты LiquidCrystal lcd (12, 11, 5, 4, 3, 2); Для создание своего символа создадим переменную типа массив и заполним её бинарными значениями. byte smiley[8] = { B00000, B10001, B00000, B00000, B10001, B01110, B00000}; В функции установки указываем, что дисплей имеет 16 символов и 2 строки lcd.begin(16, 2) и используем функцию lcd. createChar (0, smiley) для создания своего символа, заданного ранее.
void setup () { lcd.begin(16, 2);// указываем тип дисплея LCD 16X2 lcd. createChar (0, smiley); } Пример кода программы представлено ниже void loop() { lcd.setCursor(1,0); // положение курсора - нулевая строка, первый символ lcd.print("HELLO WORLD ");// вывод на экран lcd.home();// положение курсора - первая срока, первый символ lcd.write(byte(0)); // выводим символ lcd.setCursor(2,5);// положение курсора - вторя срока, пятый символ lcd.print("ARDUINO");// вывод на экран delay(100); // пауза 100 мс lcd.scrollDisplayRight(); // сдвиг всех символов вправо на один символ delay(500); lcd.clear(); // очистка экрана } Результатом выполнения программного когда будет следующая надпись выводимая на экране (обратите внимание на первый символ и на переодический сдвиг надписи вправо) смотреть рисунок 50
Рис. 50 - Результат работы программы в системе Tinkercad Задания к лабораторной работе:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2021-05-27; просмотров: 4949; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.242.149 (0.015 с.) |