Site Loader

ЧАСЫ С ТЕРМОМЕТРОМ НА PIC16F628A

Оцените материал

  • 1
  • 2
  • 3
  • 4
  • 5

(7 голосов)

Часы построены на микроконтроллере PIC16F628A, в качестве датчика используется DS18B20, транзисторы BC212 управляют общими анодами семисегментного индикатора, также в состав схемы входят несколько пассивных элементов.

Устройство настраивается с помощью 4-х кнопок. Одна увеличивает, другая уменьшает значение, третья кнопка используется для входа в меню, а также переключает элементы меню. При выходе из меню настройки сохраняются в EEPROM контроллера. Если часы зависают по какой-то причине кнопкой сброса они могут быть перезапущены. Часы будут продолжать работать с последними сохраненными значениями. Микроконтроллер тактируется от внешнего кварца частотой 4МГц для более точного отсчета времени.

PIC16F628 управляет дисплеем в режиме мультиплексирования. Индикаторы находятся под контролем одного типа транзистора — BC212.

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

 

Настройка часов, описание меню:

— ho: Установка часов 0-23 
— nn: Установка минут 0-59 
— dn: Установка месяца
— dd: Установка числа месяца
— dY: Установка года
— dt: Установка формата индикации месяца. Если 1 — буквами(JA FE ||A AP ||Y JU JL AU SE oc no dE), 2 — цифрами(01 02 03 04 05 06 07 08 09 10 11 12).  
— tt: Задержка индикации времени. Значение переменной 2-99с 
— td: Задержка индикации даты. Значение переменной 2-99с. В случае если равно нулю дата не показывается! 
— tE: Задержка индикации температуры. Значение переменной 2-99с. В случае если равно нулю температура не показывается! 

— Sh: Калибровка шестнадцатеричного значения (см. ниже) 
— Sl: Калибровка шестнадцатеричного значения (см. ниже)

Примеры установки калибровок Sh/Sl:

Отставание на 30 секунд в 24 часа: 30/86400 = 0,000347 
1000000 — (1000000 * 0,000347) = 999653 (в десятичной системе) = F40E5 (шестнадцатеричной)

В результате шестнадцатеричное значение 40E5 раскладываем на Sh=40, SL=E5

Отставание на 2 секунды в 1 час: 2/3600 = 0,000555 
1000000 — (1000000 * 0,000555) = 999445 (в десятичной системе) = F4015 (HEX)

Sh=40, SL=15

Спешат на 15 секунд за 60 дней: 15/5184000 = 0,000002 
1000000 + (1000000 * 0,000555) = 1000002 (в десятичной системе) = F4242 (HEX)

Sh=42, SL=42

Скачать прошивку и печатную плату 

Последнее от Антон

  • Обзор нового варианта печатных плат SDR malamute
  • Печатные платы V3 для SDR «Malamute»
  • Raspberry Pi – компьютер с ARM архитектурой
  • Отладочные платы Arduino Uno
  • Трансивер «Маламут» NEW

Другие материалы в этой категории: « Часы на одном индикаторе Регулятор мощности двух нагрузок »

Добавить комментарий

Наверх

Простые часы будильник с двумя DS18B20 на PIC16F628A и PIC16F690



Простые часы будильник с двумя DS18B20 на PIC16F628A и PIC16F690Неактуально, рекомендую часы на 16F690

Часы PIC16F628 + будильник с 2 DS18B20. При подаче питания на схему происходит автоопрделение LED индикатора Анод или Катод. Датчики температуры DS18B20 в данной схеме могут работать как по трёх проводной схеме так и по двухпроводной (режим паразитного питания). При сробатывании будильника на 1/4сек на выводах 1,2,17 и 18 одновременно выстовляется высокий уровень, при этом мигает дисплей. Для схемы с общим анодом достаточно элемента 2И.

