Создание световых часов

в 11:39, , рубрики: arduino, diy или сделай сам, светодиоды, часы для гиков

Как правило, когда говорят о световых часах, многие представляют себе устройства, которые посредством тени указывают текущее время. Так было в древности на солнечных часах, так происходит и в современном мире, в проектах вроде того, что был на geektimes — Shadowplay.

Мне бы хотелось рассказать о проекте световых часов, которые используют для индикации времени не тень, а подсвеченные участки базовой поверхности, являющейся циферблатом. Идея родилась в процессе воркшопа, который проходил на базе магистратуры цифрового производства НИТУ «МИСиС» под руководством прекрасного и неповторимого профессора Jennifer Astwood University of Wisconsin-Stout. Целью его было создание лампы на светодиодах. Однако помимо освещения мне захотелось реализовать возможность отображать время. Так родился прототип (думаю, что не последний) моего устройства.

Создание световых часов - 1


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

Первым этапом была разработка дизаина устройства. Мне очень нравится фактура различных сортов дерева – дуб, бук, берёза. Выбор материала для основного циферблата не был для меня мучительным. Благо в любом леруа продают хорошие заготовки из торцованного клеёного бука под видом ступеней для лестниц. А общая геометрия диктовалась необходимостью разделить поверхность на 12 элементов. Решено было разметить плоскость циферблата расположив секцию каждого часа под своим углом, образовав таким образом грани. Углы граней указывают на конкретный час. Треугольник между гранями – сегмент времени кратный 12. Для понятного отображения времени пришлось задействовать два цвета – белый показывает минуты (по сути сегмент времени кратный 5-ти минутам), зелёный – часы (из – за подсветки именно сегмента между гранями считаем что подсвечивается текущий час). Таким образом, на фото в заглавии топика время на часах где-то 14.50 – 14.55.

Стоит отметить, что благодаря фаблабу МИСиС есть возможность пользоваться большим количеством фрезерных и лазерных станков, а так же 3D принтерами.

Процесс создания поверхности:

PJYr1ZmnEBU.jpg


Этап черновой фрезеровки на портальном трёх осевом фрезерном станке.

1bNSiC9E8_M.jpg


По получившейся геометрии была разработана светодиодная плата таким образом, что бы свет от светодиодов попадал на биссектрису угла сектора времени. Были использованы светодиоды типоразмера 2835 по 2 штуки на каждый цвет и час. Плату гравировал так же на фрезерном станке. Для меня это был первый опыт разводки и производства плат, так что вышло не совсем качественно и аккуратно, но свою функцию в дальнейшем плата выполняет успешно. Вся плата расчитана на smd монтаж, однако в доступе у меня небыло паяльной пасты и всю плату я собирал паяльником. К концу монтажа уже приноровился ставить элементы довольно аккуратно, но общую картину это не сильно улучшило.

2iyjIkep-7g.jpg


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

P6UQKVPGHiU.jpg


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

Af0J99zUzTg.jpg

int ledW[] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 2};
int ledG[] = {22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44};

 
void setup()
{

  for (int i=0; i <= 11; i++){
  pinMode(ledW[i], OUTPUT);
  pinMode(ledG[i], OUTPUT);
}

}
 
void loop()
{
  for (int j=0; j <= 11; j++){
    digitalWrite(ledG[j], HIGH);
  
      for (int i=0; i <= 11; i++){
      analogWrite(ledW[i], 67);
      delay(100);
      analogWrite(ledW[i], 130);
      delay(100);
      analogWrite(ledW[i], 200);
      delay(4800);
      analogWrite(ledW[i], 0);
     }   
  digitalWrite(ledG[j], LOW);
  }
}

Результатом сборки и настройки являются часы представленные в заголовке темы. Демонстрация их работы представлена на видео. Режим работы именно демонстрационный — ускоренный, чтоб показать как бегает свет по полю циферблата. В реальной работе приходится ждать по 5 минут для смены участка подсветки.

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

Автор: mrChester

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js