# DiLight

### Простой светильник с плавным включением и выключением света с датчиком расстояния vl53l0x от ST на базе STM32G030

[Код main()](/firmware/Core/Src/main.c)

[Драйвер vl53l0x](/firmware/Drivers/vl53l0x/)

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

Светильник включается если человек (или что-то другое) приближается на растояние, установленное при конфигурировании и выключается как только человек удаляется на расстояние большее, чем рысстояние выключения.
Тап по кнопке включает/выключает светильник. Мри включении вручную, светильник не реагирует на человека.


[Схема rev.2.0](/kicad/rev.2.0/DiLight_2.0.pdf)

[Интерактивный BOM-лист](/kicad/rev.2.0/bom/)

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

#### Фото реального устройства:

![photo 1](/renders/photo1.jpg)
![photo 2](/renders/photo2.jpg)

#### Видео с демонстрацией работы:

(кликнуть по изображению - ссылка на YouTube)

[![YouTube video](http://img.youtube.com/vi/1dccDMPywVc/0.jpg)](http://www.youtube.com/watch?v=1dccDMPywVc)


#### TODO:

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


#### История:

rev.2.0a:
- Исправлена маркировка +/- для терминала LEDs

rev.2.0:
- Уменьшен размер платы
- Использован менее мощный MOSFET в корпусе SOT-23
- Убраны ограничивающие резисторы с разъемов
- Убрана разводка UART на разъем программирования
- Только один терминал для подключения ленты
- Плата с корпусом теперь надевается на профиль для ленты. Не нужно разрезать профиль.

rev.1.1
- винтовой терминал вместо "бочко-разъема" для шнура питания
- MOSFET вместо диода в качестве защиты от обратной полярности питания

#### Рендер платы:
rev.2.0a:
![PCB1 rev.2.0a](/renders/PCB1_2.0a.png)
![PCB2 rev.2.0a](/renders/PCB2_2.0a.png)


rev.2.0:
![PCB1 rev.2.0](/renders/PCB1_2.0.png)
![PCB2 rev.2.0](/renders/PCB2_2.0.png)

rev.1.1:
![PCB1 rev.1.1](/renders/PCB1_1.1.png)
![PCB2 rev.1.1](/renders/PCB2_1.1.png)

#### Рендер устройства:
![render1](/renders/DiLight_rev.2.0_2022-Nov-30_01-59-54AM-000_CustomizedView22145495987.png)
![render2](/renders/DiLight_2022-Aug-26_03-22-06PM-000_CustomizedView20665969842.png)
![render3](/renders/DiLight_2022-Aug-26_02-45-06PM-000_CustomizedView16817278455.png)
![render4](/renders/DiLight_2022-Aug-26_02-08-49PM-000_CustomizedView16817278455.png)

#### Промежуточные фото платы (флюс не отмыт :) )
![Photo21](/renders/pcb2.0_photo1.jpg)
![Photo22](/renders/pcb2.0_photo2.jpg)
![Photo23](/renders/pcb2.0_photo3.jpg)
![Photo1](/renders/01.jpg)
![Photo2](/renders/02.jpg)