Функции отображения девайсом: выбор времени, секунд, температуры датчик №1, датчика №2, будильник. Выбор отображения информации выполняется однократным нажатием клавиши. Вход в настройки и переход между настройками выполняется при длительном удержании клавиши. Редактирование настроек — однократное нажатие. Переход по настройкам идёт по циклу: часы / минуты / секунды / датчик №1 / датчик №2 / будильник / коррекция хода часов(cr) / выбор попеременно-отображаемой информации(Lcd) / «выход». Автовыход через 63 сек.
Настройка датчиков температуры выполняется с каждым по отдельности.
Входим в настройки первого датчика, подключаем его ногу управления к схеме и жмём кратковременно клавишу, должны появиться его показания. Переходим в настройки второго (длительно удержав клавишу), подключаем его ногу управления к схеме и жмём кратковременно клавишу, должны появиться его показания. Выходим из настроек и оба датчика подключаем к схеме. При этом в PIC-контроллер записывается уникальный серийный номер каждого из датчиков по которому и будет дальнейший их опрос.
Имеется функция попеременного отображения информации (Lcd). «Lcd0» — отображается выбранная вами функция. «Lcd1» — попеременно время и термодатчик №1. «Lcd2» — попеременно время и термодатчик №2. «Lcd3» — попеременно термодатчик №1 и термодатчик №2. «Lcd4» — по кругу время, термодатчик №1, термодатчик №2. Коррекция хода часов(cr) плюс минус одна единица соответствует плюс минус 1 сек за ~3 суток.
Схема: Питание схемы от 5В. Без транзистора автоопределение анод или катод. С транзистором менять программу. Третья нога PICa (pin данных DS) также задействована под дежурный режим, низкий уровень отключение LCD, высокий включение LCD. Поэтому датчики DS18b20 запитывать от линии +5V. Возможность работы схемы от батареек с переходом в режим энергосбережения (менее 1млА).
Прошивка и схема часы PIC16F628 + будильник с 2 DS18B20 — скачать в одном архиве new! 19.12.12.
Исходник (asm) и прошивка старого проекта термометра PIC16F628(A) — скачать в одном архиве
Частые проблемы: датчик DS врёт на +2С — т.к. подогревается от соседних деталей, вынести подальше.

Индикатор расположен со стороны печати дорожек.

Тестовый вариант. Продолжение проекта с расширенными возможностями часы + два термометра на PIC16F690A с DS18B20. Авторегулировка яркости по освещённости. На транзисторах с большими индикаторами ОА. В планах беспроводная температура улицы на PIC12F629.

Прошивка и схема часы PIC16F690 с 2 DS18B20 автояркость — скачать в одном архиве тест! 09. 01.13.

[email protected]

Сайт создан в системе uCoz

Эксперименты с PIC16F628A

Показаны сообщения от сентября 2010 г.

Показать все

Цифровой термометр по шкале Цельсия и Фаренгейта с ЖК-дисплеем

Цифровые термометры — это классные устройства, поскольку они показывают температуру в удобном для человека формате. Этот проект цифрового термометра основан на микроконтроллере PIC16F688 и датчике температуры DS1820 и отображает температуру на символьном ЖК-экране в шкалах Цельсия и Фаренгейта. Я выбрал PIC16F688 для этого проекта, потому что он дешевый (я купил один за 1,50 доллара). DS1820 — это трехконтактный цифровой датчик температуры от Dallas Semiconductors (теперь Maxim), предназначенный для измерения температуры в диапазоне от -55 до +125 °C с шагом 0,5 °C. Написанная мной прошивка умеет считывать и отображать весь температурный диапазон DS1820. Чтобы проверить измерения температуры ниже 0°C, я поместил датчик в морозильную камеру.

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

Создайте свой собственный последовательный ЖК-дисплей для микроконтроллеров PIC

Символьные ЖК-дисплеи на базе HD44780 очень популярны среди любителей. Их легко взаимодействовать с микроконтроллерами, и большинство современных компиляторов высокого уровня имеют для них встроенные процедуры. Однако плохая часть заключается в том, что для их использования в вашем проекте требуется как минимум 6 контактов ввода-вывода микроконтроллера. Поэтому они неприменимы для 8-выводных устройств типа микросхем серии PIC12F. Цель этого проекта — обеспечить взаимодействие ЖК-дисплеев с такими устройствами по 3-проводной схеме. Я собираюсь продемонстрировать это на микроконтроллере PIC12F683. Символьные данные или команда от микроконтроллера будут последовательно передаваться в 8-разрядный регистр сдвига с последовательным вводом и параллельным выводом (74HC59).

5), а параллельный выход будет подаваться на выводы драйвера ЖК-дисплея.

Использование модуля PIC Timer1 для подсчета частоты внешнего источника синхронизации

