Файл: Лабораторная работа 2 По дисциплине Основы электротехники в робототехнике Выполнила Марченко А. В. Группа мит23.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.11.2023

Просмотров: 37

Скачиваний: 4

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Сибирский государственный университет телекоммуникаций и информатики»

(СибГУТИ)

Лабораторная работа №2

По дисциплине: Основы электротехники в робототехнике

Выполнила: Марченко А.В.

Группа: МИТ-23

Вариант: 3

Проверил: Шыырап

Юрий Монгушевич

Барнаул, 2023 г.

Тема: Подключение 7-сегментногоиндикатора напрямую через I2C. Подключение ЖК дисплея

Цель: Научиться подключать индикаторы разных типов и программировать вывод информации на дисплей индикатора.

Задание

1 Для каждого типа индикатора осуществить подключение к плате.

2 Запрограммировать вывод информации на дисплей.

3 Оформить отчет.
  1. Подключение семисегментного индикатора


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



Загружаем код, представленный в методических указаниях:



Запускаем симуляцию и получаем:

https://disk.yandex.ru/i/hraqXjCXg7iNTg


Считаю, что установка работает некорректно, заменим код и запустим симуляцию:

https://disk.yandex.ru/i/9-yPXdda0aDVQg

  1. Подключение LED индикатора с TM1637

Собираем схему, представленную в методических указаниях:



Берем код:

#include "TM1637.h"   // Подключаем библиотеку для работы с модулем


int8_t DispMSG[] = {1, 2, 3, 4};   // Настройка символов для последующего вывода на дислей

//Определяем пины для подключения к плате Arduino

#define CLK 3

#define DIO 2

//Создаём объект класса TM1637, в качестве параметров

//передаём номера пинов подключения

TM1637 tm1637(CLK, DIO);

void setup()

{

  //Инициализация модуля

  tm1637.init();

  //Установка яркости горения сегментов

  /*

     BRIGHT_TYPICAL = 2 Средний

     BRIGHT_DARKEST = 0 Тёмный

     BRIGHTEST = 7      Яркий

  */

  tm1637.set(BRIGHT_TYPICAL);

}

void loop()

{

  //Задание на включение разделителя

  tm1637.point(true);

  //Выводим массив на дисплей

  tm1637.display(DispMSG);

  //Задержка

  delay(1000);

  //Задание на выключение разделителя

  tm1637.point(false);

  //Выводим массив на дисплей

  tm1637.display(DispMSG);

  //Задержка

  delay(1000);

}

Компилируем его и получаем ошибку (т.к. работа выполняется на симуляторе tinkercad). Компилятор не находит библиотеку. При дополнительном изучении проблемы, оказалось, что добавить свою библиотеку в tinkercad не представляется возможным. Единственным вариантом решения проблемы становится копирования кода из библиотеки. Но при реализации данного варианта, возникает еще больше ошибок, которые при удалении или исправлении вызывают другие ошибки.

  1. Подключение LCD 1602 (HD44780) к Arduino

Собираем схему:



Вставляем имеющийся код:



Запускаем симуляцию и получаем:

https://disk.yandex.ru/i/VXEHHZS5Dwh6mg

Создание собственных символов.

Вставляем имеющийся код:





Запускаем симуляцию и получаем:

https://disk.yandex.ru/i/dhGxMpG_GG-U9A



  1. Подключение LCD1602 по I2C к Ардуино

Собираем схему:



Вставляем код, имеющийся в методических указаниях, установка не работает. Не много изменяем код:



Запускаем компиляцию и получаем:

https://disk.yandex.ru/i/Finy1BsqhA77fA