Необходимо войти или зарегистрироваться

Авторизация

Введите логин, email или номер телефона, начинающийся с символа «+»
Забыли пароль? Регистрация

Новый пароль

Авторизация

Восстановление пароля

Авторизация

Регистрация

Выберите, пожалуйста, ник на пикабу
Номер будет виден только вам.
Отправка смс бесплатна
У меня уже есть аккаунт с ником Отменить привязку?

Регистрация

Номер будет виден только вам.
Отправка смс бесплатна
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
Авторизация

Пост

Пост

"Умное" освещение на базе сенсора освещенности и расстояния APDS-9930. Часть 1, "железо".

nstorm в Arduino & Pi

Пост не совсем про Arduino, но про домашнюю поделку на микроконтроллере AVR. Об "умной" подсветке, которая включается только при открытии ящика и когда кругом темно.


Захотел я сделать в шкафу, да выдвижных ящиках комода себе подсветку. С утра собираюсь, в комнате темно, жена спит, дочь спит. Подсвечивать телефоном, чтобы найти шмотки задолбало. Тянуть провода для питания тоже не хотелось, надо было что-то на аккуме.
Взял LED модуль готовый. На Али такие COB LED называются, очень много разных вариантов, взял такой (83 рубля):

"Умное" освещение на базе сенсора освещенности и расстояния APDS-9930. Часть 1, "железо". Avr, Микроконтроллеры, Умный дом, Подсветка, Самоделки, Автоматизация, Длиннопост

Взял повышающий DC-DC преобразователь на MT3608 ($0.40):

"Умное" освещение на базе сенсора освещенности и расстояния APDS-9930. Часть 1, "железо". Avr, Микроконтроллеры, Умный дом, Подсветка, Самоделки, Автоматизация, Длиннопост

И из загашников у себя кнопку фиксируемую и акк Li-Ion на 500мАч. Всё прекрасно заработало и за пару месяцев редких включений акк просел чуть ниже половины заряда.
А дальше соб-но захотелось придать этому ума, чтобы не клацать кнопкой самому. Можно просто поставить геркон и свет будет включаться при открытии шкафа/выдвигании ящика. Но не охота, чтобы он включался, когда в комнате горит основной свет - батарею тратить почем зря. Поэтому берем датчик освещенности и расстояния (Proxmity & Ambient Light Sensor), такие, как стоят в телефонах. Недорогие и доступные на Али модули на базе APDS-9930, вот такие (60 рублей):

"Умное" освещение на базе сенсора освещенности и расстояния APDS-9930. Часть 1, "железо". Avr, Микроконтроллеры, Умный дом, Подсветка, Самоделки, Автоматизация, Длиннопост

Датчик цифровой, работает по I2C. На датчике ИК-светодиод и 2 фотодиода - один измеряет ИК диапазон, другой ИК + видимый спектр света. С помощью них датчик умеет измерять расстояние до объекта, посылая ИК импульсы и замеряя их отражение. И уровень освещенности фотодиодами (вычитаем из общей освещенности вместе с ИК отдельные показания ИК фотодиода). Далее расстояние - PS (proximity sensor), освещенность - ALS (ambient light sensor).
И приятная штука - прерывания. Датчик можно настроить так, чтобы при выходе определенных параметров PS или ALS выше или ниже заданного нами значения он "дернет ножкой" INT. Тем самым МК настроив датчик может уйти в сон (режим пониженного энергопотребления). плюс есть настройка PERS, которая отвечает за то, сколько раз подряд считанное значение должно выйти за границы заданных значений, чтобы сработало прерывание, чтобы исключить ложные срабатывания.
На модуле есть сам датчик и минимальная обвязка для него, включая конденсатор для ИК-светодиода и подтяжки линий.
Беру из загашников мелкие букашки - контроллеры ATTiny10 (фото из инета):

"Умное" освещение на базе сенсора освещенности и расстояния APDS-9930. Часть 1, "железо". Avr, Микроконтроллеры, Умный дом, Подсветка, Самоделки, Автоматизация, Длиннопост

Я покупал их под всякие мелкие задачи в довесок с заказом на DigiKey, но они есть и на Али. Я брал по $0.31 за штучку.
Контроллер может питаться от батарейки напрямую, но для APDS-9930 нужна напруга не выше 3.6В, поэтому берем стаб LDO на 2.7-3.3В. Я взял TPS78330, но можно что проще и дешевле достать, вроде XC6206P302MR. Контроллер и сенсор запитываем от LDO. LED модуль по прежнему от DC-DC модуля. Чтобы иметь возможность выключать свет, в разрыв входного минуса модуля ставим N-канальный MOSFET. Я взял IRLML6244TRPBF (пачка 100 шт на Али около $1). Минусовой выход DC-DC ес-но соединяется только с LED модулем, он общий с входным, мы его будем размыкать. Короче примерно такая схема:

"Умное" освещение на базе сенсора освещенности и расстояния APDS-9930. Часть 1, "железо". Avr, Микроконтроллеры, Умный дом, Подсветка, Самоделки, Автоматизация, Длиннопост

На схеме U3 - LDO MCP1810T стоит, это я задел на плату поставил.
Далее я написал прошивку для ATTiny10, которая это всё контролирует: https://github.com/N-Storm/autolight

О прошивке напишу в следующей части, много для одного поста. Там была отдельная возня.
Собрал это всё кое-как по-уродски на макетке:

"Умное" освещение на базе сенсора освещенности и расстояния APDS-9930. Часть 1, "железо". Avr, Микроконтроллеры, Умный дом, Подсветка, Самоделки, Автоматизация, Длиннопост

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


