WordPress database error: [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

Clock-calendar-thermometer ATMega8

Author: Сергей КИРИЧИК

Хочу представить еще одни часы с термометром на микроконтроллере. В основе устройства лежит микроконтроллер фирмы 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 страниц (на украинском языке). Оформление идеально подходит под дипломную или курсовую работу. Download содержание.

Contact author

admin

31 Comments

  1. WordPress database error: [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 database error: [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