Метеостанция, часы, будильник, календарь, таймер и ночник

Домашняя метеостанция с часами, календарем и будильниками

Дата публикации: 09 января 2010.

Рейтинг:  5 / 5

После подачи питания записанная в МК программа инициализирует его периферию, разрешает необходимые прерывания и устанавливает начальные значения даты (01.01.2005) и времени (00:00:00).

Учтите, пока установленное значение года меньше 2006, запись метеоданных в энергонезависимую память не ведется.

Затем инициализируется ЖКИ HG1, из EEPROM МК извлекаются необходимые для дальнейшей работы программы константы.

Основной бесконечный цикл программы включает в себя обработку нажатий на клавиши, команд компьютера, считывание и запоминание показаний датчиков.

Если установлена связь с компьютером или подается звуковой сигнал, МК переходит в режим IDLE, обеспечивающий работу всей периферии, в противном случае — в режим Extended Standby, обеспечивающий минимальное энергопотребление при сохранении функционирования таймера Т2 и реакции на внешние прерывания.

Тактовая частота МК задана кварцевым резонатором ZQ2 на 16 МГц. Резонатор ZQ3 (“часовой” на 32768 Гц) подключен к выводам OSC1 и OSC2 и обеспечивает работу встроенного в МК таймера Т2.

Установку МК в исходное состояние выполняет цепь R3C1VD1.
ЖКИ WH1602L подключен по четырехпроводной шине данных (РА0—РАЗ), его управляющие входы RS, RW, Е соединены с выходами РСЗ—РС5 МК.

Подсветку экрана ЖКИ включают кнопкой SB5.

Опрос датчиков температуры, давления, влажности, опрос клавиатуры, вывод информации на индикатор, сохранение результатов измерений, обслуживание часов и будильников осуществляются по прерываниям от переполнения таймера Т2, следующим с частотой 128 Гц. Все операции происходят раз в секунду.

Измерение температуры датчиком DS18B20 с точностью 0,1 °С занимает около 0,6 с. По этой причине МК сначала считывает из датчика результат прошлого измерения, а затем запускает новое, результат которого будет считан через секунду. Каждый час взводится флаг сохранения текущих результатов.

Само сохранение выполняется в основном цикле. Результаты записываются в организованный в памяти микросхемы DD2 кольцевой стек, адреса начала и конца которого хранятся в EEPROM МК. Этим обеспечивается энергонезависимость хранения накопленной информации.

Календарь, также работающий по прерываниям от таймера Т2, имеет автоматическую коррекцию високосного года.

Метеостанция допускает подключение одного или двух датчиков температуры DS18B20, один из которых (находящийся вне помещения) подключают через разъем XI.

Второй датчик температуры (ВЗ) смонтирован на основной печатной плате прибора. Эти датчики подключены по трехпроводной схеме и обмениваются информацией с процессором по протоколу 1-Wire.

Протокол реализован программно, информационным входом и выходом служит вывод PD4 МК.

В режиме настройки метеостанции (после первого нажатия на кнопку SB6) происходит автоматический поиск подключенных датчиков температуры с указанием при необходимости их расположения (в помещении или вне его). Индивидуальные номера датчиков сохраняются в энергонезависимой памяти МК.

Атмосферное давление измеряет датчик В2. Такие датчики имеют очень хорошую повторяемость угла наклона измерительной характеристики, однако нуждаются в компенсации ее смещения. Такая регулировка также предусмотрена в меню настройки.

Для измерения влажности служит датчик В1. Если приобретен датчик HIH-4000 группы 002 или 004, в приложенной этикетке должны быть указаны индивидуальные значения его параметров. Метеостанция допускает их ввод в режиме настройки.

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

Связь станции с компьютером по интерфейсу USB 2.0 организована с помощью микросхемы FT232RL (DD1), тактируемой кварцевым резонатором ZQ1. Описание этой микросхемы, драйверы (архив drv.rar), необходимые для создания в компьютере виртуального СОМ-порта для работы с ней, и утилиту ее конфигурирования (MProg2.9_Setup.exe) можно найти в архиве, или на сайте производителя.

Компьютер подает метеостанции команды согласно табл. 2, в ответ на которые получает от нее сообщения- Обмен информацией происходит только по инициативе компьютера, сама метеостанция работает автономно и полностью сохраняет свою функциональность независимо от подключения к компьютеру.

В МК должны быть запрограммированы разряды конфигурации SUT1, BODEN и СКОРТ, остальные остаются незапрограммированными. Без изменений в схеме вместо микросхемы ATmega32-16PU можно применить ATmega 16-16PU. При этом станет недоступным лунный календарь, а число контрольных точек уменьшится до 50. Программы для обоих МК прилагаются к статье.

Микросхему памяти АТ24С512 можно заменить любой другой из серии АТ24С (EEPROM с интерфейсом I2C), в соответствии с ее информационной емкостью уменьшив константу MAX_SAVE в файле serv.h и перекомпилировав программу.

