Visits: 1349
Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то вы сможете использовать этот проект как основу. Для его реализации необходимо приобрести или собрать самостоятельно процессорную плату ILLISSI-4B-09-primum на контроллере PIC18F26K22 (хотя можно выполнить на любом контролере включая и 16 серию). Приобрести любой символьный индикатор, желательно 4 строчный (на драйвере HD44780). и датчики температуры DS18B20 (количество вы определяется самостоятельно для настоящего проекта 6, для вашего не более 16).
Для настоящего проекта необходимо, чтобы организовать возможность индикации температуры, это 4-строчный символьный индикатор на драйвере HD44780, плата ILLISSI-4B, и от 2 до 6 датчиков температуры DS18B20.
Для подключения датчиков, если это квартира, ничего особенного предпринимать для защиты не надо, достаточно трехпроводного провода или кабеля. Если предполагается использовать датчики в зонах повышенных электромагнитных или электростатических полей, то подключение необходимо выполнить прочитав статью Защита датчиков температуры DS18B20 от статического электричества.
Если используется стандартная плата ILLISSI-4B, то на ней необходимо запаять резисторы ка это сделан в статье DS18B20 — удаленный контроль температуры.
Далее подключаем индикатор как описано в Библиотека для работы с LCD индикаторами на драйвере HD44780.
Этот проект позволяет одновременно считывать и выводить на индикатор температуру по 6 точкам. При необходимости можно добавить клавиатуру и изменить проект, для вывода информации до 16 точек (стандартные возможности библиотеки).
Программа работает в режиме постоянного тестового сканирования датчиков, что позволяет производить “горячую” замену датчиков. Библиотека автоматически выполняет все функции по чтению адреса датчика, установки на место отключенного датчика – нового или добавление датчиков.
while(1) { if (Test_DT()==0)// это позволит наблюдать, как отключаются и поключаются датчики {// в динамике CursorLCD(1,0); if (ET00==0) { StringLCD("Д1-"); BinDec(TEMPDAT[0],1); SendLCDd(0xEF); } else { CursorLCD(1,4); StringLCD("1 err "); } CursorLCD(1,11); if (ET01==0) { StringLCD("Д2-"); BinDec(TEMPDAT[1],1); SendLCDd(0xEF); } else { CursorLCD(1,14); StringLCD("2 err "); } CursorLCD(2,0); if (ET02==0) { StringLCD("Д3-"); BinDec(TEMPDAT[2],1); SendLCDd(0xEF); } else { CursorLCD(2,4); StringLCD("3 err "); } ******* CursorLCD(0,3); StringLCD("кол. дат: "); BinDec(naydendatch,0); StringLCD("шт."); } else { CursorLCD(0,2); StringLCD("обрыв линии"); __delay_ms(10); __delay_ms(10); __delay_ms(10); } CLRWDT(); // сброс сторожевого таймера }
Если для программы которой необходимо только измерять температуру, до достаточность в место функции Test_DT() использовать функцию Celsio () только для измерения температуры.
Схема подключения LCD.
Схема подключения датчиков температуры DS18B20.
Фото проекта.
Видио проекта.
Схема проекта [wpdm_file id=97 template=”link-template-calltoaction3.php”]Файлы проекта. (Компилятор С, Microchip MPLAB XC8 C Compiler V1.12. MPLAB V8.8)[wpdm_file id=98 template=”link-template-calltoaction3.php”]
Это может быть интересно
- Четырех канальный терморегулятор ch-4000Visits: 3126 Четыре независимых канала регулирования температуры, одновременно можно подключить 16 датчиков температуры DS18B20 с удалением до трехсот метров. Можно для регулировки выбрать любой датчик, подключенный к устройству. Каждый канал может работать …
- I2C MODULE – PIC18F25K42 Device ID Revision = A001Visits: 1045 I2C MODULE Обход ошибок в версии I2C MODULE – PIC18F25K42 Device ID Revision = A001 В Серии K42 применен совершенно новый модуль шины I2C, который позволяет поддерживать все …
- Бегущие огни (ch-bo-36)Visits: 2401 Проект на PIC-микроконтроллере PIC16F648A. Количество каналов 36. Для индикации используется подключение по матрице 6х6. Расположение светодиодов в одну линию. Все эффекты написаны для возможности увеличения количества светодиодов. Рекомендуется …
- Проект с использованием MCC часть 04Visits: 1092 Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой. Используем функции delay, напрягаться откуда они берутся не будем, самое …
- MPLAB® Code ConfiguratorVisits: 1768 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект. …
- Мультизоновый индикатор-терморегулятор ch-c3010Visits: 1139 Часто возникает необходимость получить информацию по температуре с множества точек контроля. Вам необходимо знать температуру в комнате, в коридоре, температуру на улице, а в погребе (или на балконе) …
- Moving average – скользящее среднееVisits: 2183 Скользящая средняя, скользящее среднее (англ. moving average, MA) — общее название для семейства функций, значения которых в каждой точке определения равны среднему значению исходной функции за предыдущий период. Скользящие средние обычно используются с данными временных рядов для сглаживания …
- Цифровой тахометр для автомобиля CH-С3300Visits: 1870 Тахометр Ch-С3300 предназначен для индикации и контроля оборотов, времени работы и максимальных оборотов развиваемых двигателем во время поездки. Датчиком может использоваться как обычный контактный прерыватель или выход датчика …
- Customs codes for exportVisits: 59 Митні коди (HS Code) для надсилання посилок за кордон. Для відправки товару за кордон на сьогодні необхідно зазначати митні коди. Часто визначення коду займає багато часу. Для …
- Trimax – кодирование и декодирование ИК-командVisits: 2127 Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся …