×
Traktatov.net » Занимательная электроника » Читать онлайн
Страница 350 из 376 Настройки

Полная схема подключения всех компонентов для главного модуля станции в варианте с двумя такими OLED-индикаторами представлена на рис. 22.1. На схеме не показаны соединения с SD-картой (контакты D4 и D11-D13), а также подключение Xbee-модуля (питание 3,3 В и контакты последовательного порта D1 и D2) — все это осуществляется автоматически при установке платы Wireless Shield SD на плату Arduino. Естественно, также не показан сам последовательный порт, размещенный на плате Arduino. Версию с ЖК-дисплеем мы опишем позже, а сейчас рассмотрим последовательно особенности подключения и программирования каждого из компонентов.


Подключение строчных OLED-дисплеев

Как мы уже говорили, для строчных матричных экранов стандартный контроллер носит название HD44780. Для работы с ним имеется стандартная библиотека LiquidCrystal, входящая в состав Arduino IDE. С командами HD44780 совместим интерфейс любых подобных конструкций, причем и ЖК- и OLED-разновидностей, однострочных или многострочных. Потому необязательно применять именно WEH001602В (буква В в конце наименования в данном случае указывает на высоту строки, 1602 означает, что это 16 символов на 2 строки). Почти без изменения программы можно ставить в схему любой подобный индикатор, в том числе и других производителей. Однако фирма Winstar захотела несколько улучшить стандарт, и потому ее произведения все-таки имеют свои особенности, о которых мы поговорим далее.

В 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 такой делитель на всякий случай уже установлен и без нашего вмешательства).