Если связь с компьютером не требуется, микросхему FT232RL можно вообще не устанавливать. При соответствующем изменении печатной платы вместо нее можно установить преобразователь уровней RS-232—ТТЛ, например, серий МАХ220—МАХ249.

Связь с компьютером после такой замены будет происходить через обычный, а не виртуальный СОМ-порт.

Вместо интегрального стабилизатора КР142ЕН5А можно использовать 7805 или другой стабилизатор на 5 В. ЖКИ подойдет любой, имеющий две строки по 16 символов и встроенный контроллер, совместимый с HD44780.

Закончив и проверив монтаж метеостанции, включают ее, не устанавливая МК в предназначенную для него панель. Подстроечным резистором R13 добиваются наилучшей контрастности верхней строки на экране ЖКИ.

Если эта строка не видна, проверяют еще раз монтаж, при отсутствии ошибок остается заменить ЖКИ исправным.

Убедившись в исправности ЖКИ, устанавливают в панель МК. После подачи питания будет выведена информация об изделии и его авторах, за ней последует короткий гудок. Это свидетельствует о нормальной работе. Нажатием на кнопку SB2 переходят в режим настройки. Устанавливают время, дату и включают режим “Поиск датчиков” для автоматической регистрации датчиков температуры.

При необходимости в пункте меню “Обмен” меняют местами датчики температуры “Дом” и “Улица”. Тарировку измерителя давления производят по образцовому барометру или по информации на интернет-сайтах. Если для датчика влажности известны индивидуальные значения параметров, их вводят, пользуясь соответствующими пунктами меню “Настройка”.

Датчики температуры в тарировке не нуждаются.

В рабочем режиме после включения питания на ЖКИ будут выведены время и дата. Кнопками SB1 и SB2 можно выбрать величину, значение которой отображается в верхней строке, а кнопками SB3 и SB4 — в нижней. Кнопкой SB6 переводят метеостанцию в режим настройки, следующим нажатием на нее — в режим просмотра накопленной информации (при ее наличии) или возвращаются в рабочий режим.

В режиме настройки кнопками SB1 и SB2 выбирают настраиваемый параметр, а кнопками SB3 и SB4 изменяют его. В режиме просмотра накопленной информации в верхней строке отображаются дата и время, а в нижней — хранящееся в памяти значение. Кнопками SB1 и SB2 выбирают время, а кнопками SB3 и SB4 — отображаемую величину.

Лунным фазам соответствуют числа от 0 до 1с одной десятичной цифрой после запятой. Знак числа показывает направление изменения фазы: “+” — растет,”-” — убывает.
Одновременное нажатие на кнопки SB1 и SB2 переводит метеостанцию в режим настройки будильников.

Читайте также:  Программируемые логические контроллеры

Номер будильника выбирают кнопкой SB2, кнопками SB3 и SB4 выбирают параметр, а кнопкой SB1 изменяют его значение. Возможна настройка каждого будильника на срабатывание в установленное время в любой комбинации дней недели. Выход из режима настройки будильников производится одновременным нажатием на кнопки SB1 и SB2.

Чтобы выключить звуковой сигнал сработавшего будильника, достаточно нажать на любую кнопку.

Источник: Радио №9, 2007г., авторы А. ЗУЙКОВ, И. КВАСОВ, г. Тула.

Архив для статьи “Домашняя метеостанция с часами, календарем и будильниками”
Описание:
Размер файла: 1.86 MB Количество загрузок: 2 484 Скачать

Источник: https://radioparty.ru/all-files/finish/5/22

Домашняя метеостанция, мега часы,будильник, лунный календарь,обратный таймер + ночник

СВОИМИ РУКАМИ ЧАСЫ С БАРОМЕТРОМ

7 个月 前

Оригинальный НОЧНИК Своими руками

2 年 前

Что можно сделать из битого дисплея планшета .

2 年 前

$10 QUEER EYE TRANSFORMATION (w/ Jon Cozart)

4 天 前

Ralph Breaks the Internet | Official Trailer 2

8 天 前

Ea2 ED609 Edge – метеостанция с дистанционным датчиком

3 年 前

Метеостанция на дисплее Nextion полный обзор. Как я это делаю?

年 前

Лунный спец выпуск. Bulova 96B251 Special Edition Moon Chronograph Watch

年 前

Многоканальный суточный таймер для аквариума

年 前

НАСТОЛЬНЫЕ ЧАСЫ С ТЕРМОМЕТРОМ И ГИГРОМЕТРОМ – МЕТЕОСТАНЦИЯ – АЛИЭКСПРЕСС

年 前

ЛУЧШИЙ ЭКРАН ДЛЯ АРДУИНО ARDUINO TFT LCD 1.44 SPI 128Х128 ЗА $3!

2 年 前

Планшет-метеостанция, система видеомониторинга для дома

年 前

Часы+ будильник + FM приемник на Arduino Nano + MAX7219

年 前

Урок 2 Ардуино часы DS1302 и LCD 16×2

10 个月 前

