Найти тему
VoltStrimLab

Сделай сам. Фоторезистор управляет светом. Программируем в XOD

Оглавление

Привет, друзья!

В предыдущей статье мы с вами рассмотрели схему подключения фоторезистора к светодиодам для поэтапного включения светодиодов в зависимости от освещенности.

Схема подключения к Ардуино

В программном коде мы задействовали подключение только один светодиод, а их в схеме три.

Схема подключения фоторезистора
Схема подключения фоторезистора

Поэтому в этой статье рассмотрим подключение ещё двух и и способы управления светодиодами фоторезистором, а программировать будем при помощи программы XOD.

XOD – программа без написания скриптов

XOD это специальная программа для визуального программирования микроконтроллеров типа Ардуино и взаимодействия их с человеком по средствам специальных блоков, которые называются ноды.

Подробнее здесь...

Подобное программирование напоминает составление конструктора Лего и для тех кто не умеет программировать на языке С++ является прекрасной альтернативой. С данной программой знать С++ совсем не обязательно.

Итак, начнём с того на чём мы остановились в прошлый раз.

  • Мы соединили светодиоды с фоторезистором;
  • Подсоединили к плате Arduino Uno;
  • Научились добавлять и соединять ноды;
  • Компилировать код;
  • Научились управлять светодиодом увеличивая освещёность.

Добавим пару нодов и посмотрим, что происходит при взаимодействии освещения с фоторезистором и как на это реагирует светодиод. Для этого нужно составить компоненты (ноды) как на скриншоте или скачать прошлый проект от сюда.

Фоторезистор и светодиод в XOD
Фоторезистор и светодиод в XOD

Добавляем нод watch, кликнув дважды на пустой клетке поля и выбрав из выпадающего списка.

Nod Watch
Nod Watch

У него одна булавка для соединения, так как он является своего рода дисплей, счётчиком и предназначен для просмотра изменения данных.

Nod Watch подключен к фоторезистору
Nod Watch подключен к фоторезистору

Подключаем плату Ардуино к компьютеру и загружаем программу в режиме отладки, для этого нажимаем на символ жука в нижнем правом углу окна программы.

Режим отладки
Режим отладки

Меняем освещение, наблюдая в ноде Watch как меняются данные.

Изменения данных при разном освещении
Изменения данных при разном освещении

Зная эти данные можем повлиять на включение светодиода.

Добавляем новый элемент map-clip, присоединяем его как на скриншоте.

Добавляем нод map-clip
Добавляем нод map-clip

Выделив нод watch делаем клавишами многим знакомую комбинацию Ctrl+C и Ctrl+V. В рабочем поле должно встать второй нод watch, присоединяем его к map-clip, как на фото.

Добавляем ещё один watch
Добавляем ещё один watch

Зная данные с фоторезистора добавляем их в настройки map-clip, для этого выделяем его кликом мыши. Появиться меню в левом, нижнем углу программы, в нём и устанавливаем данные.

Настройка нода map-clip
Настройка нода map-clip

Так как нам нужно, чтобы светодиод загорался когда темно:

  • Smin - ставим максимальное значение фоторезистора 0,7;
  • Smax - минимальное значение фоторезистора 0,5;
  • Tmin - 0 светодиод не горит;
  • Tmax - 1 светодиод горит в полную мощность;

Запускаем режим отладки, экспериментируем с освещением, наблюдаем за изменениями на обоих нодах watch и за реакцией светодиода.

Светодиод подключенный к 10 пину при увеличении освещенности должен гаснуть и наоборот.

Теперь выделяем все объекты кроме фоторезистора и дважды повторяем комбинацию Ctrl+C и Ctrl+V. Подключаем и настраиваем ноды map-clip как на скриншоте ниже к элементам led подключаем соответствующие пины, думаю на фото всё понятно.

Готовая схема
Готовая схема

Запускаем в режиме отладки и настраиваем под свои потребности.

На этом сегодня всё, готовый файл проекта можно скачать здесь.

Пишите в комментариях, где можно применить данный алгоритм.

Читайте предыдущую статью:

XOD - Новый и простой язык общения с Ардуино

Спасибо, что дочитали статью до конца.

Надеюсь статья была вам полезна и интересна.

Понравилась статья, ставьте палец вверх.

Хотите следить за новостями, подписывайтесь на наш канал.

Впереди ещё много интересного!

Вы можете помочь проекту в развитии: