В среде Arduino, как и во многих других, используется несколько интерфейсов связи для подключения измерительных и исполнительных устройств. Настройки работы интерфейсов осуществляются как встроенными библиотеками, так и вручную. От правильности настройки интерфейсов связи, адресации устройств, определения ролей зависит корректность работы всей архитектуры АСУ ТП.
В результате выполнения этого задания вы сможете:
- подключить несколько ведомых устройств по интерфейсу I2C к одному ведущему;
- настроить независимую передачу данных на ведомые устройства.
Для выполнения задания нужно пройти по ссылке на страницу создания нового проекта для платы Arduino Uno.
- Подключите в симуляторе к плате Arduino требуемые устройства и настройте их, если нужно.
- Напишите код, обеспечивающий требуемый функционал устройств.
- Проверьте корректность работы проекта.
- Для проверки домашнего задания отправьте ссылку на сайт-симулятор с вашим рабочим проектом в личном кабинете.
- Любые вопросы по решению задач задавайте в чате учебной группы.
Подсказка, как сохранить проект и получить уникальную ссылку (доступна по клику).
- Нажмите «Save a copy» — выпадающий список рядом с кнопкой «Save» и с дискетой.
- Ваш проект будет сохранён, как новый, а в адресной строке браузера будет строка вида https://wokwi.com/projects/335536327066911316 (пример).
- Важно, чтобы у адресной строки был адрес с множеством цифр на конце.
- Теперь сохранение изменений в текущем проекте можно производить нажатием на кнопку «Save». Сохранить текущий проект, как новый, можно только через «Save a copy».
- Перед отправкой ссылки на проект преподавателю не забудьте проверить, что ссылка работает, открыв её в новом окне браузера.
- Справочный материал по командам Arduino.
- Справочник по языку Wiring/С для Arduino.
- Страница создания проекта для платы Arduino Uno.
- Описание библиотеки LCD.
- Wiki-страница LCD.
- Wiki-страница датчика NTC.
В эмуляторе Wokwi, используя микроконтроллер платы Arduino Uno:
- Произведите подключение двух дисплеев LCD 16x2 (I2C) по интерфейсу I2C.
- Настройте уникальные адреса I2C для дисплеев вида (0xXX) в diagram.json, атрибут ("i2c-address": "0xXX") (по умолчанию адрес 0x27).
- Подключите аналоговый датчик температуры NTC.
- Напишите код программы, используя wiki-страницу дисплея или пример ниже.
- На первом дисплее нужно отобразить любой текст на ваш выбор — можно написать «HELLO WORLD».
- На второй дисплей выведите показания датчика температуры.
Пример кода программы.
#include <LiquidCrystal_I2C.h> // подключение библиотеки
LiquidCrystal_I2C lcd(0x27,20,4); // объявить имя дисплея (lcd) установить адрес ведомого дисплея(0x27) , настройки размеров индикации (столбцы и строки)
void setup()
{
}
void loop()
{
lcd.init(); // инициализация дисплея
// Print a message to the LCD.
lcd.setCursor(0,0); // установка курсора на определённую позицию
lcd.print("0"); // передача данных на дисплей
}
Отправлена ссылка на проект в эмуляторе в личном кабинете.
Зачёт ставится, если созданный проект соответствует критериям:
- Устройства подключены и функционируют согласно требованиям задания.
- Допускается использование встроенных библиотек и дополнительных устройств.
Работа направляется на доработку, если задание выполнено частично или не выполнено.