Домашняя метеостанция на Arduino ver 2

2 年 前

Китайская погодная станция с барометром (TS-76) Preview

年 前

Arduino Проекты #12 “Вывод данных с Ардуино на дисплей”

年 前

Крутые часы из оргстекла на Arduino и Neopixels

年 前

Обзор #1 Часы-метеостанция Marcmart CH113

5 年 前

ДОМАШНЯЯ МЕТЕОСТАНЦИЯ ЗА 5 МИНУТ [Умный Дом]

2 年 前

метеостанция Digoo DG TH8888 Pro

年 前

Arduino для детей – Светофор за 5 минут!

4 年 前

Суточный таймер с часами реального времени на Arduino

3 年 前

Простой кухонный таймер на Arduino с обратным отчетом времени

7 个月 前

Мини метеостанция с часами на ардуино

年 前

WIFI часы с метеостанцией на ESP8266

年 前

Как подключить датчик температры и влажности DHT22 к Ардуино

2 年 前

Метеостанция на Arduino mega nrf24l01+ цветной tft дисплей 3,5 дюйма

2 年 前

Arduino Проекты #10 “Метеостанция на Ардуино”

年 前

мои первые шаги – домашняя метеостанция Arduino

年 前

Урок 37. Часы с «вредным» будильником | iarduino.ru

年 前

Метеостанция ARDUINO и DHT11 DIY. Weather station ARDUINO and DHT11 DIY.

年 前

Реализация часов на Arduino

2 年 前

Ардуино: проект походная метеостанция

2 年 前

Компактная домашняя метеостанция на Arduino с часами реального времени

年 前

Arduino метеостанция (TFT)

2 年 前

Говорящая метеостанция своими руками

11 个月 前

Подключаем часы реального времени DS1302 для Ардуино

年 前

3 年 前

Метеостанция+часы на ARDUINO в FLPROG

年 前

часы ардуино 1602 псевдографика

年 前

2 年 前

Таймер на Ардуино (Проект №1)

年 前

Источник: https://cnvid.net/video/%D0%B4%D0%BE%D0%BC%D0%B0%D1%88%D0%BD%D1%8F%D1%8F-%D0%BC%D0%B5%D1%82%D0%B5%D0%BE%D1%81%D1%82%D0%B0%D0%BD%D1%86%D0%B8%D1%8F-%D0%BC%D0%B5%D0%B3%D0%B0-%D1%87%D0%B0%D1%81%D1%8B-%D0%B1%D1%83%D0%B4%D0%B8%D0%BB%D1%8C%D0%BD%D0%B8%D0%BA-%D0%BB%D1%83%D0%BD%D0%BD%D1%8B%D0%B9-%D0%BA%D0%B0%D0%BB%D0%B5%D0%BD%D0%B4%D0%B0%D1%80%D1%8C-%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D1%8B%D0%B9-%D1%82%D0%B0%D0%B9%D0%BC%D0%B5%D1%80-%D0%BD%D0%BE%D1%87%D0%BD%D0%B8%D0%BA-hJ453LB2uiQ.html

Домашняя метеостанция, мега часы,будильник, лунный календарь,обратный таймер + ночник

8 меc назад

Модули и контроллеры Ардуино на моем сайте: http://voltnik.ru/arduino/ Все мои проекты и самоделки: http://voltnik.ru/samodelki/ Классная и полезная самоделка. Представляю вам законченный проект часов на Arduino. Для его самостоятельной сборки вам понадобится: – контроллер Arduino Nano: http://ali.pub/28sn0v резерв: http://ali.

pub/2351o1 – экран LCD 2004 с модулем I2C: http://ali.pub/29hyvr – модуль реального времени DS1302: http://ali.pub/29hyw5 – более точный модуль времени DS3231: http://ali.pub/29jzlk (DS3231 не подходит к моей прошивке, нужно менять код) – модуль барометра BMP180: http://ali.pub/29hywq – кнопки 25шт: http://ali.

pub/28sn4y резерв: http://ali.pub/235230 – Фоторезистор: http://ali.pub/29hyxw – набор резисторов 600шт: http://ali.pub/28smng – монтажный провод 280м: http://ali.pub/27hcky – черный корпус: http://ali.pub/29hz44 резерв: http://ali.pub/29hz4b – дешевые макетные платы 10шт: http://ali.pub/29i0fy Страница проекта: https://github.

com/voltnik/WeatherClock-2004 Еще может пригодится: – маркер с флюсом: http://ali.pub/27h8tm резерв: http://ali.pub/27h8z2 – термоклеевой пистолет http://ali.pub/27hbfq резерв: http://ali.pub/27hbiu Печатный выпуск: http://voltnik.ru/voltnik-clock/ ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ ⇒ Скидка от 5% на все товары Алиэкспресс: https://goo.