Модуль Timer1 внутри PIC12F683 представляет собой 16-разрядный таймер/счетчик. При использовании в качестве асинхронного счетчика этот модуль можно использовать для подсчета частоты внешнего источника тактового сигнала, подаваемого на его порт GP5/T1CKI. В следующем примере показан счетчик частоты 0-65535 Гц, использующий модуль Timer1 на PIC12F683. Модуль Timer1 сначала сбрасывается, а затем включается на 1 секунду для подсчета тактовых импульсов, поступивших на его порт T1CKI в течение этого периода. Количество импульсов, поступающих за секунду, и есть сама частота. Измеренное значение частоты отправляется на ПК через последовательный порт и отображается в окне приемника гипертерминала. Если внешняя тактовая частота превышает 65535 Гц, Timer1 переполняется и генерируется прерывание. В случае переполнения в окне отображается сообщение «Частота вне диапазона». В качестве внешнего источника тактового сигнала используется микросхема таймера 555, работающая как нестабильный мультивибратор.

00-99 минут таймер

Введение Этот проект описывает, как запрограммировать PIC16F628A для работы в качестве программируемого таймера 00-99 минут. Пользователь может установить любое время в диапазоне от 00 до 99 минут и включить устройство на этот период. Устройство будет автоматически выключено по истечении времени. Для демонстрации состояние ВКЛ/ВЫКЛ устройства моделируется путем включения и выключения светодиода. С помощью трех входных переключателей (единицы, десять, пуск/стоп) пользователь может установить время включения таймера, а также управлять работой пуска/останова. Два переключателя установки времени предназначены для выбора единиц и десятков минутного временного интервала (00-9).9). После того, как вы установите значение минутного интервала, нажатие кнопки Start/Stop включит таймер (светодиод загорится), а повторное нажатие той же кнопки в любой момент времени во время работы таймера прервет процесс (светодиод погаснет) и таймер будет сброшен. ЖК-дисплей покажет состояние таймера и пользовательский интерфейс для установки времени. Настройка Подключите SW1, SW2 и SW3 к RB0, RB1 и RB2 соответственно

Аккуратный светодиодный чейзер для любителей

Помимо простого включения и выключения, есть много других вещей, которые вы можете делать со светодиодами. В одном из своих экспериментов я показал, как управлять яркостью светодиода с помощью ШИМ. Вот проект, который использует аналогичную концепцию для генерации 8-канальных ШИМ-сигналов через порты PIC16F628A и управления 8 светодиодами с 4 уровнями интенсивности. В прошивку запрограммирован ряд визуальных эффектов и последовательностей погони. Наслаждайтесь просмотром этого видео!

Эксперимент № 12: Timer0 считает частоту сети переменного тока

Введение Модуль Timer0 в PIC16F628A является одновременно 8-битным таймером и счетчиком. При использовании в качестве счетчика модуль Timer0 будет увеличиваться при каждом переднем или заднем фронте вывода T0CKI (RA4, контакт 3). Увеличивающийся фронт определяется битом T0SE регистра OPTION.

PIC16F628A Эксперименты

Вот список всех экспериментов, которые я опубликовал в этом блоге. Я выполнил эти эксперименты на моей макетной плате PIC16F628A. (Сначала прочитайте о моей макетной плате PIC16F628A)

PIC16F628A + DS1820 + 4-разрядный семисегментный термометр C/F

Введение В этом проекте описывается, как считывать температуру с датчика DS1820 с помощью микроконтроллера PIC16F628A и отображать значение температуры на мультиплексированном 4-разрядном семисегментном дисплее. Температура будет отображаться как в градусах Цельсия, так и в единицах Фаренгейта, переключаясь вперед и назад. Температурное разрешение составляет 1 градус в обоих устройствах. Из 4 цифр три наиболее значащие цифры будут отображать числовые значения температуры от 00 до 125. Старшая значащая цифра будет отображать «-» для отрицательных температур, а младшая значащая цифра будет отображать C или F. На моей плате PIC16F628A, подключите D1 к RA2, D2 к RA1, D3 к RA0 и D4 к RA3. Данные DS1820 будут считываться через порт RA4. Семь сегментов a-g будут управляться RB0-RB6. Программное обеспечение /* Название проекта:      Цифровой термометр с семисегментным дисплеем  * Авторские права:      (c) Раджендра Бхатт, 2010 г.       MCU:                               PIC16F628A      Генератор:      XT, 4,0 МГц */ // Цифры температуры без знака Short

Gear Clock, управляемый PIC16F628A

Я искал в Интернете проекты, связанные с PIC16F628A, и увидел это. Этому парню пришла в голову потрясающая идея. Он сделал несколько деревянных шестерен, связал их и погнал с помощью шагового двигателя от дисковода гибких дисков и превратил его в Gear Clock. Шаговый двигатель управляется микросхемой PIC16F628A, которая также отслеживает время. Вы можете установить время с помощью двух переключателей, которые управляют движением минутной шестерни по часовой стрелке и против часовой стрелки. Если оба переключателя нажаты, шаговый двигатель обесточивается, и минутная шестерня может свободно вращаться вручную. Источник:  http://alan-parekh.com/projects/gear-clock/9.0003

Цифровой термометр на ЖК-экране Nokia

Если у вас есть старый сотовый телефон Nokia 3310, не выбрасывайте его. Вы можете использовать его ЖК-экран для этого классного проекта. В этом проекте описывается использование такого ЖК-дисплея для отображения температуры. Он использует микрочип PIC12F629 в качестве мозга, который считывает показания температуры с датчика DS18B20 и отображает их на ЖК-экране Nokia 3310. Источник: http://www.ivica-novakovic.from.hr/Nokia%20Lcd%20Termometar-eng.htm

.

Больше сообщений

tft часы

RTC DS3231 OLED ЧАСЫ PIC16F1827 / PIC12F1822

OLED-часы с PIC, подключенными к RTC DS3231. Отображаются день, месяц и год. Кнопка MODE выбирает, какую дату отключения детали установить, часть отмечена линией. Кнопка УВЕЛИЧИТЬ меняет значение. Картинка запрашивает дату каждую секунду.
PIC12F1822 устанавливает SQW на 1 Гц, который используется для запуска чтения времени.

Вы можете использовать принципиальную схему и программное обеспечение без ограничений.

 

RTC DS3231 ТЕМПЕРАТУРА ЖК-ЧАСОВ

ЖК-часы с PIC16F628A / PIC16F1827, подключенными к RTC DS3231. Отображаются день, месяц, год и температура, источник измерения температуры – RTC. SQW устанавливается на 1 Гц и используется для запуска чтения времени. PIC16F628A использует программное обеспечение I2C для чтения RTC.
Кнопка MODE выбирает, какую дату выключения части установить, часть отмечена двумя буквами, т.е. минута=ми. Кнопка УВЕЛИЧИТЬ меняет значение. Картинка запрашивает дату каждую секунду.

Вы можете использовать принципиальную схему и программное обеспечение без ограничений.

   

PIC12F629 ЧАСЫ TM1637 ДИСПЛЕЙ

24-часовые часы с часовым стеклом. Включает код C для MPLAB X и принципиальную схему. Дисплей 9 мм, 7 сегментов, 4 цифры, светодиод: TM1637. Яркость можно установить на уровне программного обеспечения от 0 до 7.

Вы можете использовать принципиальную схему и программное обеспечение без каких-либо ограничений.

 

PIC12F629 ЧАСЫ OLED-ДИСПЛЕЙ

24-часовые часы с часовым стеклом. Включает код C для MPLAB X и принципиальную схему. OLED-дисплей, 128×64, 0,96″, SSD1306, I2C. Яркость можно установить в программе.

Вы можете использовать принципиальную схему и программу без ограничений.

 

ТФТ ЧАСЫ + ТЕРМОМЕТР

LCD TFT — это цифровой дисплей в лучшем виде, он отображает универсальное четкое изображение. Картинка строится путем ввода адреса и цвета пикселя или прямоугольника, поэтому ее также легко использовать.
Часы на основе 1,8-дюймового ЖК-модуля PIC16F876A TFT. Включает код C, makefile для MPLAB X, шестнадцатеричный файл и принципиальная схема. Шрифты 5 байт долго каждый из них хранится во флэш-памяти ПОС.
Секунды для часов представляют собой деление кварца 16 МГц с использованием CCP1, CCP2, TMR1 и TMR2. Связь контактов 11 и 12 соединяет выход CCP2 на вход TMR1.
2xDS18B20 цифровые датчики для измерения температуры внутри и вне дома. Диапазон температур от -55 до 99,9 градусов по Цельсию. датчик не требует калибровки. Программное обеспечение обновляет показания каждые 30 секунд.
LCD TFT модуль имеет драйвер ST7735 размером 1,8″ 160×128 точек. https://www.ebay.co.uk/itm/1-8-inch-1-8-TFT-LCD-Display-module-ST7735S . Входы драйвера допускают 5В, на плате есть стабилизатор 3,3В для питания. Водитель.

Вы можете использовать принципиальную схему и программное обеспечение без ограничений.

Описание цепи
См.

alexxlab

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *