Приветствую! У меня, как и у большинства мужчин есть небольшие проблемы с выбором подарков, дарю деньги либо то, что сам именинник пожелает. Тут у моей мамы был юбилей на носу, 60-летие. Я на тот момент вынашивал в голове идею хорошего подарка, это картина с имитацией жизни, то есть, в темноте на изображённом здании, в окнах рандомно должен зажигаться свет.
Вроде ничего сложного, заказать распечатку холста, купить ардуино и светодиодную ленту, но потом я решил, что картина должна быть ещё и полезной (нужно установить датчик CO2) чтобы картина сигнализировала, когда нужно проветривать помещение. Тем более во время коронавируса это важно делать.
Со временем я захотел ещё добавить пасхалку в картину (приложив ладонь в каком-то месте картины, должны мигать все окна разными цветами), этого можно было и не делать, но мне очень понравилась идея.
В интернете я нашёл красивую фотографию, автор Габриэль Пуйяна, если кому-то важно, она прям идеально подошла под мои требования. На фотографии изображены два здания, а между ними красивый закат или рассвет, кто как видит. Закат/рассвет будем подсвечивать, а в зданиях сделаем окна, которые в темноте будут включаться и там же где-то спрячем сенсор касания.

В итоге было решено, делаю картину с подсветкой, цвет которой зависит от содержания CO2 в воздухе, если в помещении, где висит эта картина темно — в зданиях, изображённых на холсте должен включаться и выключаться свет в окнах. И ко всему, в холсте нужно спрятать сенсор касания для пасхалки.
Процесс изготовления
Вот список всего необходимого:
- Холст 60х40 см.
- Картон (желательно найти тот, который не пропускает свет).
- Ватманы А2 — 5 шт.
- Прозрачные пластиковые папки формата А4 2 шт.
- Адресная светодиодная RGB-лента (мне хватило 34 светодиода).
- Arduino NANO.
- Датчик MQ-135.
- Фоторезистор.
- Сенсорный датчик TTP223 TOUCH KEY.
- Двусторонний скотч.
- Провод 5-жильный, 3 м.
- Паяльник, припой, канифоль (паяльная кислота намного упростит пайку, но это по желанию).
- Зарядное устройство.
- Mini USB кабель (зависит от разъёма в Arduino).
Всё брал с запасом на всякий случай, я даже умудрился во время изготовления спалить одну ардуинку.
Заказал распечатку на холсте 60х40 см с установкой на рамку.
Создание шаблона
Для начала я разделил ватман на две части и вставил во внутреннюю сторону холста. Холст приставил к окну и на ватмане во внутренней части виднелся рисунок, я перерисовал очертания и теперь у меня был шаблон изображения двух зданий на ватмане. Вырезаем так, чтобы у нас остались очертания этих зданий, они как раз не должны пропускать свет.
Чтобы проверить, всё ли правильно вырезано — прикладываем шаблоны к внутренней стороне холста и смотрим на лицевую часть картины через свет, все очертания шаблона должны совпадать с изображением на холсте.
Имитация окон
Это самая сложная часть, я трижды всё переделывал. Тут я просто представил, какие и в каком месте должны быть окна и повырезал каждое окно. Потом для каждого окна нужно сделать коробочку, в которой будем прятать светодиод. Вырезал коробочки, пронумеровал их, так как окна не были одинаковыми.
Приступаем к светодиодной ленте. Нужно отрезать каждый светодиод и припаять 6 пинов, 3 на вход и 3 на выход.
Важно! Адресная светодиодная лента имеет направление, возле каждого светодиода указана стрелка, это нужно учитывать при пайке, если спаять неправильно, светодиоды работать не будут.
В итоге у меня получилась гирлянда из проводов и коробочек. После проверки работоспособности этой гирлянды я приступил к поклейке окон к вырезанному шаблону.
Для проверки светодиодов я использовал этот скетч.
#define PIN 11 // пин DI #define NUM_LEDS 34 // число диодов #include "Adafruit_NeoPixel.h" Adafruit_NeoPixel strip = Adafruit_NeoPixel (NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800); void setup () { strip.begin (); strip.setBrightness(255); // яркость, от 0 до 255 strip.clear(); // очистить strip.show(); // отправить на ленту } void loop () { // заливаем белым for (int i = 0; i < NUM_LEDS; i++ ) { // всю ленту strip.setPixelColor (i, 0xffffff); strip.show(); // отправить на ленту delay (20); } delay (100); }
Очень важно! Для приклеивания коробочек со светодиодами к шаблону я использовал клей ПВА, это норм, но не используйте клей ПВА для склеивания больших участков картона. Из-за этой ошибки мне пришлось всё переделывать. После высыхания клея картон скручивается, важно этого не допускать, так как шаблоны с окнами должны быть максимально ровными, чтобы плотно прилегать к холсту.
Подсветка картины
Подсветка состоит из 7 светодиодов, их целой лентой приклеиваем по центру в нижней части рамки. Эта подсветка будет подключена к окнам картины, в целом у нас получится одна светодиодная лента на всей картине, а разделять её будем в скетче.
Я решил, что у картины будет 4 цвета подсветки:
- синий (свежий воздух);
- белый (свежий воздух);
- жёлтый (желательно проветрить помещение);
- красный (нужно проветрить помещение).
На каждом этапе работ проверяем работоспособность всех узлов, чтобы сразу находить и устранять неполадки.
Подсвечиваться должна только центральная часть холста и, чтобы не терять в яркости света, я сделал из картона отсек, внутри обклеил всё белой бумагой для отражения света, а на лицевую часть клеевым пистолетом приклеил прозрачный пластик (из прозрачной пластиковой папки). Этот отсек выполняет две функции:
- Не даёт распространяться свету дальше отсека.
- Прижимает изображённые балконы к холсту.
Изначально я приклеивал шаблоны к холсту на двусторонний скотч и это было моей ошибкой. Во-первых, двусторонний скотч плохо клеится к холсту. Во-вторых, трудно с первого раза всё ровно приклеить. Поэтому все внутренности просто прижимаются к холсту и при необходимости их можно снять.
Датчик CO2
В задней части холста, с одной стороны, снизу доверху должно быть пустое пространство для циркуляции воздуха. MQ-135 во время работы немного нагревается, от этого тёплый воздух подымается, создавая циркуляцию. Сам датчик я спрятал в картонке, так как у него есть светодиод, а нам не нужно подсвечивать заднюю часть картины.
Пасхалка
Тут всё просто, сенсорную кнопку нужно приклеить на двусторонний скотч в удобном для вас месте с внутренней стороны холста. Я выбрал большое пустое место на картине.
Завершение
В итоге заднюю стенку я закрыл картоном. Сделал небольшие углубления для хранения блока и кабеля питания. Эта картонная стенка прижимается между рамками.

