СОВРЕМЕННАЯ ЭЛЕКТРОНИКА №9/2015
ИНЖЕНЕРНЫЕ РЕШЕНИЯ 54 WWW.SOEL.RU СОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 9 2015 а б После завершения инициализации модуля датчика Digital Light Sensor и периферииМК устройство автомати- чески переходит в основной рабочий режим, в котором осуществляется пери- одическое чтение из датчика результа- тов измерений обоих оптических кана- лов, вычисление из полученных данных значения уровня текущей освещённо- сти в люксах и вывод его наЖКИ в виде пятизначного числа крупным шриф- том в верхней строке экрана. Менее крупным шрифтом на ЖКИ выводит- ся вспомогательная информация: зна- чения результатов АЦП для обоих кана- лов (Ch0 = XXXXX, Ch1 = XXXXX), зна- чение аналогового усиления датчика (Gain = XX), как показано на рисунке 8б. В зависимости от текущего уровня освещённости аналоговое усиление адаптивно подстраивается програм- мой под этот уровень, чтобы, пока это возможно, не допускать переполнения регистров результата АЦП. Если при минимальном усилении (Gain = 01) всё же происходит переполнение АЦП хотя бы в одном из оптических каналов, на ЖКИ выводится надпись «OVERFLOW», а отображаемое значе- ние освещённости в люксах заменя- ется прочерками. Заметим, что датчик TSL2561 имеет аппаратный выход пре- рываний INT, который удобно было бы использовать для оповещения МК об окончании текущего преобразо- вания. К сожалению, в модуле Digital Light Sensor этот выход датчика не выведен на разъём, поэтому в данном приложении управляющая програм- ма просто производит чтение данных измерений из Digital Light Sensor каж- дые 500 мс. Периодичность преобра- зований в датчике при этом задана равной 400 мс. Поскольку в датчике реализована двойная буферизация выхода, полученные данные всегда достоверны. Помимо основного рабочего режи- ма в устройстве имеются ещё четыре вспомогательных режима индикации- задания пользовательских констант – порогов срабатывания каналов управ- ления-сигнализации: порога макси- мума для канала 1 (константа MAX LIMIT), порога минимума для канала 2 (константа MIN LIMIT), порога макси- мума полосы для канала 3 (константа MAX LIMIT BAND), порога минимума полосы для канала 3 (константа MIN LIMIT BAND). Перемещения между все- ми режимами осуществляется по коль- цу с помощью кнопки SW3 «SEL». Изме- рение уровня освещённости во вспо- могательных режимах устройство не осуществляет. При переходе в каждый из этих режимов на экране отобража- ется название константы и её значе- ние, выгруженное из EEPROM, о чём свидетельствует надпись «EEPROM» в нижней строке ЖКИ. Как только пользователь начинает модифици- ровать отображаемое значение кон- станты, надпись «EEPROM» на экра- не заменяется надписью «Changed». Модификация отображаемых на ЖКИ значений порогов осуществляется с помощью кнопок SW5 «>» и SW6 «<». При однократном нажатии на кноп- ку SW5/SW6 значение увеличивает- ся/уменьшается на единицу. Если нажать и удерживать нажатой кноп- ку SW5/SW6 больше одной секунды, то значение начнёт автоматически увеличиваться/уменьшаться с боль- шой скоростью, пока удерживается кнопка. Таким способом достаточно удобно реализуется быстрое задание больших значений порогов. Установ- ленное кнопками SW5, SW6 значение порога не станет активным (не всту- пит в силу), пока не будет записа- но в EEPROM. Запись в EEPROM осу- ществляется нажатием на кнопку SW4 «SAVE». Успешное завершение запи- си индицируется заставкой на ЖКИ «SAVE EEPROM» и сопровождается тройным звуковым сигналом. Запись значений порогов в EEPROM органи- Рис. 8. Отображаемая на ЖКИ информация: а – соответствующая успешной инициализации модуля Digital Light Sensor и периферии МК; б – в основном рабочем режиме измерителя Рис. 7. Внешний вид макета устройства
RkJQdWJsaXNoZXIy MTQ4NjUy