Например TDA7294

РадиоКот > Схемы > Цифровые устройства > Бытовая техника

Мегатермо. Часть вторая.

Автор: Gordon Shumway, alfik24@gmail.com
Опубликовано 12.12.2013.
Создано при помощи КотоРед.

       После опубликования статьи о термометре на дисплее Nokia 3310 "Мегатермо" многие, кто повторял конструкцию, писали о несовместимости дисплеев от Nokia 3310. Оригинальные дисплеи работали прекрасно, а китайские, как выяснилось, имели отличия от оригинального дисплея, что не давало нормально работать им во многих радиолюбительских конструкциях, однако в телефонах Nokia 3310 оба дисплея чувствовали себя хорошо.  По этой причине я решил переделать конструкцию термометра под дисплей Nokia 1100, который тоже широко известен, доступен, дёшев, имеет встроенную подсветку. Во время разработки использовалась библиотека уважаемого Mr Shilov, найденная на просторах интернет, за что ему огромное спасибо. Во время работы над этим проектом возникали вопросы, на которые автор библиотеки отвечал, помогая мне. В этой статье я делюсь не только собственно схемой, но и наработками, которые появились у меня в процессе работы с дисплеем Nokia 1100.

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

 

     О схеме. Так же, как и в предыдущей конструкции, был применен микроконтроллер ATmega8a. Никаких особенностей схема не имеет, всё включено стандартно.  Короткое нажатие кнопки S1 из основного режима приводит к выводу на дисплей максимумов и минимумов температуры, зафиксированных во время работы. Длинное нажатие из основного режима приведет к сбросу максимумов и минимумов температуры на текущие показания. Дисплей мигнёт и вне очереди снимет показания с датчиков.

 

 

     
Питание схемы - 3 вольта (максимум для дисплея). У меня применена батарейка от фотоаппаратов CR123, которой хватает примерно на 3-4 месяца работы. Батареек AA или ААА хватит на заметно больший период. Измерение температуры производится раз в две минуты, во время снятия показаний с датчиков появляется анимированный значок "песочные часы".

 

 


Программа написана в Bascom AVR, в архиве есть скомпилированная прошивка hex и текст с комментариями.
Так же в архиве есть исходные картинки и необходимые программы для создания картинок и адаптации их под дисплей Nokia 1100.

     Большую часть времени микроконтроллер находится в режиме Idle. Просыпается он по таймерному прерыванию чтобы снять показания с датчиков, или по int0 чтобы показать максимумы и минимумы.

А фьюзах. Используется тактирование от внутренней RC-цепочки 1Мгц (эта настройка по умолчанию на новом микроконтроллере).

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

 Оригинальный файл шрифтов                                                                Доработанный файл.   

          Для корректировки шрифта в программе FastLCD сначала создаем новый документ размером 96х80 и с сеткой 6х8.

 


Загружаем файл fonts.bmp ии рисуем свой. Далее производим необходимую корректировку. Затем выгружаем полученный файл *.bmp. В программе Bascom AVR выбираем Tools-Grafic Converter, делаем настройки сообразно скриншоту и сохраняем файл *.bgf.

Далее в шестнадцатиричном редакторе удаляем первые два байта, сохраняем файл и меняем расширение на *fonts.inc.

Размер файла должен быть 960 байт. Шрифты готовы для использования в программе.

           Для картинок все немного проще. В программе FastLCD создаем документ 96х68 и сетку 6х8.

 

Рисуем новое или корректируем старое. Выгружем *.bmp. В программе Bascom AVR выбираем Tools-Grafic Converter, делаем настройки сообразно скриншоту и сохраняем файл *.bgf.

  

Картинка готова для использования в программе.

Для работы с дисплеем и использования картинки в самом конце программы вставляется строка:

$include "Nokia-1100 Library.inc"                           ' используем библиотеку дисплея library.inc
$inc Tmp1 , 334 , "tmp1.bgf"

Tmp1 - имя картинки в программе, tmp1.bgf - имя файла, 334 - его размер.
Для вывода картинки на дисплей:

Call Nokia_picture(tmp1) ' где tmp1 - имя картинки.

Файл шрифтов уже прописан в библиотеке дисплея, поэтому его специально в программе прописывать не нужно, а файл должен называться fonts.inc

Сама библиотека дисплея довольно прожорлива, поэтому довольно затруднительно написан что-либо вменяемое в микроконтроллер ниже Меги8.

В архиве Megatermo.rar находятся все необходимые файлы, исходники, прошивка, схема, плата.

В архиве 01.rar находится оригинальная библиотека с неизмененными файлами.

 


 


Файлы:
Архив RAR
Архив RAR


Все вопросы в Форум.


ID: 1841

Как вам эта статья?

 Нравится
 Так себе
 Не нравится

Заработало ли это устройство у вас?

 Заработало сразу
 Заработало после плясок с бубном
 Не заработало совсем

88 4
8
Подробно