gl/kYbrbq ⇒ Видео о том как работает скидка: https://youtu.be/D959at2-ChY ⇒ Мобильное приложение EPN cashback: http://epngo.bz/cashback_install_app/5b2e0 ⇒ Если вы хотите начать зарабатывать на Алиэкспресс: http://epngo.bz/epn_index/5b2e0 ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ Прошлые выпуски: RGB ФОНАРЬ: https://youtu.

be/MRYwmXUniJM 100 ВАТТНЫЙ ФОНАРЬ: https://youtu.be/N95ddG61-2M 200 ВАТТНЫЙ ФОНАРЬ: https://youtu.be/5vJjlrJVPSg ИГРА РЕАКЦИИ: https://youtu.be/cxtq-a6vVpQ КОМПАКТНЫЙ ВЫСОТОМЕР: https://youtu.be/q__ANYfkhVY ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ ⇒ Подключайте свой канал к партнерке Air: http://goo.

gl/qheq3F ♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦ ✔ Группа ВК: http://vk.com/china_nay ✔ Сайт канала: http://voltnik.ru/ #voltnikArduino #voltnikСамоделки

2 лет назад

Циклическое реле покупал здесь► http://ali.pub/195c0g Характеристики реле: Питание 12 в Ток покоя: 50mA после настройки параметры автоматически сохраняются время: от 0 до 999.

9 секунд от 0 до 9999 секунд от 0 до 9999 минут срок службы: ” 10 миллионов раз Рабочая температура:-40 ~ 85'C размер: 61 мм × 35 мм Приветствую всех на канале Маде ин Чина.

На этом канале вы найдете распаковки и обзоры товаров с интернет магазина aliexpress .

2 лет назад

Группа в ВК: https://vk.com/public106980867 Спонсор: Магазин “Все Инструменты.ру” http://fas.st/jSWu2C Светодиодная лента: http://ali.pub/am4gb Выключатели:http://ali.pub/iuw2e Блок питания http://ali.

pub/38jfr Купить любой товар и гарантированно вернуть 7% после простой регистрации, пользуюсь этим сервисом больше года: https://cashback.epn.bz/?inviter=3a458 Композиция “Daily Beetle” принадлежит исполнителю Kevin MacLeod. Лицензия: Creative Commons Attribution (https://creativecommons.org/licenses/by/4.0/).

Оригинальная версия: http://incompetech.com/music/royalty-free/index.html?isrc=USUAN1500025. Исполнитель: http://incompetech.com/

3 лет назад

Краткий обзор домашней метеостанции FIRST FA 2461 1 Адрес ссылки видео: Установка даты и времени на метеостанции FIRST FA-2461-1: https://www.youtube.com/watch?v=d3e8A0LzMdg

3 лет назад

В данном видео рассказывается куда можно применить модуль подсветки от битого экрана от планшета . Вступай в группу ВК : https://vk.com/chinashopsforyou

2 лет назад

Bulova вошла в историю космоса 2 августа 1971-го во время миссии Apollo 15 (Аполлон 15). Лунный пилотский хронограф, настроенный для лунных условий инженерами Булова, носили на Луне.

Теперь Булова входит в историю еще раз со специальным изданием Moon Watch, обновленные с их эксклюзивным высокоэффективным кварцевым механизмом с частотой 262 кГц для непревзойденной точности.

Особенности включают в себя светящиеся стрелки и маркеры, антибликовое сапфировое стекло, тахиметр и календарь размещены в корпусе из хирургической нержавеющей стали 316L серебристого тона с черным циферблатом.

Два сменных ремня включены – один текстурированная черная кожа; второй – черный нейлон с нубуком, который ознаменовывает дату миссии (DOM) в качестве 08021971 Instagram https://www.instagram.com/watch__review/ Можете помочь проекту звонкой монетой (can help with money): WebMoney: Рубли (RUR) R179770218863 Доллары (USD) Z118709450947 Гривна (UAH) U878595928548 PrivatBank гривна: 5168755527762104

3 лет назад

Don't forget to subscribe as more cool tutorials awaits you! More information on this tutorial: http://www.himix.lt/?p=1179 For more tutorials please visit: http://www.himix.lt I also recommend to join my shopping network: http://www.mylyconet.com/edgarasart/shopping-network Money returns every time you buy!

4 лет назад

Источник: https://syoutube.ru/watch/domashnyaya-meteostantsiya-mega-chasibudilnik-lunniy-kalendarobratniy-taymer-nochnik/hJ453LB2uiQ

Метеостанция, часы, будильник, календарь, таймер и ночник

