Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Искусственное освещение свечей, управляемое Arduino

Компоненты и расходные материалы

Светодиод SparkFun - SMD RGB (WS2812)
Я разместил светодиоды в модулях по 4, и мне понадобилось 11 модулей
× 44
Arduino Nano R3
× 1
Фоторезистор
× 1
Кабельный канал IKEA "MONTERA"
× 2
Мужской заголовок 40, позиция 1, строка (0,1 ")
× 7
Соединитель провод-плата M20-1060300, M20-1 Серия, обжим, розетка, 3, 2,54 мм
Вам нужно 2 на светодиодный модуль (из 4 светодиодов) (и, возможно, пара дополнительных)
× 25
M20-1180046 Контакт, серия M20, гнездо, обжим, 22 AWG, оловянные контакты, обжимной корпус с внутренней резьбой серии M20
Вам нужно 6 на светодиодный модуль, но их поставляется в упаковке по 100 штук, поэтому одного пакета может быть достаточно
× 1

Необходимые инструменты и машины

Паяльник (универсальный)

Об этом проекте

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

Для нетерпеливых людей (которые не хотят прокручивать страницу вниз, чтобы найти видео) вот результат:

... и рождественская версия:

А теперь вернемся к истории:

Но создание реалистичного искусственного пламени Это непростая задача, поэтому моя идея заключалась в том, чтобы расположить источники света таким образом, чтобы вы не видели «пламя» напрямую, а только излучаемый им свет, танцующий на стене.

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

Подготовка и планирование

Поскольку я хотел иметь возможность управлять каждой «свечой» индивидуально, выбор светодиодной лампы был легким; Очевидно, это должен быть набор светодиодных модулей на основе WS2812, поэтому я заказал 100 отдельных светодиодов.

Как вы можете видеть на картинке выше, каждый светодиод имеет шесть подключений и направление . отмечен стрелкой на обратной стороне.

Два соединения помечены как 5V . , два - GND а затем есть Din (Data In) и Dout (Данные отсутствуют). Два подключены, как и два GND с. Итак, на практике существует четыре соединения; 5 В , GND , Din и Dout .

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

Однако, если бы мне пришлось сделать это снова, я бы заказал набор модулей 2 на 2 светодиода, чтобы упростить сборку.

Контроллер не должен быть очень продвинутым, и я предполагал, что Arduino Nano хватит.

Размещение Arduino не было очевидным. В конце концов, я решил разместить его на самой горизонтальной балке, за толстой колонной, которая видна на первой фотографии выше (далеко слева). Столб ставится в углу комнаты, где встречаются две стеклянные стены (из которых «правая» стена показана на фото). Таким образом, я мог разместить светодиоды на двух параллельных гирляндах - по одному на каждую стену - чтобы минимизировать физическую длину каждой струны. Теперь общая длина каждой струны будет около 4 метров (13 футов) вместо того, чтобы иметь удвоенную длину.

Здесь действительно хорошо было прочитано «Убер-гид Adafruit NeoPixel»; Если вы планируете поиграть со светодиодными модулями WS2812, обязательно прочтите это! Например, он сказал мне, почему нужно ограничивать физическую длину проводов.

Скрытие кабелей ...

... в моем случае это было не так сложно, поскольку светодиоды должны были быть размещены на нижней стороне горизонтального луча. Я поискал дешевый кабельный канал и нашел его в IKEA (не могу сказать, иронично это или очевидно, поскольку он из Швеции).

Сами светодиодные модули просто приклеивались прочной двусторонней липкой лентой.

Создание светодиодных модулей

Поскольку я не хотел спаять все это вместе на одной полной струне (я представил замятие кабеля, с которым я столкнусь, пытаясь установить вещь на нижней стороне балки), я решил построить светодиодные модули с <сильные> соединители для кабелей.

Светодиодные модули должны были быть размещены рядом с вертикальными лучами, чтобы от них отражалось как можно больше света. Я также хотел, чтобы кабель проходил близко к лучу, и мне нужно было учитывать направление светодиодов. Это привело (без каламбура) к тому, что у меня было две версии модуля; одна установка, размещенная на строке, идущей вправо от Arduino и один идущий влево .

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

Поскольку светодиоды довольно маленькие, около 9 миллиметров в диаметре (3/8 дюйма), их было нелегко припаять; и, учитывая отсутствие у меня опыта пайки, результат был не таким приятным и красивым. Но это сработало.

Пайка

Перед пайкой отрезал светодиодный модуль 2 на 2 от исходных секций 2 на 5. Затем я покрасил один конец в красный, а другой в черный, чтобы отметить стороны, близкие к 5V и GND (во избежание глупых ошибок).

Шаг 1 Первое упражнение по пайке заключалось в том, чтобы нанести «каплю» припоя на крошечный металлический островок каждого светодиода.

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

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

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

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

Уловка с коротким тросом

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

Потом я понял этот (очевидный) трюк:

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

2. Сдвиньте немного изоляцию вниз.

3. Отрежьте желаемую длину от освобожденного утеплителя.

4. Сдвиньте изоляцию назад, обнажив жилу на свободном конце. Тадаа!

Таким образом можно было создать точную длину оголенной жилы кабеля и получить довольно хороший результат:

Доработка светодиодных модулей

В конце концов, светодиодные модули должны быть прикреплены к балке перевернутой стороной вниз, так что припаянная, заполненная кабелем задняя сторона должна быть подготовлена ​​для удержания липкой ленты.

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

Вот все полные модули! Ура!

(На этом этапе было жизненно важно иметь на них какую-то маркировку, чтобы отделить те, которые идут налево, от тех, которые идут направо!)

Полные модули были легко прикреплены с помощью прочной липкой ленты на их теперь плоские задние стороны.

Изготовление кабелей

К счастью, у меня был сверток старого телефонного удлинителя. У этого кабеля было четыре отдельных провода, чего было более чем достаточно, так как мне нужно было три провода (5 В, заземление и данные).

Установить розетки без специального обжимного инструмента было не так просто, но вполне выполнимо.

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

Вот как выглядел окончательно смонтированный модуль:

Автоматическая активация и деактивация

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

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

На графике ниже красная кривая представляет аналоговые показания фоторезистора при его изменении в течение дня (не фактическое значение ниже, а только мой рисунок от руки). Две слабые горизонтальные линии отмечают два уровня; верхний предел, где «дневной свет» переходит в «сумерки», а нижний - предел, когда «сумерки» сменяются «тьмой». Итак, когда красная кривая находится выше верхней горизонтальной линии, я считаю, что это ДЕНЬ, а когда она ниже нижней, это НОЧЬ.

Зеленая более прямая линия - это «очищенное» измерение дневного света, т. Е. Минимум (0,0) в ночное время и максимум (1,0) в течение дня и линейный наклон в сумерках.

Чтобы узнать фактические аналоговые показания, я подключил четыре фоторезистора к Arduino вместе с ЖК-экраном, чтобы показать текущие, минимальные и максимальные значения четырех резисторов. Я использовал четыре, потому что не знал, есть ли у меня плохой, поэтому, если у большинства из них будет примерно такое же чтение, я знал, что они будут работать. Очевидно, я поместил устройство в то же место, где в конечном итоге должен был управлять светодиодами Arduino. Вот как это выглядело:

Поскольку размер ЖК-дисплея довольно ограничен, я показывал показания одного фоторезистора за раз в течение примерно пяти секунд. Затем в течение дня я время от времени приходил и записывал числа на листке бумаги. (Очевидно, я мог бы оставить его подключенным к моему ноутбуку и отправить номера по последовательному соединению, но мне нужен был ноутбук в течение дня, и я не хотел сидеть в атриуме весь день).

В итоге я решил, что ниже «630» темно, а выше «800» светло. Но эти числа, очевидно, подходят моему фоторезистору вместе с резистором 10 кОм, который я использовал последовательно, так что это не абсолютная правда.

Исходный код Arduino

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

Главный .ino -файл остается очень маленьким. Я просто запускаю все это и вызываю Update () на паре вспомогательных классов (что, в свою очередь, помогает).

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

Код

Освещение атриума
Весь исходный код для Arduino https://github.com/emmellsoft/AtriumLighting

Схема

2drkW5vm9e7vAdGPxOsm.fzz

Производственный процесс

  1. Робот Raspberry Pi, управляемый через Bluetooth
  2. Радиоуправляемая машина с джойстиком
  3. Arduino с Bluetooth для управления светодиодом!
  4. Роботизированная рука, управляемая нунчук (с Arduino)
  5. Робот, управляемый речью
  6. Четвероногий Arduino
  7. Робот-пианино, управляемый Arduino:PiBot
  8. Цветовой микшер Arduino RGB
  9. Сделай сам Arduino РАДИОНИКА Лечение MMachine
  10. Светодиодный уличный светодиод DMX RGB