По итогу всех работ несколько дней картина была включённой для проверки перехода цветов подсветки и включения окон в ночное время. Было несколько доработок в коде скетча.
Схема подключения электроники
Важно! Все голые контакты закрывайте чем-то (скотчем, например). Я не придерживался этого правила и случайно замкнул пины на включённом ардуино 5V и GND, в итоге пришлось покупать новый микроконтроллер.
К информационному пину адресной ленты нужно подключить резистор, в противном случае большая вероятность спалить пин на Arduino.
Скетч
Тоже важная часть проекта, код я писал с нуля, а так как я неспециалист в программировании, мне помогала моя девушка, она изучала C++ в университете.
Скетч писался под нужные задачи и не претендует на правильность, возможно программисты будут делать фэйспалм, но мы делали как могли и главное, что всё работает.
Код получился очень длинным, поэтому я загрузил файл на Google диск, в комментариях кода я постарался указать, что за что отвечает.
Для понимания, что в коде написано: вначале мы проверяем показатели датчика газа, если значения от 0 до 30 — включаем синий цвет, от 31 до 150 — белый свет, от 151 до 300 — жёлтый свет, от 301 до бесконечности — красный. В каждом цвете прописаны циклы для плавного перехода цветов и в этих же циклах делаем проверку на нажатие сенсорной кнопки (если нажата, рандомно включаем и выключаем разные цвета на всех светодиодах). В завершение, в каждом цикле проверяем фоторезистор, если его показатели ниже 200 (темно) — хаотично включаем и выключаем окна.
Итог
Вид в темноте шикарен, жаль фотография этого не передаёт.
Окна включаются и выключаются хаотично с длинной задержкой, думаю, имитация жизни в картине успешна.



Результатом очень доволен, всё работает как надо, получилось даже лучше, чем я себе представлял. Мама была довольна подарком, все гости интересовались картиной, а когда я прикладывал ладонь к картине и окна в ней начинали мигать, это вызывало много эмоций.
Стоит ли этот подарок потраченных сил и времени? Конечно! Я намерен ещё такие картины делать, это лучший подарок, сделанный своими руками и относительно недорогостоящий.
Спасибо за внимание! Если возникнут вопросы — пишите в комментарии, буду рад помочь.
Интересная статья. Не знал, что живая картина так делается. Пошел пробовать
Это шедевр! И ещё своими руками 🔥
Вау, крутая идея! Спасибо большое!
Это самый крутая задумка и воплощение своими руками, которые я когда-либо видела! Вот, что значит талант, креатив и руки из правильного места )
Спасибо Полина)
Прекрасная идея! Интересно, а женщина справится?
Здравствуйте Юлия! Думаю да, главное всё делать по инструкции.
Нужно срочно подключать мужа!
Шикарная идея и для подарка, и для декорации собственной комнаты. Для умелых рук.
Отличная работа! Всегда удивляют люди которые в силах такое придумать! Я б купила такую себе
Замечательная идея! Но такое изготовить я все равно не смогу! Хотя завидки берут!
Это отличная идея. Имитация жизни на картине. Здорово! Спасибо, попробую скопировать идею!