Встала задача собрать устройство, которое бы выполняло функции комнатной метеостанции и будильника. Основные функции,  которое может выполнять устройство:

  • Измерение температуры в помещении с помощью датчика BMP180 c дискретностью 0.1 градус – только положительные значения;
  • Измерение температуры на улице  помощью датчика DS18B20 c дискретностью 0.1 градус в диапазоне от -55 до 125 градусов;
  • Отображение максимальной и минимальной температура в течение суток;
  • Измерение относительной влажности;
  • Измерение давления в мм ртутного столба (с предсказанием погоды по изменению давления);
  • Часы (простые и с большими цифрамиJ);
  • Автоматическая корректировка времени до +/- 20 сек в сутки;
  • Автоматический переход на летнее и зимнее время ;
  • Два будильника :
    • Возможностью выставить будильник на определенный день/дни недели;
    • Возможность при срабатывании включать звуковой сигнал либо сигнализировать подсветкой;
  • Вычисление дня недели по дате (с учетом високосного года);
  • Лунный календарь;
  • Обратный таймер от 1й до 99 минут;
  • Ночник;
  • Связь с ПК по интерфейсу RS-485 для дальнейшей интеграции в систему “Умный дом”;
  • Напоминалка событий на 3 события с выводом текстового сообщения длиной до 40 символов (настраивается только с ПК);
  • Автоматическое управление подсветкой экрана с возможностью:
    • Включать или отключать подсветку по расписанию;
    • Включать или отключать подсветку в зависимости от освещенности.

Устройство построено на микроконтроллере Atmega328р U1 в корпусе TQFP-32 т.к. в устройстве задействованы вывода ADC6  и ADC7   которые отсутствуют в DIP  корпусе.

В качестве обвеса контроллера идут конденсаторы С2-С4, фильтры L1 и L2 (если вы уверенны в вашем источнике питания) можно исключить. Резистор R4 подтягивает RESET  к +5В. Кварцевый резонатор ХТ1 на 16МГц.

В качестве датчика влажности Р3 применен  Ардуиновский модуль датчика влажности и температуры DHT11, из-за чего в схеме не используется подтягивающий резистор, т.к. он уже установлен в модуле.

 В качестве датчика давления Р1 применен модуль BMP180 со встроенным преобразователем напряжения 53.3 вольта, поэтому данный модуль был запитан напряжением в 5В. В модуле уже установлены подтягивающие резисторы номиналом 4.7кОм на шине I2C к +3.3В. 

Часы RTC, реализованные на  микросхемы реального времени DS1307,  подключены к шине I2C без подтягивающих резисторов. Если вместо микросхемы DS1307 применяется  готовый модуль, на подобии Tiny RTC I2C, я бы порекомендовал, перед подключением модуля, выпаять из модуля подтягивающие резисторы. Иначе возможен выход  из строя микросхемы BMP180.

Батарейка на 3 вольта, для поддержания хода часов в момент отсутствия напряжения питания. Часовой резонатор ХТ2 на 32768 Гц,  согласно мануалу, необходимо выбрать емкостью 12,5pF, от его качества зависит точность хода часов. В случае, если часы идут и погрешностью более 5 сек в сутки, можно на кварц ХТ2 навесить дополнительные конденсаторы емкостью 5-22pF.

Фоторезистор подключен к разъёму P2.

Выносной датчик температуры DS18B20 подключается к разъёму Р3, где первая клемма это +5В, клемма 2 – GDN, а к 3й клемме подключена шина данных 1-wire датчика. Резистор R13 номиналом 0 Ом выполняет роль предохранителя- можно заменить перемычкой.

