Читаем Занимательная электроника полностью

Для объявления кириллической таблицы шрифтов найдите в файле начало функции void LiquidCrystal::begin. Там, внутри оператора if (lines > 1), имеется строка номер 87: _displayfunction |= LCD_2Line;. Сразу после нее (перед замыкающей операторной скобкой «}») вставьте еще одну строку:

_displayfunction |= 0x02; //russian codetable

Она устанавливает биты FT в состояние 1:0, соответствующее таблице ENGLISH_RUSSIAN. Сами коды кириллических символов одинаковы и для старого варианта HD44780 с «прошитой» русской таблицей, и для нового WS0010 (табл. 22.1). Подогнать под кодировку UTF-8 здесь их не удастся (и исправить перечеркнутый ноль тоже). В отличие от таблицы ASCII, в этих таблицах указаны только кириллические символы, отличающиеся от английских, потому в функции print () совпадающие буквы в обоих языках можно указывать напрямую, как обычно, а кириллические придется вставлять указанием их числового кода.

В табл. 22.1 приведены шестнадцатеричные коды символов (в строке записываются с предваряющим ), а также восьмеричные. В тексте программ на основе и без того совершенно нечитаемого языка С, на мой взгляд, восьмеричные выглядят компактнее, потому что требуют одного лишь предваряющего обратного слэша.



Обычные символы и коды можно писать вперемешку. Например, процедура замены английских названий дней недели на русские при выводе показаний часов DS1307 (см. далее) будет выглядеть, как показано в листинге далее. Сами часы выдают дни недели в цифровом виде, а соответствующие им англоязычные константы MON, TUE и т. п. уже определены в файле ds1307.h.



Подключение библиотеки LiquidCrystal


После подключения библиотеки LiquidCrystal к программе ее необходимо инициализировать, причем с указанием реальных контактов, к которым присоединяются выводы выбора индикатора RS, разрешения Е и линии данных. Индикаторы на базе HD44780 могут подключаться как по восьмипроводной, так и по четырехпроводной линии данных. Все реальные библиотеки в целях экономии числа соединений, естественно, выбирают второй способ. В нашем случае таких индикаторов два: четыре линии данных у них будут общие, а линии RS и Е различаются — ими мы будем обеспечивать выбор текущего дисплея.

Таким образом, тестовая программа для двух дисплеев WEH001602В, подключенных согласно схеме на рис. 22.1, будет выглядеть следующим образом:



Часы реального времени DS-1307


Модуль часов реального времени RTC на основе микросхемы DS-1307, предлагаемый в «Амперке», имеет один недостаток — к нему требуется батарейка редко встречающегося в продаже типоразмера CR1225, которую придется приобретать отдельно. Проблемой в дальнейшем это, однако, не станет: согласно спецификации, DS-1307 потребляют ток 0,5 мкА, так что в теории этой батарейки при ее емкости 48 мА-ч должно хватать примерно лет на десять — больше, чем ее гарантийный срок хранения. Надо учесть, что без установленной батарейки часы неработоспособны, и их не удастся даже запрограммировать.

Сам модуль представляет собой практически «голую» микросхему DS-1307 с установленными резисторами «подтяжки» для интерфейса 12С. К Arduino модуль подключается через штатные выводы аппаратного I2C (TWI) MK AVR, т. е. через контакты платы Arduino А4 (SDA) и А5 (SCL). Доступ к этому интерфейсу реализован в стандартной библиотеке Wire.h, поставляемой вместе со средой Arduino IDE. Подробно об интерфейсе I2С (другое название интерфейса: TWI, Two Wire Interface) можно прочесть в моей книге [21], здесь мы только укажем, что к нему одновременно могут подключаться до 128 устройств (различаются они программно по индивидуальному адресу). Поэтому на схеме к тем же выводам подключен еще и барометр, который мы рассмотрим позднее.

* * *

Перейти на страницу:

Похожие книги

Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
PIC-микроконтроллеры. Все, что вам необходимо знать
PIC-микроконтроллеры. Все, что вам необходимо знать

Данная книга представляет собой исчерпывающее руководство по микроконтроллерам семейства PIC компании Microchip, являющегося промышленным стандартом в области встраиваемых цифровых устройств. В книге подробно описывается архитектура и система команд 8-битных микроконтроллеров PIC, на конкретных примерах изучается работа их периферийных модулей.В первой части излагаются основы цифровой схемотехники, математической логики и архитектуры вычислительных систем. Вторая часть посвящена различным аспектам программирования PIC-микроконтроллеров среднего уровня: описывается набор команд, рассматривается написание программ на ассемблере и языке высокого уровня (Си), а также поддержка подпрограмм и прерываний. В третьей части изучаются аппаратные аспекты взаимодействия микроконтроллера с окружающим миром и обработки прерываний. Рассматриваются такие вопросы, как параллельный и последовательный ввод/вывод данных, временные соотношения, обработка аналоговых сигналов и использование EEPROM. В заключение приводится пример разработки реального устройства. На этом примере также демонстрируются простейшие методики отладки и тестирования, применяемые при разработке реальных устройств.Книга рассчитана на самый широкий круг читателей — от любителей до инженеров, при этом для понимания содержащегося в ней материала вовсе не требуется каких-то специальных знаний в области программирования, электроники или цифровой схемотехники. Эта книга будет также полезна студентам, обучающимся по специальностям «Радиоэлектроника» и «Вычислительная техника», которые смогут использовать ее в качестве учебного пособия при прослушивании соответствующих курсов или выполнении курсовых проектов.

Сид Катцен

Радиоэлектроника
Электроника для начинающих
Электроника для начинающих

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию для защиты от проникновения в дом, елочные огни, электронные украшения для одежды, устройство преобразования звука, кодовый замок, автономную роботизированную тележку и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий.Для начинающих радиолюбителей

Паоло Аливерти , Чарльз Платт

Радиоэлектроника / Технические науки