Espruino:Примеры/Ночной светильник
Поддержать проект | Содержание | Резерв | Справочник по API | Модули | Примеры | Резерв | Резерв | Резерв | Резерв | Резерв |
Содержание
Ночной светильник[1]
В этом руководстве мы сделаем простой ночной светильник, который будет включаться, когда в помещении будет темно, и выключаться, когда светло.
Используемой в этом руководстве батареи на 2400 мА должно хватить примерно на 4 месяца – с расчетом, что светодиод будет гореть по 4 часа в день.
Возможно, вам также будет интересно взглянуть на руководство по созданию ночного светильника с помощью Puck.js, который меняет свой цвет в зависимости от окружающей температуры.
Вам понадобятся:
- Интерфейсная плата MDBT 42Q
- Светодиод и резистор примерно на 300 Ом (можно использовать встроенный)
- Батарея
- Мячик для пинг-понга и корпус (подробности ниже)
Подсоединение
- Подсоедините батарею либо с помощью JST-коннектора, либо напрямую
- Подключите светодиод между GND и IO-контактом (с последовательно подключенным резистором). В нашем примере используется контакт D15, но подойдет и любой другой IO-контакт.
Код
var light = 0, on = false;
setInterval(function() {
light = analogRead(LED2);
if (light < 0.16) on = true;
if (light > 0.18) on = false;
D15.write(on);
}, 2000);
// Используйте код ниже, только если вам нужно,
// чтобы светильник был скрыт для Bluetooth,
// пока не будет нажата кнопка.
NRF.sleep();
setWatch(function() {
NRF.wake();
}, BTN1);
Просто загрузите код выше на flash-память платы MDBT42Q. После загрузки она отключится от Bluetooth и превратится в ночной светильник.
Но вы, возможно, захотите поменять цифры, отвечающие за включение и выключение светодиода. Для этого просто удалите последний фрагмент кода, и затем, будучи подключенным, просто впишите light в консоль онлайн-IDE, чтобы понять, какое значение переменная light имеет при разных уровнях яркости.
Как улучшить проект
В видео выше уже говорилось, что от постоянного включения/выключения (мерцания) может помочь проверка при помощи пороговых значений (см. 05:20 на видео), но есть и другие способы:
- Замените light = analogRead(LED2); на D15.reset(); light = analogRead(LED2); D15.write(on);. По словам пользователя Акоса Лукаша в комментариях к видео, этот код очень быстро выключает светодиод, чтобы прочесть значение яркости, а затем включает обратно. Мерцание будет едва заметно.
- Переверните плату MDBT42, чтобы датчик яркости не реагировал на светодиод, генерирующий свет.
- Загородите чем-нибудь нижнюю часть теннисного шарика, чтобы свет не попадал напрямую на датчик.
Корпус, сделанный с помощью 3D-печати
Корпус для проекта был сделан с помощью OpenSCAD – это просто полый цилиндр.
difference() {
translate([0,0,-1.5]) cylinder(r=36/2,h=60);
cylinder(r=33/2,h=60);
}
См.также
Ссылки на полезные ресурсы
- AliExpress — глобальная виртуальная (в Интернете) торговая площадка, предоставляющая возможность покупать товары производителей из КНР;
- computeruniverse.net - Интернет-магазин компьютеров(Промо код 5 Евро на первую покупку:FWWC3ZKQ);
- DigitalOcean - американский провайдер облачных инфраструктур, с главным офисом в Нью-Йорке и с центрами обработки данных по всему миру;
- Викиум - Онлайн-тренажер для мозга
- Like Центр - Центр поддержки и развития предпринимательства.
- Gamersbay - лучший магазин по бустингу для World of Warcraft.
- Ноотропы OmniMind N°1 - Усиливает мозговую активность. Повышает мотивацию. Улучшает память.
- Санкт-Петербургская школа телевидения - это федеральная сеть образовательных центров, которая имеет филиалы в 37 городах России.
- Lingualeo.com — интерактивный онлайн-сервис для изучения и практики английского языка в увлекательной игровой форме.
- Junyschool (Джунискул) – международная школа программирования и дизайна для детей и подростков от 5 до 17 лет, где ученики осваивают компьютерную грамотность, развивают алгоритмическое и креативное мышление, изучают основы программирования и компьютерной графики, создают собственные проекты: игры, сайты, программы, приложения, анимации, 3D-модели, монтируют видео.
- Умназия - Интерактивные онлайн-курсы и тренажеры для развития мышления детей 6-13 лет
- SkillBox - это один из лидеров российского рынка онлайн-образования. Среди партнеров Skillbox ведущий разработчик сервисного дизайна AIC, медиа-компания Yoola, первое и самое крупное русскоязычное аналитическое агентство Tagline, онлайн-школа дизайна и иллюстрации Bang! Bang! Education, оператор PR-рынка PACO, студия рисования Draw&Go, агентство performance-маркетинга Ingate, scrum-студия Sibirix, имидж-лаборатория Персона.
- «Нетология» — это университет по подготовке и дополнительному обучению специалистов в области интернет-маркетинга, управления проектами и продуктами, дизайна, Data Science и разработки. В рамках Нетологии студенты получают ценные теоретические знания от лучших экспертов Рунета, выполняют практические задания на отработку полученных навыков, общаются с экспертами и единомышленниками. Познакомиться со всеми продуктами подробнее можно на сайте https://netology.ru, линейка курсов и профессий постоянно обновляется.
- StudyBay Brazil – это онлайн биржа для португалоговорящих студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
- Автор24 — самая большая в России площадка по написанию учебных работ: контрольные и курсовые работы, дипломы, рефераты, решение задач, отчеты по практике, а так же любой другой вид работы. Сервис сотрудничает с более 70 000 авторов. Более 1 000 000 работ уже выполнено.
- StudyBay – это онлайн биржа для англоязычных студентов и авторов! Студент получает уникальную работу любого уровня сложности и больше свободного времени, в то время как у автора появляется дополнительный заработок и бесценный опыт.
Внешние ссылки