В OLED-версии дисплеев отсутствует вывод управления контрастом Vo
(вывод 3 индикатора не подключается), и также ни к чему не подсоединяются выводы 15 и 16, в ЖК-версии управляющие подсветкой. Правда, некоторые сетевые источники утверждают, что функциональность этих выводов можно восстановить путем перестановки некоторых перемычек на плате, и таким образом управлять яркостью свечения точек, но не очень понятно, зачем. Индикаторы WEH001602В могут работать как от питания 5 В, так и от питания 3,3 В, и именно от напряжения питания зависит яркость. Опыт показал, что нормальной яркости свечения дисплей достигает уже при 3,3 В. На схеме рис. 22.1 он подключен к питанию 5 В, при котором яркость в нормальных условиях явно избыточна. Однако я предполагаю, что передняя панель будет выполняться из прозрачного дымчатого пластика, затемняющего «потроха» прибора, так что в готовом изделии яркость окажется в самый раз.
Рис. 22.1
. Схема главного модуля метеостанции с OLED-индикаторами* * *
Подробности
Работа индикатора и контроллера от одного напряжения питания заодно позволит избавиться от необходимости соединять выходы Arduino со входами дисплея через резистивные делители согласования 5-вольтовых и 3-вольтовых уровней (так, как это будет делаться при подключении Xbee-модуля в выносном датчике, см. далее). А обязательно ли их устанавливать вообще? Зная, как устроены КМОП-входы микросхем (см. главу 15
), мы можем ответить на этот вопрос совершенно точно. Что будет происходить, если выход с уровнем 5 В подключить ко входу микросхемы, питающейся от напряжения 3,3 В? Как только напряжение на входе превысит напряжение питания более, чем на 0,6 В, через защитный диод на входе потечет ток. Его величина зависит от разных факторов (от величины превышения напряжения, от мощности выходного транзистора, от сопротивления защитного диода в прямом направлении), и эксперимент показывает, что в данном случае ток составит порядка 2 мА на каждом выводе. То есть на семь подключенных в данном случае выводов величина дополнительного тока составит около 15 мА, что примерно удвоит потребление всей схемы Arduino Uno. Это не опасно для микросхем и не критично при питании прибора от сети, но может послужить источником неприятностей при батарейном питании и, тем более, при вводе схемы в режим энергосбережения. Именно по этой причине мы в дальнейшем в выносном датчике и озаботимся установкой делителей (в главном модуле благодаря плате Wireless Shield такой делитель на всякий случай уже установлен и без нашего вмешательства).* * *
Потребление индикатора WEH001602В при питании 5 В, согласно фирменной документации, составит 43 мА. Обратите внимание, что это почти в полтора раза меньше, чем потребление ЖК-панели MT-12864J с включенной подсветкой. На самом деле потребление будет еще ниже — цифра в документации указывает на случай, когда засвечены все точки матрицы, в реальной жизни такого, конечно, не случается.
Контроллер WS0010
Модернизированный вариант стандартного контроллера HD44780 от Winstar носит незамысловатое наименование WS0010. Главное отличие его от стандартного заключается в наличии нескольких встроенных таблиц шрифтов, из-за чего управление этим дисплеем усложняется, и нам придется немного модернизировать стандартную библиотеку LiquidCrystal. Но проблема заключается не в одних только шрифтах — как водится, что-то улучшив, разработчики что-то и ухудшили.