Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

31

Часы-календарь-термометр на ATMega8

Автор: Сергей КИРИЧИК

Хочу представить еще одни часы с термометром на микроконтроллере. В основе устройства лежит микроконтроллер фирмы ATMEL серии AVR  — ATMega8. Микроконтроллер работает с микросхемой реального времени DS1307 и цифровым датчиком температуры DS18B20.

Микросхема DS1307 представляет собой экономичные часы реального времени с последовательным интерфейсом, которая содержит часы-календарь с представлением информации в двоично-десятичном коде и 56 байт энергонезависимого статического ОЗУ. Адрес и данные передаются по двунаправленной двухпроводной последовательной шине. Информация о реальном времени и календаре представляется в секундах минутах, часах, дне, дате, месяце и годе. Если текущий месяц содержит менее 31 дня, то микросхема автоматически определит количество дней в месяце с учетом высокосности текущего года. Часы работают или в 24-часовом или 12-часовом формате с индикатором AM/PM (до полудня/ после полудня). DS1307 содержит встроенную схему контроля уровня основного источника питания и при его недопустимом значении автоматически переключается к резервной батареи.

Датчик DS18B20 — цифровой термометр с программируемым разрешением, от 9 до 12–bit, которое может сохраняться в EEPROM памяти прибора. DS18B20 обменивается данными по 1-Wire шине и при этом может быть как единственным устройством на линии, так и работать в группе. Все процессы на шине управляются центральным микропроцессором.

Диапазон измерений от –55°C до +125°C и точностью 0.5°C в диапазоне от –10°C до +85°C. В дополнение, DS18B20 может питаться напряжением линии данных (“parasite power”), при отсутствии внешнего источника напряжения.

Индикация реализована на семисегментном LED-дисплее с общим анодом. Принципиальная схема часов-термометра показана на рисунке.

схема часы

Часы-термометр. Принципиальная схема

При кратковременном нажатии кнопки S1 начинают поочередно мигать разряды для осуществления настройки времени и даты. Для этого используем кнопки S2 и S3 («+» и «-» соответственно). При нажатии кнопки S3 на табло высвечивается температура окружающей среды.

1

Часы-термометр. Индикация времени

Таким образом в нормальном режиме прибор отображает поочередно время и дату. А при нажатии на кнопку S3 показывает температуру. В начале каждого часа часы подают кратковременный звуковой сигнал.

Точность часов в основном зависит от примененного кварца. У меня погрешность времени составляет около двух секунд в месяц (спешат).

Прибор «Часы-календарь-термометр на ATMega8» собран на двух печатных платах (см. фото).

3 4 5 6 7В дальнейшем прибор будет усовершенствован, будут добавлены функции будильника и таймера.

Фьюзы для прошивки микроконтроллера:

1Архив к проекту (печатные платы, прошивка, исходник):
[hidepost] Прошивка и печатные платы;
Исходник [/hidepost]

Внимание! Есть научная работа по этому проекту написанная на 25 страниц (на украинском языке). Оформление идеально подходит под дипломную или курсовую работу. Скачать содержание.

Связь с автором

admin

31 комментарий

  1. Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
    SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (4866) ORDER BY umeta_id ASC

class="comment byuser comment-author-aizhan even thread-even depth-1 parent">

подскажите пож-та, какие два индикатора убрать чтобы смотреь можно время и температуру

  • Без двух индикаторов, смотреть температуру и время не получится. Температура отображается на двух последних индикаторах. См. рисунок.

  • Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
    SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (5113) ORDER BY umeta_id ASC