Изменяющее цвет при прикосновении растение с использованием Arduino и трехцветного светодиода


В этой статье мы рассмотрим создание реагирующего на прикосновения растения – оно будет изменять цвет в зависимости от прикосновений. Электронная часть нашего проекта будет реализована на основе платы Arduino. Я думаю, вы поняли, что при прикосновении будет меняться не цвет растения, а вазы, в которой оно установлено, но зрительно будет казаться, что и растение как бы меняет свой цвет. Ранее на нашем сайте мы рассматривали примерно похожий проект – генерация тонов движениями пальцев с помощью Arduino.

Внешний вид изменяющего цвет при прикосновении растения с использованием Arduino

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

Типы сенсорных датчиков

Сенсорные датчики (датчики касания) сейчас можно увидеть во многих устройствах. Они бывают двух типов – резистивные и емкостные. Тип датчика отражает принцип его работы.

Резистивные датчики касания. Их принцип действия основан на изменении сопротивления проводника. Во время касания датчика человеческим телом (пальцем) изменяется сопротивление проводника, что приводит к изменению напряжения в этой части схемы, которое и обнаруживается электронной схемой датчика.

Емкостные датчики касания. Наиболее распространенный в настоящее время тип датчиков касания. Способен обрабатывать несколько прикосновений (касаний) одновременно. Принцип их действия основан на изменении емкости элемента при прикосновении.

Как обнаружить прикосновение к растению?

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

Подключение электрода к растению

Необходимые компоненты

  1. Плата Arduino Uno (купить на AliExpress).
  2. Трехцветный светодиод с общим катодом (Common cathode RGB LED) (купить на AliExpress).
  3. Резистор 1 МОм (купить на AliExpress).
  4. Растение с вазой.
  5. Соединительные провода.
  6. Перфорированная плата.

Внешний вид необходимых для проекта компонентов показан на следующем рисунке.

Внешний вид необходимых для проекта компонентов

Схема проекта

Схема изменяющего цвет при прикосновении растения с использованием платы Arduino представлена на следующем рисунке. Схема нарисована с помощью симулятора EasyEDA.

Схема изменяющего цвет при прикосновении растения с использованием платы Arduino

В схеме необходимо подключить резистор сопротивлением 1 МОм между контактами 2 и 4 платы Arduino. Затем подсоединить длинный медный проводник к контакту 4 и к растению. Этот проводник будет выполнять роль датчика касания в нашем проекте. Трехцветный светодиод необходимо подключить к контактам D5, D6 и D7 платы Arduino. После окончательной сборки схемы у нас получилась конструкция следующего вида:

Внешний вид конструкции проекта

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

Внешний вид светодиодов, закрепленных в плате

Объяснение программы для Arduino

Полный код программы приведен в конце статьи, здесь же мы кратко рассмотрим его основные фрагменты.

Чтобы обнаруживать изменение емкости растения нам потребуется специальная библиотека Arduino для работы с емкостным датчиком касания. Скачать ее можно по следующей ссылке:

Download Arduino capacitive touch sensor library

После скачивания данной библиотеки и добавления ее в вашу Arduino IDE подключите ее заголовочный файл в программе. Эта библиотека помогает определять емкость контактов платы Arduino.

Мы подключили резистор 1 МОм между контактами 2 и 4, проводник к контакту 4 – на этом контакте нам и будет нужно измерять емкость, поэтому укажем контакты 2 и 4 в программе.

CapacitiveSensor переключает состояние контакта платы Arduino, то есть подает переключающий в новое состояние импульс на передающий контакт, а затем ждет когда приемный контакт переключится в это же самое состояние. Также в функции setup зададим режимы работы используемых контактов.

В функции loop мы с помощью функции digitalRead будем считывать состояние контакта 4 и сохранять его в переменной ‘r’.

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

После загрузки кода программы в плату Arduino поместите светодиоды под вашу вазу с растением. Мы использовали стеклянную вазу и у нас получился следующий вид всего нашего проекта:

Тестирование работы проекта

Как вы можете видеть, первоначально ваза освещается красным цветом, при касании растения цвет подсветки будет меняться. Для этого проекта желательно использовать растение, которому требуется много воды. Более подробно работу проекта вы можете посмотреть в видео, приведенном в конце статьи.

Исходный код программы (скетча)

Видео, демонстрирующее работу проекта

(1 голосов, оценка: 5,00 из 5)
Загрузка...
362 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *