Я уже писал про плавное включение подсветки. Описанное в том обзоре решение хорошо себя зарекомендовало, и я решил его доработать и заказать платы в Китае. Что из этого вышло — под катом. Приглашаю самоделкиных, любителей попаять и всех кто хочет сделать среду своего обитания более комфортной.
Про данный датчик движения было немало обзоров, в том числе и мой. Поэтому очень кратко:
— максимальная дальность обнаружения движения под прямым углом к сенсору составила 6,7 метров;
— под углом в 160 градусов — 5 метров;
— крутилка Sx — меняет расстояние обнаружения под прямым углом с 2,8 до 6.7 метров;
— крутилка Tx — меняет время удержания 1 на выходе OUT c 6 до 290 секунд.
Обозначения крутилок есть не на всех платах поэтому вот они:
Перейдем к применению. Схему из прошлого обзора доработал до более функциональной:
Теперь на ней есть поддержка выключателя и датчика освещенности. Да, фоторезистор можно припаять непосредственно к самому исходному датчику, но: нужен будет подстроечный резистор, висящий в виде сопли и компактность будет под вопросом, к тому же, мне проще чувствительность настроить программно в широком диапазоне. Поэтому я не стал так делать, а подключил его к контроллеру. Второй момент, относительно прошлого варианта — возможность подключить выключатель. Иногда датчик считает что свет включать еще рано, но пользователю уже сейчас хочется больше света без его автоматического отключения — именно в этом случае поможет такое решение. Благодаря подключению выключателя к контроллеру, по проводу к выключателю текут очень малые токи, что повышает безопасность итогового решения.
Керамический конденсатор С1 гасит высокочастотные импульсные помехи во входном питании. Линейный стабилизатор ams1117-5 позволяет получить 5 вольт из исходных 12. Из-за малых токов, потребляемых устройством я решил использовать линейный преобразователь, на выходе которого также стоит керамический конденсатор и электролит. К PIR датчику подключается земля, питание и вход контроллера PB4. В качестве контроллера можно использовать ATTiny85, ATTiny45 или ATTiny13, программа не сложная и все они справятся. В качестве ключевого элемента для плавного включения света используется n-канальный полевой транзистор (MOSFET). Так как затвор, фактически, является конденсатором, то в моменты переключения транзистора через него текут большие токи (кратковременно). Для того чтобы ограничить эти токи в затвор ставиться ограничивающий резистор R3. Транзистор управляется малыми токами и если выход микроконтроллера, к которому подключен затвор, окажется в высокоимпедансном Z-состоянии полевик начнет открываться-закрываться непредсказуемо, вылавливая помехи. Для устранения такого поведения ножку микроконтроллера нужно «прижать» к земле резистором R2. Ключевой элемент подключен к выходу контроллера PB0. Ко входу контроллера PB1 подключен выключатель, который в включенном состоянии соединяет этот вход с питанием. Для избегания неопределенных состояний PB1 подтянут резистором R4 к земле. Ко входу PB2 (A1) подключен фоторезистор, позволяющий определить текущую освещенность. Этот вход также подтянут к земле резистором R5, который гарантирует присутствие нуля в темноте. Вход контроллера PB5, являющийся одновременно входом сброса контроллера в исходное состояние (RESET) подтянут к питанию резистором R1.
Изначально печатную плату я изготовил методом «лазерного утюга» (ЛУТ), но поняв что таких устройств требуется много и не только мне (многие обратились с просьбой изготовить такое для них), разработал плату под заводское производство в программе SprintLayout:
Такая конструкция без проблем позволяет подключать нагрузку порядка 5А (60 Вт).
Посмотрим на устройство, мне показалось удобнее всего видеть модель на сайте mayhewlabs.com/3dpcb:
Для программирования через Arduino, с предварительно прошитой программой ArduinoISP и подключенным электролитическим конденсатором между выводами RST и GND (емкость 10-100 мкФ):
Следует использовать такое подключение (10, 11, 12 и 13 — пины arduino):
В рабочем режиме нужно установить перемычки (указаны желтым) и, при необходимости, подключить фоторезистор и выключатель, черным показаны пины земли, а красным питания:
Такие платы были заказаны в Китае, на известном многим сайте dirtypcbs.com. Никаких проблем с платами на этот раз не было. Как видно, я использовал панелизацию для оптимального использования пространства.
Элементы я припаивал без разделения плат, так удобнее:
Флюс на картинке еще не смыт. Далее прямо к этой плате припаивается PIR-датчик.
Так выглядит готовое устройство:
Для программирования ATTiny85 в среде arduino рекомендую воспользоваться этой статьей. Если же у вас ATTiny13 то этой.
Далее зашиваем нехитрый код в контроллер:
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// yurok (last change 25.09.2016)
// PIR - control (draft)
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#include <util/delay.h>
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// PIN configuration
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
#define PIR_PIN PB4
#define LED_PIN PB0
#define BUTTON_PIN PB1
#define LIGHT_PIN A1
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Set constants and global variables
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 0-255
#define LIGHT_BARRIER 200
#define SPEED_ON 12
#define SPEED_OFF 24
// for PIR sensor
#define TIMEOUT_LED 30000UL
// for button
#define TIMEOUT_DEBOUNCE 70
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Timers
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
unsigned long CurrentTime = 0;
unsigned long AutoTimeOn = 0;
unsigned long ButtonTimerDebounce = 0;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// FLAGS
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// 0 - auto on
// 1 - manual on
// 2 - auto mode
#define AUTO_ON_F 0
#define MANUAL_ON_F 1
#define AUTO_MODE_F 2
uint8_t FLAGS=0b00000100;
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// init
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void setup() {
// pin 0 - is output, others is input
DDRB = 0b00000001;
PORTB = 0b00000000;
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// main loop
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void loop() {
CurrentTime = millis();
//////////////////////////////////////////////////////////////////////////
// BUTTON CONTROL
//////////////////////////////////////////////////////////////////////////
if((PINB & _BV(BUTTON_PIN)) && !(FLAGS & _BV(MANUAL_ON_F))){
if(ButtonTimerDebounce==0) ButtonTimerDebounce=CurrentTime;
if((unsigned long)(ButtonTimerDebounce + TIMEOUT_DEBOUNCE) < CurrentTime){
if(!(FLAGS & _BV(AUTO_ON_F))) on();
FLAGS=0b00000010; // set manual on
ButtonTimerDebounce = 0;
}
}else if(!(PINB & _BV(BUTTON_PIN)) && (FLAGS & _BV(MANUAL_ON_F))){
if(ButtonTimerDebounce==0) ButtonTimerDebounce=CurrentTime;
if((unsigned long)(ButtonTimerDebounce + TIMEOUT_DEBOUNCE) < CurrentTime){
off();
FLAGS=0b00000100; // set auto mode on
ButtonTimerDebounce = 0;
}
}else{
ButtonTimerDebounce = 0;
}
//////////////////////////////////////////////////////////////////////////
// PIR sensor
//////////////////////////////////////////////////////////////////////////
if(FLAGS & _BV(AUTO_MODE_F)){
if(PINB & _BV(PIR_PIN)){
if(!(FLAGS & _BV(AUTO_ON_F)) && analogRead(LIGHT_PIN) <= LIGHT_BARRIER){
on();
FLAGS |= _BV(AUTO_ON_F);
}
AutoTimeOn = CurrentTime;
}else if (!(PINB & _BV(PIR_PIN)) && (FLAGS & _BV(AUTO_ON_F)) &&
((unsigned long)(AutoTimeOn + TIMEOUT_LED)) < CurrentTime){
off();
FLAGS &= ~_BV(AUTO_ON_F);
}
}
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// on led
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void on(){
uint8_t i = 0;
do{
analogWrite(LED_PIN, i);
_delay_ms(SPEED_ON);
}while (++i);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// off led
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
void off(){
uint8_t i = 255;
do{
analogWrite(LED_PIN, i);
_delay_ms(SPEED_ON);
}while (i--);
}
Я оптимизировал код для возможности загрузки в ATTiny13. Краткие пояснения:
Наши используемые выводы контроллера (A1 — это вывод контроллера PB2):
LIGHT_BARRIER — порог освещенности, ниже которого при наличии сигнала датчика PIR включится свет (0-255 — диапазон значений).
SPEED_ON и SPEED_OFF — задают временной интервал между переходами к следующей градации при включении и выключении (в мс).
TIMEOUT_LED — интервал, в течении которого свет будет включен после последнего срабатывания детектора движения, задается в мс. Данное значение следует прибавлять ко времени выставляемом потенциометром на датчике.
TIMEOUT_DEBOUNCE — защитный интервал в мс, позволяет избежать дребезга контакта выключателя, если взять небольшое значение, то переходные процессы могут сказаться на включении и выключении, большое значение приведет к «тормозности» выключателя.
CurrentTime — значение текущего времени, позволяет избежать множественных запросов времени.
AutoTimeOn — время последней активности, обнаруженной PIR датчиком.
ButtonTimerDebounce — время изменения положения выключателя, для избегания дребезга контактов.
Для экономии памяти я использовал один байт для хранения всех признаков в программе — FLAGS, под каждый используемый признак задействован один бит, в частности: AUTO_ON_F (0) — бит, показывающий было ли автоматическое включение, MANUAL_ON_F (1) — бит, показывающий было ли ручное включение, AUTO_MODE_F (2) — бит, определяющий включен ли автоматический режим — сбрасывается при нажатии выключателя. Таким образом, для хранения признаков я задействовал 3 бита. По умолчанию: автоматический режим включен, остальные признаки не установлены.
При запуске программы производится инициализация портов: DDRB = 0b00000001 — означает, что все порты кроме нулевого используются как входы. PORTB = 0b00000000 — сбрасываем значение всех пинов.
Функция on() производит плавное включение нагрузки. Для того, чтобы перебрать 255 значений и в качестве переменной цикла использовать один байт, я использовал цикл do… while. Функция off() производит плавное выключение нагрузки. Я использовал analogWrite для выдачи нужного значения в порт управления, предварительно посмотрев ее реализацию — не увидев там особо лишнего кода, при желании можно оптимизировать, но для текущей программы памяти ATTiny13 вполне хватает.
В основном цикле (функция loop() ) вначале в переменную CurrentTime считывается текущее время, так как оно много где используется.
Далее обрабатывается код выключателя с защитой от дребезга контактов. Конструкция вида PINB & _BV(BUTTON_PIN) позволяет проверить текущее значение пина BUTTON_PIN на установленный высокий уровень более экономно по памяти, по сравнению с DigitalRead, принятой в среде arduino. Аналогично, FLAGS & _BV(MANUAL_ON_F) — позволяет проверить установлен ли нужный признак в переменной флага. Я реализовал программу так, что при включенном выключателе свет непрерывно горит и обработка сенсоров выключена, при выключенном — включается обработка сенсоров.
После этого идет обработка данных с PIR-сенсора, которая при необходимости включает и выключает свет, а также продлевает таймаут актуализируя значение AutoTimeOn при обнаружении движения.
Собственно, вот и вся нехитрая программная часть для данного устройства. Ее конечно можно оптимизировать по памяти и далее, но я в этом смысла не вижу (не люблю оптимизаций ради оптимизаций — к тому же в ущерб наглядности).
Использованные детальки:
PIR-датчик HC-SR501 10 — US $8.63
Контроллер attiny85 10 —US $7.70 либо attiny13 10 — US $3.00
Клеммная Колодка 20 — US $3.76
Полевой транзистор AOD472 D472 (MOSFET) 10 — US $8.51
Линейный стабилизатор ams1117-5 10 — US $2.63
Фоторезистор 20 — US $0.70
пины 10 — US $2.83
Резисторы и конденсаторы smd1206, а также электролит на 47 мкФ.
Плата изготовленная в домашних условиях или заказанная на заводе, у меня остались платы от заказа, при необходимости, могу выслать готовую или заготовку, пишите в личку.
Помимо светодиодной ленты или иного светильника, к данной плате можно подключить иное устройство 12 В, например, сирену или модем отправляющий сигнал хозяину, тогда это будет сигнализацией.
Видео работы из прошлого обзора (там есть монтаж в конкретных условиях прошлой версии):
Спасибо всем, кто дочитал этот обзор до конца, надеюсь кому-то данная информация окажется полезной. всем света и добра!
Планирую купить+110Добавить в избранноеОбзор понравился+87
+180
Не вижу смысла постить загадки, на которые не приведены отгадки
Блин ну я бы написал позже. мне интересно было что увидит автор
И потом ну любой человек может кликнуть правой кнопкой на картинке и нажать строчку Найти картинку. Там и ответ будет
Но как только вы узнаете ответ. ты уже ничего другого на этом фото и не видите
P.S. На самом деле я понял, ЧТО Вы имеете в виду. Просто НЕ ВСЕ пользуются Google Chrom'ом. В Мозилле (он же FireFox, он же Огнелис) ничего подобного (скриншот прилагается). Так что НЕ ЛЮБОЙ и НЕ В ЛЮБОМ брауззеое.
Вы мне еще Амиго с Internet Explorer'ом предложите…
Хром есть. И мне им иногда ПРИХОДИТСЯ пользоваться.
Но предпочитаю Мозиллу. На всех устройствах (синхронизация включена).
P.S. Ладно, не будем разводить холивар. Каким браузером пользоваться — дело вкуса и привычки.
В Мозилле (он же FireFox, он же Огнелис) ничего подобного (скриншот прилагается).
Есть просто в отличие ог хрома там это надстройка, называется Google Image Search. И если вы не знаете как ее активировать то… Тык Она добавляет в меню похожий пункт как и в хроме. Так что минусаторам в конце всего зачтется.
Мне до ваших минусов далеко как до Китая. Вы прекрасно первый раз поняли что я хотел сказать про правую кнопку мыши. А если не поняли, то поздравляю Вы единственный и уникальный. Но вам же как троллю этого мало вам же надо больше еды. Вы же хотите потроллить человека по полной, чтобы он вышел из себя. Так ВОТ Вам это не удалось
Поверьте мне я еще даже и не начинал «хамить» как вы выразились.
Просто светлый PIR-датчик сливается с фоном… Стоило фон поконтрастней взять… Кстати — для того чтобы подчеркнуть размеры можно на клетчатом антипрорезном коврике сфоткать или рядом с коробком :)
на esp дорого получается для автономного решения, а из готовых изделий — вполне можно взять, например, digispark , коммутировать вот таким модулем, Фоторезистор, например, такой, а стабилизатор такой, и соединить все по приведенной схеме проводами — только компактности не будет. Программа из обзора будет работать и там.
Я так понимаю, что там управление встроенным RGB светодиодом от фоторезистора на самом модуле.
У меня вопрос, как правильно подключить обозреваемый датчик?
п.с. обозреваемые датчики скоро должны прибыть ко мне, и пока обзор «горячий», спрашиваю… Заинтересовало плавное включение. В моём случае, управлять нужно светодиодными потолочными панелями с подержкой dimmer.
ESP8266 плюс это PIR-модуль дают большое количество ложных срабатываний. И большую часть времени разработки придется потратить на борьбу с ними. И я пока не натыкался на 100% работающее решение.
В случае подсветки — да и фиг с ним. А если где-то в сигнализации?
датчик почти такой только мини и гораздо стабильнее:) а схема она просто элементарная;) плюс минус и сигнал:) просто мини работает на 3.3 вольтах(не нужно выпаивать кренку в модуле) вот он и был. выбран вот вся схема vk.com/id17088767?z=photo17088767_433718971%2Fphotos17088767
ESP8266 плюс это PIR-модуль дают большое количество ложных срабатываний || я бы с вами поспорил ;) вот...
Дело в том, что для esp единственно важной задачей является обслуживание WiFi, любой другой код останавливается в любом месте и усё:) Поэтому простенькой программкой уже не обойдёшься, а потратив много своего времени, уже не так хочется бескорыстно делиться результатом (да ещё и отвечать потом годами на разные вопросы:). А свой сонофф тоже мало кто может открыть. Вот всё и пропадает(пока?), в отличие от сообщества ардуино
и не надо на меня негатив нагонять, если что))
я кроме плюсов за избранные мне интересом обзоры вообще никакие оценки никому не ставлю ;)
возможно за бесполезность девайса или изворотливость в ответов…
Дело в том, что на есп можно (с большими оговорками, см. выше) создать из двух копеечных железок — другого класса устройство, универсальный датчик, готовый элемент сигнализации/умного дома/ и пр.
Базовый функционал обойдётся дорого°, а вот всякие алгоритмические «плюшки» к нему потом прикручиваются относительно легко
там с таким же успехом и за те же копейки можно оформить всё на ардуине)
Wemos полноразмерный стоит дороже UNO, а даже если обойтись только модулем и будет разница в пару долларов экономии, то не копеечная ли это разница для оформления одного — тройки устройств?))
Хорошее детальное описание процесса. Будет полезно как новичкам для пошаговой инструкции, так и остальным что-то почерпнуть для себя. Код прокомментирован, линки на детали есть. +1
аа, код не влазит, так без сдвигов if() мне кажется меньше занял бы места, две инструкции вместо трех (загрузить, сдвинуть, перейти если ноль против загрузить, перейти если ноль)
А точно не меньше становится, оба варианта по 8 байт команд
в avr studio по крайней мере… неожиданно)
if(!(FLAGS & _BV(MANUAL_ON_F))){
0000001C 80.91.61.00 LDS R24,0x0061 Load direct from data space
0000001E 81.fd SBRC R24,1 Skip if bit in register cleared
0000001F 01.c0 RJMP PC+0x0002 Relative jump
asm("nop");
00000020 00.00 NOP No operation
if(!ManualOnF) {
00000021 80.91.60.00 LDS R24,0x0060 Load direct from data space
00000023 81.11 CPSE R24,R1 Compare, skip if equal
00000024 01.c0 RJMP PC+0x0002 Relative jump
asm("nop");
00000025 00.00 NOP No operation
А есть что ни будь для программирования ATTiny13А в стиле «вставил в usb и запустил программу?
Я покупал вот это aliexpress.com/item/1pcs-New-USBASP-USBISP-AVR-Programmer-USB-ISP-USB-ASP-ATMEGA8-ATMEGA128-Support-Win7-64K/32653187143.html
и прищепку. Но у прищепки 10 контактов, а этой штуки 8 и 8 у ATTiny13А. Пробовал использовать даташит от ATTiny13А и подключать по отдельности каждый провод. Но у програматора оказалось 3 или 4 GND а у ATTiny13 всего 1 и я даже не смог считать содержимое микросхемы…
Цель такая, есть плата на которой установлена ATTiny13А, нужно с неё считать прошивку ( или что там залито ) и когда она „наё“ перепрошивать или перепаивать с предварительно заливкой копии прошивки.
Почти всё что нашел в нете — это работа с arduino, и мне кажется там очень сложно. Или тоже софт в стиле „считать/записать“? Именно софт вызывает вопросы.
Мне в свое время очень помогло вот это подробное пошаговое руководство с кучей картинок: flashlightwiki.com/AVR_Drivers
Все заработало с первого раза.
Оно написано применительно к драйверам фонарей, но это значения не имеет. Думаю, готовые платы из обзора будут так же лихо прошиваться USB-программатором с прищепкой.
Спасибо, буду читать и заказывать ардуино. Даже попросил у китайца выслать мне микросхемку в подарок )) если всё получится, запилю обзор для таких же «немощных» как я. А то судя по интернету — эта деталь часто выходит из строя, а нова 1500…
Прищепку я уже раздербанил, там распиновка была в другом порядке.
неа, не пробовал
в описании
мощность передатчика: < 2 МВт;
у меня на даче боюсь мощности не хватит :)
Очень неоднозначное впечатление от товара. Вроде работает, но не так как хотелось бы. Ощущение гиперчуствительности у радара. От видит движение 90% времени, даже когда я ничего не вижу. Может комаров считает, но работать с ним не получилось ....
если под охрану объекта — то в PIR как исполнителях смысла особого и не видел, если под применение в бытовухе для баловства с включением нагрузок / потребителей — то он там нафиг не нужен, так как «PIR» и «UWD» с головой хватает везде и для всего…
пришлось убрать подобный датчик с кухни. всё прекрасно пока на кухне есть движение. стоит сесть и чистить картошку(например) и всё датчик бесполезен и выключает свет. это датчик движения а хотелось бы датчик присутствия
для этого тут есть две вещи:
— настраиваемое время программно (маловероятно, что за 15 минут вы не пошевелитись) — штатное время меня не устроило
— возможность подключения выключателя — включли в тяжелых случаях и все
что простите а зачем тогда вся эта автоматика и кибернетика если зашел на кухню вышел и 15!!! минут потом свет на кухне горит. я же правильно понял что надо таймер срабатывания ставить 15 минут?
а про выключатель!!! я буду придумывать скетчи мучать на форумах сообщество чтобы получить не рабочую хрень и поставить в обход выключатель-браво умный дом российского разлива. я думаю сделать вместо датчика движения датчик расстояния в проёме двери. но тут проблема если более 1 человека. возможно датчик должен быть направлен по направлению от кухни. и тогда заходящего в кухню можно определить по приближению к датчику, а выходящий с кухни будет появляться в датчике внезапно. и на основании этого завязать алгоритм программы
1- Время ставится по вкусу от ситуации (я не вижу проблемы от свечения 15 минут светодиодного светильника)
2 — Какую хрень (рабочую или нет) сделаете — такая и будет, эта штука работает — мне удобно вот и поделился
пункт 2 вы скорее всего получите считая людей на входе :)
нельзя время привязать к ситуации есть 1 вариант зашёл ночью стакон воды выпить- это 15 секунд. а 2 варинт когда вся семья на кухне сидит вечер смотрит телевизор. и без разницы светодиодное освещение или лампочка илича. мы делаем автоматизацию
а в чём прикол ардуино не пойму продаются же в магазинах электротоваров готовые устройства где выставляются 3 параметра: таймер, освещённость, расстояние срабатывания
вообще, развивайте эту тему, мне тоже интересно такое под данную ситуацию, хотя не особо мне понятно как можно так спокойно картошку чистить)) у меня в коридоре оно срабатывает на минимальное движение ;)
Для кухни, согласен, не удобно. Удобно в коридоре или кладовке какой-то, и то, для дежурного освещения, чтобы большой выключатель найти. У меня домашние и гости потом вообще свет перестают выключать везде. Думаю для дома лучше обычные выключатели, но чтобы через час было автовыключение, так как часто всеже забывают выключать. На кухне у меня 200 Вт лампа накаливания и 6*50Вт галлогенки в подсветке, могут на пару часов забыть выключить. Или в подвале 100Вт лампочку могут на несколько дней забыть выключить.
я постараюсь скоро описать применение микроволнового датчика в связке с ардуиной/esp и твердотельным реле. Как раз прикручиваю такой в сортире к свету и вытяжке. Устал бороться со склерозом домочадцев, но и сидеть на унитазе и махать постоянно ладошкой PIR-датчику не желаю.
что махать? ультразвуковой датчик меряет расстояние перед собой. если оно меняется фиксируем, опять меняется опять фиксируем. а махать смотря как программа составится, либо вообще не будет реагировать на махание, либо от каждого взмаха будет менять состояние на входе реле
у датчика по паспорту мощность излучения менее 2mW, а для WiFi 5ГГц разрешено до 800mW, так что ничего страшного. У датчика можно выкрутить чувствительность в максимум и нацелить фольгой диаграмму направленности на унитаз. Тогда датчик будет срабатывать даже на потуги клиента на унитазе и на появление испарины на лбу ;)
возможно)) у меня их нет и опыта нет))
у меня в авто стоит версия PIT на сигналке, так вот она от пота на лбу не срабатывает, исходя из неё я выводы и делал ;)
сам хочу HB100 взять на пробу в ещё два авто)
WiFi — кстати тоже принципиально не юзаю :))
интересует у «микроволнового» датчика частоты правда в ультразвуке. как животные отнесутся к этому. что если кот перестанет ходить в туалет, это будет проблема. да и в туалет поставить это совсем не проблема, не будут же в туалет заходить и выходить несколько человек. тут проще некуда в проёме ставите датчик. зашёл зарегистрировало и сменило состояние выхода. вышел, опять фиксация и изменение состояния на выходе. а вот когда зашло двое а вышел один как контроллеру разобраться
к электромагнитному излучению частот выше 5ГГц животные не относятся никак. На муравьёв влияет, на млекопитающих, особенно такая мизерная мощность — никак.
Через щель дверцы микроволновки утекает при использовании больше.
Микроволновка работает 3 минуты в день, датчик работает круглосуточно 1440 минут в день, интегральный эффект от датчика может быть больше на порядок, излучает понемногу, но постоянно, а жить то с ним многие годы…
WiFi тоже работает кратковременно, максимальная мощность 800 мВт, но средняя намного меньше, у меня он нагружен на 0.01% от максимальной способности (раз в несколько дней фильм через него смотрим), и мощность в настройках выставил 10%, для дома хватает.
Опять же постоянные 2 мВт от радиодатчика могут дать больше в общем в доме, чем WiFi, который почти всегда «молчит».
аж 15 минут! У меня 8 минут таймаут, больше не выкручивается. Это ж сделано не столько, чтобы свет экономить, а чтобы не отвлекаться на ручные выключатели.
Я вижу только 2 варианта — либо я включаю свет 1 раз и он там потом горит круглосуточно, либо он включается сам когда нужно и выключается, когда получится.
Второй вариант более экономичный и при этом не доставляет никаких неудобств.
а какие неудобства у датчика который включает свет когда вы внутри и выключает когда вы вышли. мы тут говорим про автоматизацию и назвать автоматизацией то что вы написали нельзя
Система, которая будет работать идеально никогда себя не окупит.
У меня светильники по 70 Ватт стоят, лишние несколько минут никого не разорят.
Очень даже автоматизация, потому что в прихожке, ванне и кухне выключателей вообще нет.
причём тут не окупит. дело в том что датчик движения это универсальное средство. если же ставить датчик растояния то это всегда индивидуально. сделать чтобы датчик мониторил объём кухни на присутствие, возможно надо пару датчиков чтобы перекрыть объём. либо как я уже писал считать зашедших и вышедших с кухни. датчик типа aliexpress.com/item/hc-sr04-ultrasonic-ranging-module-smart-car-ultrasonic-sensor-module/32531458441.html,searchweb201602_1,searchweb201603_6&btsid=891b5d1d-6e79-42d3-ad8e-e16f3f4b4562 стоит меньше доллара сложно окупить такую цену
ну так развивайте данное направление, я вижу плюсы в Ваших мыслях, но не вижу проблемы с PIR при моём использовании…
это разве что, если в ванной заснуть часа на пол — оно конечно вырубится… а так на кухне / коридоре / ванной совсем без движений за 5 минут как-то не обходится…
вы наверно не представляете алгоритм датчика движения. он не 5 минут по вашему смотрит, двигается кто или нет. алгоритм такой: датчик заметил движение включил реле и таймер. в это время он ничего не проверяет можно хоть уплясаться или стоять как столб. после того как таймер отсчитал время, датчик смотрит наличие движения и если его именно в этот момент нет то реле выключится. из этого следует что двигаться надо только когда датчик отсчитал таймер
вообще-то у меня такие PIR сейчас висят в коридоре и в ванной на соплях где-то с квартал уже на стадии тестирования, отстроены по 50 сек выдержки и даже этого хватает для использования)) чего бы я их в примере комнат просто так ставил)) там вообще есть оба режима и они переключаются «джампером», будете теперь ознакомлены и Вы ;)
я не совсем понял суть работы из Вашего ответа, но у меня она горит по 10 минут(пока я вело в коридоре вытираю), при отстройке в 50сек ;)
Вы вдвоём меня очень удивили)
видео заснять что-ли?))
Сколько стоит датчик объема? Кто его будет перенастраивать, если мебель подвинется?
Ультразвуковой если и заработает — потребует десятков часов программирования. Но у меня ощущение, что баги будут все равно. Если вы знаете как сделать точно и дешево — продайте магазинам, они будут считать покупателей на входе.
MRS HB100 — 2 доллара стоит, но работать оно будет аналогично PIR и не чего не изменит, других типов датчиков объёма я не знаю)
с UWD будет возня по прошивке + нужна ардуина, но это не так всё дорого и долго, если есть нужда / стремление — то почему бы и нет…
при этом мне не известно, какой обхват у HС-SR04, если их там придётся цеплять на несчастную кухню в 4ре угла, так это вообще убого как-то выйдет результатом))
Ну я не настолько силен в электронике, чтобы повторить ваше решение.
Хотелось бы какой-нибудь готовый модуль, скажем, чтобы вот такой светильник ночью плавно включал свет, а не бил по глазам.
Наврал я про литий. Точнее, у меня есть другой светильник в туалете, я его давно переделал на литий. И так привык к этому, что уже забыл, что он изначально работал от 3хААА.
если разобраться, то он и не конкретизировался конкретно на этом светильнике))
при большом желании и ради спора, можно туда повесить литий через гасящий резистор и всё будет нормально работать ;)
Немного не так выразился. Чутье фотодатчика хреновое и еще вниз направлен. Днем включается постоянно. Десять девайсов от разных продавцов. Если светить в морду- не включается.
А вот этот
работает без замечаний
я как бы согласен, но Вам один фиг придётся впаиваться в схему, а по данным описаниям деталей на пальцах посчитать, что собирается банально навесным монтажем)
Кстати, люминесцентные лампы плавно разгораются, даже энергосберегайки, хоть кажется что включаются мгновенно, по люксметру видно, что разгораются на полную около минуты.
Делал на заказ подобную штуку, только с токовым драйвером PT4115.
Там придумана такая логика.
Сигнал с датчика движения — плавно зажигается свет
Больше какого то времени нет сигнала с датчика движения — свет тухнет на половину
И только после следующего таймаута свет плавно гаснет до конца.
Этот период, когда свет притух наполовину нужен чтобы пошевелиться и дать сигнал датчику.движения
На мой взгляд, вполне себе нормальная логика для дежурного света. В полной темноте не остаешься. Раз уж в управлении микроконтроллер, то можно и не такое придумать
1 — мне нужно регулируемое в широком диапазоне время
2 — датчик освещенности с легкой сменой чувствительности в заданном диапазоне
3 — плавное включение и выключение
4 — ручной выключатель
вот для этого и сделал
Я добавил две функции в подобное
1. Логарифмическую зависимость регулировки ШИМ в связи с нашим устройством глаза.
2. Еще одну кнопочку на плате (нога свободная есть у тиньки), через которую можно задавать параметры (время нарастания и убывания ШИМ, время горения). По принципу настройки машинной сигнализации с брелка. Можно использовать прибор более универсально и не нужно постоянно программатором лазить на плату
Сомневаюсь, что attiny13 хватит памяти для этого. Тем более, что результат настроек надо где-то сохранять, это еще плюс 2 вывода на i2c для пзу.
Правда можно задавать параметры подстроечными или переменными резисторами, как здесь:
Спасибо за обзор. Нравятся мне подобные темы на муське.
У меня похожая схема более года работает на кухне.
Чтобы схема, при необходимости работала в светлое время суток, выключатель датчика освещенности поставил в разрыв фоторезистора, сэкономив при этом вывод микроконтроллера.
Тоже хочу переделать ее на 13-ю тиньку. Программу переделал, на монтажной плате все работает, но никак руки не дойдут сделать печатную плату.
Спасибо
Выключатель в разрыв фоторезистора будет его отключать, но не включать свет, если вас такая логика устраивает, норм. В данном случае, выключатель независим от пир, можно включить и не двигаться пару часов, свет будет гореть. Совсем другая логика. Ну и экономить пины в данном случае смысла не вижу, а у вас вообще целая ардуино — зачем экономить там, даже не знаю
Да, все верно. Обрыв фоторезистора для схемы обозначает «вечную ночь». Т.е. свет включается по движению вне зависимости от внешнего освещения.
По поводу экономии вывода — я имел ввиду Вашу тиньку.
Скетч (из статьи на гиктаймс. Убрал лишь обработку фоторезистора. Он замечательно обрабатывается самим датчиком. куда припаять — ниже на картинке видно):
int ledPin = 5; //Светодиодная лента
int motionSensorPin = A0; //Датчик движения
int val = 0; //Яркость ленты
int light = 0; //Освещенность
int motion = 0; //Движение
int timerCounter = 0; //Считалка времени
int timerEnable = false; //Начало цикла включения
int timeOn = 8; //Время включения в секундах
int faderEnable = false; //Разрешает погаснуть
void setup()
{
pinMode(ledPin, OUTPUT);
Serial.begin(9600);
}
void loop()
{
analogWrite(ledPin, val);
motion = analogRead(motionSensorPin);
if (motion > 150) {
timerEnable = true;
faderEnable = false;
}
if (timerEnable){
timerCounter ++;
val = val + 1;
if (val > 254) val = 254;
if (timerCounter > timeOn * 50){
if (motion < 150){
timerCounter = 0;
timerEnable = false;
faderEnable = true;
}
else {
timerCounter = 0;
}
}
}
if (faderEnable){
val = val - 2;
if (val < 0){
faderEnable = false;
val = 0;
}
}
delay(20);
}
Без обид. Даже и не думал шатать пальму первенства одного из местных гуру.
Повторюсь, это моя первая поделка на Ардуино. Устройство категорически иное, но выполняет аналогичные вещи.
Я и многие здесь вряд ли когда-нибудь хотя бы попытаются воспроизвести Ваши изделия. Как бы ни хотелось, но подготовка не та.
С мая месяца (дата публикации вышеупомянутой статьи на ГТ) вынашивал идею автоматический подсветки плинтуса. Но даже там все было сложно для меня. Более того, критика в камментах навела меня на поиски альтернативного безардуинового решения. Я донимал знакомых хоть как-то связанных со схемотехникой, понакупил радиодеталек, но в итоге собрал-таки схему на ардуино, ибо так проще. Код не мой. Я вообще в сях как свинья в апельсинах — это же С язык, верно? Я когда-то в универе на паскале кодил… Разобраться в готвом коде с ГТ было не сложно, но сам бы я вряд ли его написал. Я просто выбросил обработку фоторезистора, ибо впаял его в датчик.
В итоге я получил то, что хотел. И если кто-то ищет аналогичное решение, но не готов травить плату и делать Ваш вариант устройства, но справится с моим — я только за.
я только за любое творчество!
хорошо получилось
просто странно выглядит код, когда с цифрового датчика с помощью ацп читают данные
motion = analogRead(motionSensorPin);
и еще ряд моментов
Впрочем — работает, разработчика устраивает — и хорошо
впайка в пир фоторезистора ограничивает возможности настройки порогов… хорошо если они у вас удачно совпали с требуемыми
Хм. Я не спец в таких делах (у меня лишь один проект на ардуино и он в камментах выше), но, сдается мне, что на фото Arduino Pro Mini, у которой вроде как нет своего USB порта для прошивки и шить ее надо через UART. Еще у нее есть два варианта: один питается от 3.3 вольта, второй — от 5. Обязательно нужно уточнить этот ньюанс.
В первом случае пригодится одна из двух одинаковых AMS1117 для ее питания.
Во втором же они лишние и питаться она будет от LM2596, что выше на фото. Обязательно прежде, чем подавать питание, настроить напряжение на ней!
И не вижу фоторезистора. Без него схема будет работать при любом освещении. С резистором — только в темноте.
Итак, резюмируя:
1. Ищем UART
2. Разбираемся с напряжением питания ардуины
3. Думаем, нужен ли фоторезистор.
4. Источник питания 12В и светодиодная лента уже есть?
я блин нуб в этом( прочитал Ваши коменты и загорелся)
Читаю, что можно и запитать от 12В через «RAW» arduino.ua/ru/hardware/ProMini
Сейчас буду заказывать уарт для прошивки «CP2102 Module».
А ленты и блоков питания хватает… этого добра набрался) 5630, 5730, 3014, 3528…
А насчет фоторезистора, то решил без него. Это коридор, пускай всегда вкл при наличии движения.
ПС. Смущает лишь одно. Блок 12В всегда включен( на долго ли его хватит…
Я тоже нуб. Но гуру тоже с чего-то начинали, верно? :)
Может быть, стоит потренироваться на ардуино нано? Она попроще — прошиваеться по USB безо всяких UART…
Насчет 12 В питания — не знаю. надо пробовать или гуглить.
Запилил видео и схему набросал, чтобы тебе проще было.
Отладку кода — плавность включения/выключения и задержку буду делать когда соберу уже по месту. Пока ждал запчасти — решил переехать в частный дом. Вот там и развернемся :)
блин, я чета смысл потерял всей этой поделки. Я это все хочу сделать ради плавности. Вкл за 3 сек, а выключение за 10, например.
Просто вкл и выкл по датчику свети и движение делается с помощью одного девайса да 3 дол и там паяльник и комп не нужен…
Верно ведь? Или у Вас другие цели?
Пара вопросов: как панелизацию в Спринте сделал и как функции On-Off работают, переполнения со сбросом в do не происходит? Ну видимо нет раз работает.
Совет: делал проект другой на Attiny с компактным кодом. Один и тот же скетч скомпилированный в Arduino IDE под Linux в виде готового .hex весил на 500 байт меньше, чем скетч, скомпилировааный в Винде. Наверное сам компилятор по другому работает в никсах.
Подскажет кто, что подключить к выходу готовому датчику движения на 220в, для плавного розжига светодиодных спотов для подсветки пола. Желательно какой нибудь готовый модуль или подскажите какие компоненты использовать. Спасибо
Никак, это разные задачи
Датчик включит блок питания, а по светодиодам уже отдельно надо думать, по схеме включения и прочему, то есть датчик тут не причем
Мне тоже захотелось облагородить мойку на кухне, там лампа дневного света. Заказал вот это. (пока едет). Может есть какой-нибудь переходник на Т5, чтобы штекер, идущий в лампу не уродовать?
Здравствуйте подскажите плз как решить проблему юзаю этот датчик + мосфет 3205 все супер! но при подачи питания датчик выдает 3,3 на сигнал и диоды загораются и так происходит всегда когда ВЫКЛ ВКЛ (понимаю это калибровка), как можно легко победить эту проблему?
Добрый день, мог бы кто выложить готовый hex для attiny13 и фьюзы если нужно их менять для этого устройства, а то у меня не получается его из скетча добыть, плату сделал, есть только usbasp а залить прошивку как-то нужно.
простой тест. что вы видите на листочке бумаги? Те кто знает этот тест, не пишите
Что на листочке бумаги???
И потом ну любой человек может кликнуть правой кнопкой на картинке и нажать строчку Найти картинку. Там и ответ будет
Но как только вы узнаете ответ. ты уже ничего другого на этом фото и не видите
Нажал. Ничего подобного не увидел. ЧЯДНТ?
P.S. На самом деле я понял, ЧТО Вы имеете в виду. Просто НЕ ВСЕ пользуются Google Chrom'ом. В Мозилле (он же FireFox, он же Огнелис) ничего подобного (скриншот прилагается). Так что НЕ ЛЮБОЙ и НЕ В ЛЮБОМ брауззеое.
Хром есть. И мне им иногда ПРИХОДИТСЯ пользоваться.
Но предпочитаю Мозиллу. На всех устройствах (синхронизация включена).
P.S. Ладно, не будем разводить холивар. Каким браузером пользоваться — дело вкуса и привычки.
Поверьте мне я еще даже и не начинал «хамить» как вы выразились.
Хотя я живу по принципу что два минуса это уже плюс
… пошёл я спать.
Костерок только не удачный выбрал, ну да ладно.
P.S. Хороший обзор — спасибо за труд.
вот я ничего другого там увидеть не смог :)
но мы действительно знаем чего ожидать в обзоре))
Котэ нет.
хотелось бы увидеть реализацию на esp8266.
для большего круга читателей без травления плат… исключительно на готовых изделих
п.с. опыта нет — начинающий…
вот пример его использования, если нужно поделку как в обзоре, то ключ нужен — примерно как в прошлом сообщении
У меня вопрос, как правильно подключить обозреваемый датчик?
п.с. обозреваемые датчики скоро должны прибыть ко мне, и пока обзор «горячий», спрашиваю… Заинтересовало плавное включение. В моём случае, управлять нужно светодиодными потолочными панелями с подержкой dimmer.
В случае подсветки — да и фиг с ним. А если где-то в сигнализации?
тем более «микроволновый» стоит копейки)
для управления включением света по WiFi?
во вторых — от этого ответа будет зависеть дальнейшая цепочка развития))
подключения других датчиков.
а минус зачем?
я кроме плюсов за избранные мне интересом обзоры вообще никакие оценки никому не ставлю ;)
возможно за бесполезность девайса или изворотливость в ответов…
Базовый функционал обойдётся дорого°, а вот всякие алгоритмические «плюшки» к нему потом прикручиваются относительно легко
_____
° времени — на — разработку
Wemos полноразмерный стоит дороже UNO, а даже если обойтись только модулем и будет разница в пару долларов экономии, то не копеечная ли это разница для оформления одного — тройки устройств?))
Обратите внимание на режим «Фотовид» и в нём переключатель сторон.
стало бы
в avr studio по крайней мере… неожиданно)
Я покупал вот это aliexpress.com/item/1pcs-New-USBASP-USBISP-AVR-Programmer-USB-ISP-USB-ASP-ATMEGA8-ATMEGA128-Support-Win7-64K/32653187143.html
и прищепку. Но у прищепки 10 контактов, а этой штуки 8 и 8 у ATTiny13А. Пробовал использовать даташит от ATTiny13А и подключать по отдельности каждый провод. Но у програматора оказалось 3 или 4 GND а у ATTiny13 всего 1 и я даже не смог считать содержимое микросхемы…
Цель такая, есть плата на которой установлена ATTiny13А, нужно с неё считать прошивку ( или что там залито ) и когда она „наё“ перепрошивать или перепаивать с предварительно заливкой копии прошивки.
Почти всё что нашел в нете — это работа с arduino, и мне кажется там очень сложно. Или тоже софт в стиле „считать/записать“? Именно софт вызывает вопросы.
Все заработало с первого раза.
Оно написано применительно к драйверам фонарей, но это значения не имеет. Думаю, готовые платы из обзора будут так же лихо прошиваться USB-программатором с прищепкой.
Еще одно руководство: budgetlightforum.com/node/36216
Если нужно на русском, то вот: forum.fonarevka.ru/showthread.php?t=4671 Но тут все размазано тоооонким слоем на десятки страниц.
Софт в стиле «считать/записать» — это avrdude, больше ничего не нужно. Но можно и Atmel Studio поставить, если привыкли к IDE.
P.S. Прищепка с 10 контактами? Хм… Сточить лишние не получится? А то могут мешать при присоединении при плотном монтаже.
Прищепку я уже раздербанил, там распиновка была в другом порядке.
aliexpress.com/item/Free-Shipping-New-1Pcs-SOIC8-SOP8-Flash-Chip-IC-Test-Clips-Socket-Adpter-BIOS-24-25/1844300545.html
aliexpress.com/item/5-8GHZ-Microwave-Radar-Module-Smart-Sensoring-Switch-6-9M-Home-Control/32602485648.html
в описании
мощность передатчика: < 2 МВт;
у меня на даче боюсь мощности не хватит :)
— это в отзывах
придётся дачу продавать для оплаты энергии.
На PIR-датчики теперь даже не смотрю.
— настраиваемое время программно (маловероятно, что за 15 минут вы не пошевелитись) — штатное время меня не устроило
— возможность подключения выключателя — включли в тяжелых случаях и все
а про выключатель!!! я буду придумывать скетчи мучать на форумах сообщество чтобы получить не рабочую хрень и поставить в обход выключатель-браво умный дом российского разлива. я думаю сделать вместо датчика движения датчик расстояния в проёме двери. но тут проблема если более 1 человека. возможно датчик должен быть направлен по направлению от кухни. и тогда заходящего в кухню можно определить по приближению к датчику, а выходящий с кухни будет появляться в датчике внезапно. и на основании этого завязать алгоритм программы
2 — Какую хрень (рабочую или нет) сделаете — такая и будет, эта штука работает — мне удобно вот и поделился
пункт 2 вы скорее всего получите считая людей на входе :)
2) «лазерные указки» тогда Вам в помощь))
выше я уже упоминал «UWD», и наоборот считаю делать такое логичнее всего именно на нём…
у меня в авто стоит версия PIT на сигналке, так вот она от пота на лбу не срабатывает, исходя из неё я выводы и делал ;)
сам хочу HB100 взять на пробу в ещё два авто)
WiFi — кстати тоже принципиально не юзаю :))
Через щель дверцы микроволновки утекает при использовании больше.
WiFi тоже работает кратковременно, максимальная мощность 800 мВт, но средняя намного меньше, у меня он нагружен на 0.01% от максимальной способности (раз в несколько дней фильм через него смотрим), и мощность в настройках выставил 10%, для дома хватает.
Опять же постоянные 2 мВт от радиодатчика могут дать больше в общем в доме, чем WiFi, который почти всегда «молчит».
Я вижу только 2 варианта — либо я включаю свет 1 раз и он там потом горит круглосуточно, либо он включается сам когда нужно и выключается, когда получится.
Второй вариант более экономичный и при этом не доставляет никаких неудобств.
У меня светильники по 70 Ватт стоят, лишние несколько минут никого не разорят.
Очень даже автоматизация, потому что в прихожке, ванне и кухне выключателей вообще нет.
это разве что, если в ванной заснуть часа на пол — оно конечно вырубится… а так на кухне / коридоре / ванной совсем без движений за 5 минут как-то не обходится…
Вы вдвоём меня очень удивили)
видео заснять что-ли?))
Ультразвуковой если и заработает — потребует десятков часов программирования. Но у меня ощущение, что баги будут все равно. Если вы знаете как сделать точно и дешево — продайте магазинам, они будут считать покупателей на входе.
с UWD будет возня по прошивке + нужна ардуина, но это не так всё дорого и долго, если есть нужда / стремление — то почему бы и нет…
при этом мне не известно, какой обхват у HС-SR04, если их там придётся цеплять на несчастную кухню в 4ре угла, так это вообще убого как-то выйдет результатом))
диммер позволяет плавно включить руками нагрузку
Хотелось бы какой-нибудь готовый модуль, скажем, чтобы вот такой светильник ночью плавно включал свет, а не бил по глазам.
На али есть куча светильников с сенсором движения и с литиевой батарейкой:
aliexpress.com/item/DBF-4leds-Rechargeable-PIR-Motion-Sensor-LED-Night-Light-Lamp-With-For-Hallway-Pathway-Staircase/32707449363.html
aliexpress.com/item/2016-New-Rechargeable-PIR-12-LED-Auto-Motion-Sensor-Night-Light-for-bedroom-bathroom-kitchen-White/32720318857.html
aliexpress.com/item/Free-shipping-wireless-PIR-motion-sensor-night-lights-rechargeable-Led-Kids-Lamp-Bulb-Nightlight-for-Children/32727393180.html
и т.д.
Там одна батарея АА:)
если разобраться, то он и не конкретизировался конкретно на этом светильнике))
при большом желании и ради спора, можно туда повесить литий через гасящий резистор и всё будет нормально работать ;)
Зачем придираться по мелочам?
А вот этот
работает без замечаний
15 минут потратил толку никакого блин((
Там придумана такая логика.
Сигнал с датчика движения — плавно зажигается свет
Больше какого то времени нет сигнала с датчика движения — свет тухнет на половину
И только после следующего таймаута свет плавно гаснет до конца.
Этот период, когда свет притух наполовину нужен чтобы пошевелиться и дать сигнал датчику.движения
На мой взгляд, вполне себе нормальная логика для дежурного света. В полной темноте не остаешься. Раз уж в управлении микроконтроллер, то можно и не такое придумать
2 — датчик освещенности с легкой сменой чувствительности в заданном диапазоне
3 — плавное включение и выключение
4 — ручной выключатель
вот для этого и сделал
Я добавил две функции в подобное
1. Логарифмическую зависимость регулировки ШИМ в связи с нашим устройством глаза.
2. Еще одну кнопочку на плате (нога свободная есть у тиньки), через которую можно задавать параметры (время нарастания и убывания ШИМ, время горения). По принципу настройки машинной сигнализации с брелка. Можно использовать прибор более универсально и не нужно постоянно программатором лазить на плату
Логарифмическую зависимость вполне можно, позже, пока результат устраивает
Кому как. Я не люблю однокнопочный интерфейс, мне проще выставить программатором
Правда можно задавать параметры подстроечными или переменными резисторами, как здесь:
64 байт у 13-й тиньки вполне хватит сохранить конфигурацию.
+ за подсказку.
Я обычно тоже 100Ом ставлю, хотя наверное можно и 10К.
мегаэксперт считает что там вообще не нужно резисторов :)
схемка из обзора трудится исправно
У меня без него любая тинька и мега шьется
У меня похожая схема более года работает на кухне.
Чтобы схема, при необходимости работала в светлое время суток, выключатель датчика освещенности поставил в разрыв фоторезистора, сэкономив при этом вывод микроконтроллера.
Тоже хочу переделать ее на 13-ю тиньку. Программу переделал, на монтажной плате все работает, но никак руки не дойдут сделать печатную плату.
Выключатель в разрыв фоторезистора будет его отключать, но не включать свет, если вас такая логика устраивает, норм. В данном случае, выключатель независим от пир, можно включить и не двигаться пару часов, свет будет гореть. Совсем другая логика. Ну и экономить пины в данном случае смысла не вижу, а у вас вообще целая ардуино — зачем экономить там, даже не знаю
По поводу экономии вывода — я имел ввиду Вашу тиньку.
Ну и мне не нужна вечная ночь — мне нужен выключатель
хотя конечно повторить обозреваемое не взялся бы,
я готовенькое больше практикую :-)
Первая поделка на ардуино. И заработала, блин с первого раза!
добрался до домашнего ноута. опишу свою поделку. На полноценный обзор вряд ли потянет, поэтому скромно в камментах.
Схема подключения накидана в каменте
Датчик — сабжевый
Мосфет, понижайка, ардуино нано, первые попавшиеся фоторезисторы. 12В питальник из запасов от мертвого роутера.
Скетч (из статьи на гиктаймс. Убрал лишь обработку фоторезистора. Он замечательно обрабатывается самим датчиком. куда припаять — ниже на картинке видно):
ну и тут все таки иное устройство чем в обзоре
Повторюсь, это моя первая поделка на Ардуино. Устройство категорически иное, но выполняет аналогичные вещи.
Я и многие здесь вряд ли когда-нибудь хотя бы попытаются воспроизвести Ваши изделия. Как бы ни хотелось, но подготовка не та.
С мая месяца (дата публикации вышеупомянутой статьи на ГТ) вынашивал идею автоматический подсветки плинтуса. Но даже там все было сложно для меня. Более того, критика в камментах навела меня на поиски альтернативного безардуинового решения. Я донимал знакомых хоть как-то связанных со схемотехникой, понакупил радиодеталек, но в итоге собрал-таки схему на ардуино, ибо так проще. Код не мой. Я вообще в сях как свинья в апельсинах — это же С язык, верно? Я когда-то в универе на паскале кодил… Разобраться в готвом коде с ГТ было не сложно, но сам бы я вряд ли его написал. Я просто выбросил обработку фоторезистора, ибо впаял его в датчик.
В итоге я получил то, что хотел. И если кто-то ищет аналогичное решение, но не готов травить плату и делать Ваш вариант устройства, но справится с моим — я только за.
хорошо получилось
просто странно выглядит код, когда с цифрового датчика с помощью ацп читают данные
motion = analogRead(motionSensorPin);
и еще ряд моментов
Впрочем — работает, разработчика устраивает — и хорошо
впайка в пир фоторезистора ограничивает возможности настройки порогов… хорошо если они у вас удачно совпали с требуемыми
Можете просмотреть переписку ниже мою с «SterX», может подскажите или дополните если я ерунду говорю.
Спасибо!
Вот все что есть на руках:
В первом случае пригодится одна из двух одинаковых AMS1117 для ее питания.
Во втором же они лишние и питаться она будет от LM2596, что выше на фото. Обязательно прежде, чем подавать питание, настроить напряжение на ней!
И не вижу фоторезистора. Без него схема будет работать при любом освещении. С резистором — только в темноте.
Итак, резюмируя:
1. Ищем UART
2. Разбираемся с напряжением питания ардуины
3. Думаем, нужен ли фоторезистор.
4. Источник питания 12В и светодиодная лента уже есть?
Читаю, что можно и запитать от 12В через «RAW» arduino.ua/ru/hardware/ProMini
Сейчас буду заказывать уарт для прошивки «CP2102 Module».
А ленты и блоков питания хватает… этого добра набрался) 5630, 5730, 3014, 3528…
А насчет фоторезистора, то решил без него. Это коридор, пускай всегда вкл при наличии движения.
ПС. Смущает лишь одно. Блок 12В всегда включен( на долго ли его хватит…
Может быть, стоит потренироваться на ардуино нано? Она попроще — прошиваеться по USB безо всяких UART…
Насчет 12 В питания — не знаю. надо пробовать или гуглить.
Запилил видео и схему набросал, чтобы тебе проще было.
Отладку кода — плавность включения/выключения и задержку буду делать когда соберу уже по месту. Пока ждал запчасти — решил переехать в частный дом. Вот там и развернемся :)
Плавность чуть отредактировать, а то быстро вкл/выкл)
Спасибо за потраченное на меня время)
Просто вкл и выкл по датчику свети и движение делается с помощью одного девайса да 3 дол и там паяльник и комп не нужен…
Верно ведь? Или у Вас другие цели?
И он работает. днем датчик молчит, в темноте — работает
Пара вопросов: как панелизацию в Спринте сделал и как функции On-Off работают, переполнения со сбросом в do не происходит? Ну видимо нет раз работает.
Совет: делал проект другой на Attiny с компактным кодом. Один и тот же скетч скомпилированный в Arduino IDE под Linux в виде готового .hex весил на 500 байт меньше, чем скетч, скомпилировааный в Винде. Наверное сам компилятор по другому работает в никсах.
так при переполнении 0 будет, про линукс гляну — когда раньше смотрел одинаково было
Датчик включит блок питания, а по светодиодам уже отдельно надо думать, по схеме включения и прочему, то есть датчик тут не причем