Новичок
Регистрация: 10.04.2019
Сообщений: 15
Репутация: 10
![]() |
|
||
Оценка
|
Специалист
|
Модуль фоторезистора: используете его аналоговый выход AO или цифровой DO?
Без отладочных данных могу предположить: в случае "день" - контролллер не включает подсветку по датчику движения, т.к. в помещении "достаточный" уровень освещенности. В случае "ночь" - непонятное поведение, не исключаю что колпачок недостаточно хорошо закрывает фоторезистор. В скетче имеются пороговые значения для датчика освещенности (для разграничивания режимов работы, посмотрите комментарии в скетче) и эти значения подбирались по фоторезистору. Добавьте в скетч операторы Serial.print(), чтобы выводить в вреальном времени значения по освещенности (режим работы и пр) в последовательный порт. Сможете? Знаете как это сделать? Где смотреть выводимые с Ardiuino данные?
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота. |
||
Оценка
|
Новичок
Регистрация: 10.04.2019
Сообщений: 15
Репутация: 10
![]() |
Цитата:
Модуль фоторезистора: используете его аналоговый выход AO или цифровой DO?
Без отладочных данных могу предположить: в случае "день" - контролллер не включает подсветку по датчику движения, т.к. в помещении "достаточный" уровень освещенности. В случае "ночь" - непонятное поведение, не исключаю что колпачок недостаточно хорошо закрывает фоторезистор. В скетче имеются пороговые значения для датчика освещенности (для разграничивания режимов работы, посмотрите комментарии в скетче) и эти значения подбирались по фоторезистору. Добавьте в скетч операторы Serial.print(), чтобы выводить в вреальном времени значения по освещенности (режим работы и пр) в последовательный порт. Сможете? Знаете как это сделать? Где смотреть выводимые с Ardiuino данные? вот это место? void LightingChange_Det () { current_luminosity = analogRead(Light_Sensor); if ((current_luminosity - previus_luminosity > 40) && (Light_On == false)) { Lighting_mode = 1; //включили основной свет, подсветка была выключена; Mode_Set(); //включаем подсветку (дневной режим, этап 1) } if ((current_luminosity - previus_luminosity > 40) && (Light_On == true) && (Lighting_mode == 1)) { Lighting_mode = 2; //включили основной свет, подсветка активна (дневной режим); Mode_Set(); //увеличиваем яркость (дневной режим, этап 2) } else if ((current_luminosity - previus_luminosity > 40) && (Light_On == true) && (Lighting_mode == 4)) { Lighting_mode = 5; //включили основной свет, подсветка активна (ночной режим); Mode_Set(); //увеличиваем яркость (ночной режим, этап 2) } previus_luminosity = current_luminosity; if ((current_luminosity > 110) && (Light_On == true)) { Lighting_mode = 0; //уровень освещения стал достаточным Mode_Set(); //выключаем подсветку } } у меня фоторезистор где то 183-215 открытый-светло 416-550 закрытый. куда мне это вставить? |
||
Оценка
|
Специалист
|
Это функция детектора изменения освещенности (если включили основной свет, то подсветка включается в заданный режим, либо переключается из одного режима в другой - кстати очень похоже на сработку данного детектора, когда вы закрываете колпачком фоторезистор, только должно быть наоборот, когда из темного резко в светлое), а также последний оператор сравнения - если уровень освещения в помещении достаточный, то подсветку выключаем.
В основном цикле программы также учитывается уровень освещенности, и если он больше установленного значения подсветка не включится. Эти данные по фоторезистору - получили с ардуино? т.е. значения АЦП (analogRead(Light_Sensor); затем serialPrint())? Если так, то что-то не сходится... При увеличении освещенности сопротивление фоторезистора падает, следовательно на аналоговом входе ардуино (вход для датчика освещенности) напряжение должно увеличиваться, соответственно значение должно увеличиваться... Т.е. 183-215 - должно быть при закрытом (и то... это много при закрытом, а также разброс большой), 416-550 - при открытом (но и такого диапазона не должно быть).... У меня просто при подключенном фоторезисторе (по типовой схеме включения с резистором) - в темноте значения с АЦП 1-4, при ярком освещении - редко когда достигает 300...
__________________
Уважаемые пассажиры, самолет ТУ-134 садится. У кого есть зарядка от ТУ-134, просьба пройти в кабину пилота. |
||
Оценка
|
Обратная связь РадиоЛоцман Вверх |