Для вывод информации можно применить дисплей WH2004 (я использую WH2004L – люблю все большое или аналог – 4х строковый по 20 символов.

Наличие кириллицы обязательно, ибо вместо русских надписей вы увидите китайские иероглифы. Яркость подсветки LCD дисплея подбирается резистором R17  согласно мануалу на Ваш дисплей.

Ночник реализован на резисторах R11, R12, R15, транзисторе Q2 , и светодиодах D1-D2.

Так как ночник может включаться в зависимости от освещенности либо по расписанию, то его можно заменить узлом управления нагрузкой.
Связь с ПК построена на микросхеме ST485  интерфейса  RS 485

Этот модуль свободно может быть заменен на любой другой интерфейс, например RS232 (COM- порт) на микросхеме МАХ232

При использовании данного варианта порт РС1 (вывод 24) на микроконтроллере остается свободным, тк. он отвечает за управление приемо/передатчиком  микросхемы ST485.

Управление «девайсом» происходит с помощью 4х кнопок S1-S4, где S1 подключена на прерывание INT0 (порт PD2) контроллера, а  кнопки S2-S4 через резистивный делитель R23,R27,R30,R31 на вход АЦП ADC7. По назначению кнопок – немного ниже.

Питание осуществляется от стабилизированного источника питания +5В, мощность которого зависит от используемого LCD дисплея и ночника.

Диод D4 в цепи питания выполняет роль защиты от переплюсовки. Если источник питания выдает ровно 5-5.2 В то лучше ставить диод Шоттки . Если, как у меня, «качественный» китаец выдает 5.6В то я применил обычный диод с падением напряжения 0.7 Вольта.

Возможно упрощения устройства:

Если не требуется общение с ПК, можно не устанавливать элементы DD1, R20-R22, R24-R26, R28,R29, C12, P8. L1 и L2 можно заменить перемычками. Исключить автоматическую подсветку не устанавливая фоторезистор Р2, резисторы R2 и R7. Если не нужен ночник, то исключаются из схемы резисторы R11, R12, R15, диоды D1, D2, и транзистор Q2.

Сборка:

Устройство собрано на односторонней печатной плате из фольгированного стеклотекстолита

Печатная плата разрабатывалась под LCD  дисплей WH2004L (146х63 мм). На плате также предусмотрены крепёжные отверстия и под дисплей габаритами 96х60 мм, например, как на рисунке

Плата изготовлена с помощью ЛУТ технологии

Запаиваем все элементы на плату.

Не устанавливая LCD  дисплей, подключаем фоторезистор, и подаем питание на схему. Резистором R2,  при ярком освещении, выставляем напряжение на ножке 1 разъёма P2 равным ~ 2.5 Вольта. Далее производим программирование контроллера через разъём Р6.

Установка FUSE-битов в программе CodeVisionAVR:

  • Ставим тактирование от высокочастотного кварцевого резонатора, Start-up time: 16K CK + 4.1 ms [CKSEL3…0 = 1111 SUT1…0 =10];
  • отключаем внутренний делитель на 8 [CKDIV8=1] (в 328 меге он включен по умолчанию);
  • CKOUT = 1 — Output Clock on CKOUT запрещаем;

Можно запретить стирание EEPROM при программировании кристалла (полезно при обновлении микропрограммы контроллера- чтобы после обновления заново не выставлять настройки) EESAVE = 0.

После программирования- отключаем питание, подключаем дисплей, включаем питание.

Работа прибора.

Прибор имеет основное «окно»:

На котором отображается вся информация с датчиков: температура, барометрическое давление, влажность. На 3й строке экрана выводятся лунный календарь и  прогноз погоды. Информационные надписи меняются циклически.

Прогноз погоды выводится только через час после включения прибора. Два последних символа в строке отображают состояние будильников: прочерк- будильник отключен , колокольчик – будильник включен.

На 4я строке отображаются   время, дата и день недели.

Дополнительное «окно»:

 Окно на котором отображаются часы большими цифрами. На 4й строке циклически выводятся информация с датчиков и дата. Переключение между окнами происходит по нажатию кнопки S1 «Смена экрана»

«Окно» состояния будильников: вызывается по нажатию кнопки S2 «будильник». И отображается в течении 20 секунд. Если в этот момент нажать на кнопку S1 произойдет переход в меню настроек.

«Oкно» температуры:

Данное окно отображается по нажатию кнопки S4 «температура», и отображает максимальную и минимальную температуры зарегистрированные в течении суток на улице и в доме. Окно отображается в течении 30 секунд. Можно в любое время вернутся к главному окну по нажатию кнопки S1. 

Обратный таймер:

Вызывается нажатием кнопки S3 «таймер»

Таймер производит обратный отчет времени. Диапазон устанавливаемого времени от 1й до 99 минут.

 По окончанию счета  – таймер подает звуковой сигнал в течении 1 минуты, с отсчетом времени сколько минут назад произошло событие. Если в течении 10 минут не была нажата ни одна кнопка происходит возврат в главное окно.

Звуковой сигнал можно прервать по нажатию любой из кнопок.
В данном режиме управление происходит с помощью кнопок:

  • S2- запуск/ пауза, и при удержании кнопки более 3х секунд происходит сброс к установленному времени
  • S3 – плюс 1 минута
  • S4 – минус 1 минута
  • S1 – возврат в главное окно

Меню:

Для того чтобы зайти в меню настроек необходимо одновременно нажать  клавиши будильник + смена экрана (S2+S1) или в  окне состояния будильников нажать на кнопку S1. 
Навигация по меню происходит с помощью кнопок

  • S3 – вверх/плюс
  • S4 – вниз / минус
  • S2 – выбор / сдвинуть курсор в право
  • S1 – возврат

 В меню есть интересный пункт: калибровка датчиков, где можно выставить чувствительность фото датчика от 0 до 255. Чем выше устанавливаемое значение, тем чувствительней к свету датчик. Там же калибруем температуру датчиков так чтобы датчик DS18B20 и BMP180  отображали одинаковую температуру находясь рядом друг с другом. За более точный датчик лучше принимать DS18B20

Тестовую программу для конфигурирования часов можно найти в архиве.

После подключения устройства к ПК, запускаем файл «Тест.exe» из архива.

  1.  Выбираем нужный порт. Все остальные параметры на вкладке оставляем по умолчанию. И жмем кнопку «применить». 
  2.  Переходим на вкладку «часы», и нажимаем кнопку обновить. Пру правильных настройках и монтаже, устройство вернет дату, время, давление, температуру и влажность. Контролировать состояние связи можно по журналу связи.

На вкладке настройки можно сконфигурировать устройство.

На следующей вкладке можно «залить» сообщение длинной 40 символов (2 строки по 20), и дату/ время когда данное событие будет отображено. Событие отображается только 10 минут в начале установленного часа, и сопровождается звуковым сигналом.

Результат:

Программа “тест.ехе”  и прошивка будет обновляться по мере нахождения ошибок и , возможного, внесения дополнительного функционала.

P.S. Устройство можно собрать и на  Arduino Pro Mini 328. 

ОбозначениеТипНоминалКоличествоПримечаниеМагазинМой блокнотU1U2DD1R3R4, R5, R8, R23, R31R2 R10 R16R1, R14, R27 R28 R30R22, R29R7, R11, R12 R15 R19-R21R9R25R17R24, R26R13P2C11C6C2, C5C3, C4, C12, C14C9, C10D1, D2, D5Q1, Q2L1, L2P5D4P4P1P3ХТ1XT2
МК AVR 8-бит

ATmega328P

1 Поиск в магазине В блокнот
Часы реального времени (RTC)

DS1307

1 Поиск в магазине В блокнот
ИС RS-422/RS-485 интерфейсов

ST485

1 Поиск в магазине В блокнот
Резистор

100 кОм

1 Поиск в магазине В блокнот
Резистор

10 кОм

5 Поиск в магазине В блокнот
Подстроечный резистор 10K 3 Поиск в магазине В блокнот
Резистор

4.7 кОм

3 Поиск в магазине В блокнот
Резистор

1.5 кОм

2 Поиск в магазине В блокнот
Резистор

1 кОм

3 Поиск в магазине В блокнот
Резистор 200 1 Поиск в магазине В блокнот
Резистор 110 1 Поиск в магазине В блокнот
Резистор 100 1 Поиск в магазине В блокнот
Резистор 27 2 Поиск в магазине В блокнот
Резистор 1 Поиск в магазине В блокнот
Резистор Фоторезистор GL5537 1 Поиск в магазине В блокнот
Конденсатор 16x470uF 1 Поиск в магазине В блокнот
Конденсатор 16x10uF 1 Поиск в магазине В блокнот
Конденсатор 4.7 мкФ 2 Поиск в магазине В блокнот
Конденсатор 0.1 мкФ 4 Поиск в магазине В блокнот
Конденсатор 22 пФ 2 Поиск в магазине В блокнот
Светодиод 3 Поиск в магазине В блокнот
Транзистор N-P-N 2 любой маломощный Поиск в магазине В блокнот
Катушка индуктивности Ферритовый фильтр BLM21BD222SN1L 2 Поиск в магазине В блокнот
LCD-дисплей WH2004L 1 или аналог с кирилицей Поиск в магазине В блокнот
Выпрямительный диод

1N4007

1 Поиск в магазине В блокнот
Датчик температуры

DS18B20

1 Поиск в магазине В блокнот
Модуль BMP180 1 Поиск в магазине В блокнот
Модуль DHT11 1 Поиск в магазине В блокнот
Кварцевий резонатор 16 мГц 1 Поиск в магазине В блокнот
Кварцевий резонатор 32768 Гц 1 емкость 12.5pF Поиск в магазине В блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Источник: http://cxem.gq/house/1-432.php

Ссылка на основную публикацию
Adblock
detector
",css:{backgroundColor:"#000",opacity:.6}},container:{block:void 0,tpl:"
"},wrap:void 0,body:void 0,errors:{tpl:"
",autoclose_delay:2e3,ajax_unsuccessful_load:"Error"},openEffect:{type:"fade",speed:400},closeEffect:{type:"fade",speed:400},beforeOpen:n.noop,afterOpen:n.noop,beforeClose:n.noop,afterClose:n.noop,afterLoading:n.noop,afterLoadingOnShow:n.noop,errorLoading:n.noop},o=0,p=n([]),h={isEventOut:function(a,b){var c=!0;return n(a).each(function(){n(b.target).get(0)==n(this).get(0)&&(c=!1),0==n(b.target).closest("HTML",n(this).get(0)).length&&(c=!1)}),c}},q={getParentEl:function(a){var b=n(a);return b.data("arcticmodal")?b:(b=n(a).closest(".arcticmodal-container").data("arcticmodalParentEl"),!!b&&b)},transition:function(a,b,c,d){switch(d=null==d?n.noop:d,c.type){case"fade":"show"==b?a.fadeIn(c.speed,d):a.fadeOut(c.speed,d);break;case"none":"show"==b?a.show():a.hide(),d();}},prepare_body:function(a,b){n(".arcticmodal-close",a.body).unbind("click.arcticmodal").bind("click.arcticmodal",function(){return b.arcticmodal("close"),!1})},init_el:function(d,a){var b=d.data("arcticmodal");if(!b){if(b=a,o++,b.modalID=o,b.overlay.block=n(b.overlay.tpl),b.overlay.block.css(b.overlay.css),b.container.block=n(b.container.tpl),b.body=n(".arcticmodal-container_i2",b.container.block),a.clone?b.body.html(d.clone(!0)):(d.before("
"),b.body.html(d)),q.prepare_body(b,d),b.closeOnOverlayClick&&b.overlay.block.add(b.container.block).click(function(a){h.isEventOut(n(">*",b.body),a)&&d.arcticmodal("close")}),b.container.block.data("arcticmodalParentEl",d),d.data("arcticmodal",b),p=n.merge(p,d),n.proxy(e.show,d)(),"html"==b.type)return d;if(null!=b.ajax.beforeSend){var c=b.ajax.beforeSend;delete b.ajax.beforeSend}if(null!=b.ajax.success){var f=b.ajax.success;delete b.ajax.success}if(null!=b.ajax.error){var g=b.ajax.error;delete b.ajax.error}var j=n.extend(!0,{url:b.url,beforeSend:function(){null==c?b.body.html("
"):c(b,d)},success:function(c){d.trigger("afterLoading"),b.afterLoading(b,d,c),null==f?b.body.html(c):f(b,d,c),q.prepare_body(b,d),d.trigger("afterLoadingOnShow"),b.afterLoadingOnShow(b,d,c)},error:function(){d.trigger("errorLoading"),b.errorLoading(b,d),null==g?(b.body.html(b.errors.tpl),n(".arcticmodal-error",b.body).html(b.errors.ajax_unsuccessful_load),n(".arcticmodal-close",b.body).click(function(){return d.arcticmodal("close"),!1}),b.errors.autoclose_delay&&setTimeout(function(){d.arcticmodal("close")},b.errors.autoclose_delay)):g(b,d)}},b.ajax);b.ajax_request=n.ajax(j),d.data("arcticmodal",b)}},init:function(b){if(b=n.extend(!0,{},a,b),!n.isFunction(this))return this.each(function(){q.init_el(n(this),n.extend(!0,{},b))});if(null==b)return void n.error("jquery.arcticmodal: Uncorrect parameters");if(""==b.type)return void n.error("jquery.arcticmodal: Don't set parameter \"type\"");switch(b.type){case"html":if(""==b.content)return void n.error("jquery.arcticmodal: Don't set parameter \"content\"");var e=b.content;return b.content="",q.init_el(n(e),b);case"ajax":return""==b.url?void n.error("jquery.arcticmodal: Don't set parameter \"url\""):q.init_el(n("
"),b);}}},e={show:function(){var a=q.getParentEl(this);if(!1===a)return void n.error("jquery.arcticmodal: Uncorrect call");var b=a.data("arcticmodal");if(b.overlay.block.hide(),b.container.block.hide(),n("BODY").append(b.overlay.block),n("BODY").append(b.container.block),b.beforeOpen(b,a),a.trigger("beforeOpen"),"hidden"!=b.wrap.css("overflow")){b.wrap.data("arcticmodalOverflow",b.wrap.css("overflow"));var c=b.wrap.outerWidth(!0);b.wrap.css("overflow","hidden");var d=b.wrap.outerWidth(!0);d!=c&&b.wrap.css("marginRight",d-c+"px")}return p.not(a).each(function(){var a=n(this).data("arcticmodal");a.overlay.block.hide()}),q.transition(b.overlay.block,"show",1*")),b.overlay.block.remove(),b.container.block.remove(),a.data("arcticmodal",null),n(".arcticmodal-container").length||(b.wrap.data("arcticmodalOverflow")&&b.wrap.css("overflow",b.wrap.data("arcticmodalOverflow")),b.wrap.css("marginRight",0))}),"ajax"==b.type&&b.ajax_request.abort(),p=p.not(a))})},setDefault:function(b){n.extend(!0,a,b)}};n(function(){a.wrap=n(document.all&&!document.querySelector?"html":"body")}),n(document).bind("keyup.arcticmodal",function(d){var a=p.last();if(a.length){var b=a.data("arcticmodal");b.closeOnEsc&&27===d.keyCode&&a.arcticmodal("close")}}),n.arcticmodal=n.fn.arcticmodal=function(a){return e[a]?e[a].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof a&&a?void n.error("jquery.arcticmodal: Method "+a+" does not exist"):q.init.apply(this,arguments)}}(jQuery)}var debugMode="undefined"!=typeof debugFlatPM&&debugFlatPM,duplicateMode="undefined"!=typeof duplicateFlatPM&&duplicateFlatPM,countMode="undefined"!=typeof countFlatPM&&countFlatPM;document["wri"+"te"]=function(a){let b=document.createElement("div");jQuery(document.currentScript).after(b),flatPM_setHTML(b,a),jQuery(b).contents().unwrap()};function flatPM_sticky(c,d,e=0){function f(){if(null==a){let b=getComputedStyle(g,""),c="";for(let a=0;a=b.top-h?b.top-h{const d=c.split("=");return d[0]===a?decodeURIComponent(d[1]):b},""),c=""==b?void 0:b;return c}function flatPM_testCookie(){let a="test_56445";try{return localStorage.setItem(a,a),localStorage.removeItem(a),!0}catch(a){return!1}}function flatPM_grep(a,b,c){return jQuery.grep(a,(a,d)=>c?d==b:0==(d+1)%b)}function flatPM_random(a,b){return Math.floor(Math.random()*(b-a+1))+a}