Художественный проект по витражам и электронике для курса Creative Embedded Systems профессора Марка Сантолучито (COMS 3930) весной 2022 г.

Документация: https://github.com/sedona-thomas/Rainbow-Sunset

Обзор

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

Как это работает

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

Проектирование корпуса

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

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

Разработка кода

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

Проблемы

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

Я столкнулся со многими проблемами с областью видимости. Например, когда я попытался создать класс для обработки датчика DHT, я запустил метод чтения внутри метода JSON, но понял, что возникла проблема с областью действия при обновлении температуры и влажности. Как только я вызвал метод чтения вне класса во время выполнения, он обновился должным образом. У меня также была аналогичная проблема с библиотекой Neopixel, требующей, чтобы переменная Neopixel была глобальной переменной.

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

Заключительные мысли

Когда я начинал этот проект, я просто хотел научиться делать витражи, но на протяжении всего проекта я понял, что изучил все инструменты, необходимые для того, чтобы стать суперпользователем в Columbia Makerspace, и что витраж был моим последним дополнительным инструментом. . На протяжении всего семестра весь класс предпочитал Центр дизайна Барнарда за его доброжелательное отношение к студентам, которые хотят освоить новые навыки, и класс чувствовал себя нежеланным или неудобным в Columbia Makerspace. Несмотря на большое разнообразие инструментов и материалов, Columbia Makerspace ориентирована на предоставление пространства, ориентированного на студентов технических специальностей. Из-за этого я решил взять то, чему научился за семестр, и подать заявку на статус суперпользователя в Columbia Makerspace. Хотя в Design Center и Makerspace есть много дублирующих друг друга инструментов, каждый из них имеет свой собственный набор уникальных инструментов и материалов, которыми все учащиеся должны чувствовать себя комфортно.

Как и положено художественному произведению, вдохновленному радужным флагом гордости, этот проект позволил мне показать пример, чтобы помочь сделать Columbia Makerspace более гостеприимным местом для моих коллег-женщин, изучающих STEM и ЛГБТК+, а также для других недостаточно представленных студентов в этих видах пространства.

Выражаем особую благодарность профессору Марку Сантолучито и сотрудникам Центра дизайна Барнарда и Columbia Makerspace за всю их помощь!!!