Всё работает. Датчик отрабатывает как положено. При запуске он инициализирует сенсор и ждет. Сенсор заводится проверять расстояние каждые 202 мс. Как только расстояние увеличивается выше порога (3 раза подряд через PERS, чтобы не было ложных срабатываний) - значит дверца открыта. Проверяем уровень внешнего освещения. Если оно ниже порога - подаем высокий уровень уровень на PB3 (затвор мосфета), тем самым включая подсветку. Как только расстояние до препятствия сенсора опять станет ниже порога - значит дверца закрыта, свет выключается и снова МК уходит в сон, "заведя" датчик опять выстрелить прерыванием когда снова откроется дверца.

Есть один нюанс. МК всего 6 ног имеет, 2 из которых - питание, 2 мы используем под I2C, 1 под прерывание и еще 1 нужна для управления подсветкой. Т.е. задействованы все, включая ножку сброса. После прошивки FUSE битов, обычным образом прошить МК нельзя будет, т.к. сброс отключен. Но можно просто подать +12В на ножку RESET (не подключая это дело к программатору ес-но!) и он снова войдет в режим программирования.


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

Аватар сообщества "Arduino & Pi"
564 поста 13 018 подписчиков
40 комментариев
Аватар пользователя 9ndeX 9ndeX
+5

Тыж от нехер делать это сваял? Да?

Иллюстрация к комментарию
+5
раскрыть ветку 3
nstorm
+3

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

+3
Maratenok
0

Ссылку не дадите?

0
раскрыть ветку 1
guestl
+2
Не проще ли как в холодильнике кнопку на тыльную сторону ящика и датчик освещенности?
+2
раскрыть ветку 4
nstorm
-1

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

-1
раскрыть ветку 3
guestl
+3
Кнопка дороже датчика? Ну ок.
+3
раскрыть ветку 2
Аватар пользователя ImproverX ImproverX
0

А можно вопрос, где покупал переходные панельки для sot23-6? Я на али смог найти только на 10 выводов...

0
раскрыть ветку 2
nstorm
+1

Сам нарисовал и заказал ) Вот: https://PCBs.io/share/rNVLG

+1
раскрыть ветку 1
Аватар пользователя ImproverX ImproverX
+1

Спасибо.

+1
Аватар пользователя simq simq
0

Я взял IRLML6244TRPBF (пачка 100 шт на Али около $1)

интересно почитать на чём и что нынче делают, но кажется всё же $10 ?

0
раскрыть ветку 3
nstorm
+1

Ну я именно за 1 доллар брал (см. скрин). Сейчас правда глянул, нет такого лота уже, и самый дешевый $2 стоит.

Иллюстрация к комментарию
+1
раскрыть ветку 2
Аватар пользователя simq simq
+1

Oopps... ваша правда, каким то образом смотрел IRLML6244, они подороже

+1
раскрыть ветку 1
SonnDrake
0

а если залипнуть в ящик датчик не посчитает твое тело закрытой дверцей?

0
раскрыть ветку 1
nstorm
0

Я на ящике на торец боковой перекладины датчик повесил. Сбоку не лезешь в ящик обычно. Но конечно если рукой или чем прикрыть датчик, свет выключится. Руку уберешь - опять включится. Чудеса )

0
Johnie
0

А не проще было все же протащить провода и не париться на тему освещенности? 6 Вт не такая большая мощность, чтобы экономить, пусть бы включалось каждый раз при открытии ящика. Еще и аккум не надо подзаряжать. Но за тему плюс, тоже надо подумать про свет в шкафах, пока ремонт идет и можно провода кинуть.

0
раскрыть ветку 1
nstorm
+2

Не хочу провода, далеко от розетки, занимать розетку под БП, делать отверстия в ящиках и шкафу и т.д.

АКБ поставил на 2000 мАч сейчас, по прикидкам заряжать его надо будет не чаще, чем раз в пол года - вообще не сложно.

+2
Koldoon
0
Жду про прошивку) Все хочу научиться, но не хватает усидчивости.
0
раскрыть ветку 1
nstorm
+1

https://m.pikabu.ru/story/umnoe_osveshchenie_na_baze_sensora... как-то примерно так вкратце написал про код прошивки.

+1
Аватар пользователя DronLaN DronLaN
0

Идея очень интересна. Взял на вооружение.

0
dmitry203
-1
Зачем)
Иллюстрация к комментарию
-1
раскрыть ветку 1
nstorm
0

Вы уже 4ый, кто пишет про подобное. Это тупо PIR датчик. Почитайте же пост. Написано же, мне не датчик движения или открытия нужен просто, а еще и датчик освещенности. И не такие убогенькие 4 светодиодика

0
Аватар пользователя olegsvoy olegsvoy
-2
В детстве увлекался радиотехникой. Хотелось бы ребенку азы показать но радиодетали больше не продаются как раньше. А жаль. Электроконструкторы доверия не внушают.
-2
раскрыть ветку 14
Аватар пользователя chabanool chabanool
+3
Ну не надо... Сегодня наоборот, огромная база деталей и компонентов, причем с возможностью доставки на почту села Зажопинска. Это раньше в областные центры за радиодеталями ездили.
+3
Michael74Rus
+3
В крупных детских магазинах есть электронные конструкторы, там и паять не нужно, и микроконтроллеров нет
+3
раскрыть ветку 1
322222222
+1

И в некоторых микроконнтроллеры есть!

+1
nstorm
+3

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

+3
раскрыть ветку 10
Itup
+2

50 рублей. У меня на трёх батарейках висит, с датчиком движения. Стоил тоже недорого, батарей хватает на несколько лет.

Иллюстрация к комментарию
+2
раскрыть ветку 9
Похожие посты
Похожие посты закончились. Возможно, вас заинтересуют другие посты по тегам: