
Views: 1447
Настоящий проект создан как обучающий с применением библиотек 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”]
Это может быть интересно
TM1650 драйвер LED семисегментного индикатора
Views: 18180 Китайский производитель Shenzhen Titan Micro Electronics Co., Ltd. Выпускает широкую линейку драйверов управления светодиодными дисплеями, которые позволяют разгрузить микроконтроллер для основной работы, главная особенность этих драйверов не только …ch-4000 – универсальная печатная плата
Views: 1114 На смену устаревшей плате ch-3000, пришла новая ch-4000. Плату уже можно приобрести в магазине Ворон. Схема. Плата позволяет создавать таймеры, часы реального времени, регуляторы температуры, регуляторы влажности, вольтметры, …PIC32MZ – прерывания (заметки)
Views: 504 Виды формирования запоминая контекста при входе в прерывания. Компилятор представляет три варианта AUTO – когда запоминания места возврата из подпрограммы возложено на программу, т.е все создается программно. Этот …Модуль CAN в микроконтроллерах PIC18
Views: 5896 Введение CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований …MCC PIC24 – модуль OUTPUT COMPARE – в режиме генератора звуковых сигналов
Views: 754 При проектировании простых устройств автоматики, часто необходимо иметь механизм звукового оповещения. Самый верхний уровень, это формирование голосовых сообщений, но об этом, как то по позже… В самом примитивном …Development Boards PIC18F47Q84
Views: 5824 Microchip тішить новими мікроконтролерами. Особливістю цього MCU – це багата інтелектуальна периферія, що дозволяє вирішувати такі завдання на 8 бітних MCU, які неможливо реалізувати на деяких навіть 32 …Проект с использованием MCC часть 15
Views: 1665 EUSART – Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter, UART) — узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. … читать на вики. Внесем изменения в нашу схему, …AD9833 – Programmable Waveform Generator – part two
Views: 1844 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …Униполярный шаговый двигатель – часть 2
Views: 935 В этой части только итог и версия 2.0 универсальной, которая позволяет управлять шаговым двигателем во всех трех режимах и 3.0 специальной библиотеки только для одного полушагового режима. В …LM317 и светодиоды
Views: 8077 LM317 и светодиоды статья с переработанная с сайта http://invent-systems.narod.ru/LM317.htm Долговечность светодиодов определяется качеством изготовления кристалла, а для белых светодиодов еще и качеством люминофора. В процессе эксплуатации скорость деградации кристалла …