Мониторинг температуры

Views: 1446


Настоящий проект создан как обучающий с применением библиотек 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.

illissi_mt_02

Для подключения датчиков, если это квартира, ничего особенного предпринимать для защиты не надо, достаточно трехпроводного провода или кабеля. Если предполагается использовать датчики в зонах повышенных электромагнитных или электростатических полей, то подключение необходимо выполнить прочитав статью Защита датчиков температуры 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.

illissi_mt_10

Схема подключения датчиков температуры DS18B20.

illissi_mt_11


Фото проекта.


  • Индикация температуры и состояния

    Индикация температуры и состояния
  • Лого программы

    Лого программы
  • Вид проета

    Вид проета
  • Тестовая сборка для датчиков DS18B20

    Тестовая сборка для датчиков DS18B20
  • Индикация температуры

    Индикация температуры
  • Индикация обрыва линии связи с датчиками температуры

    Индикация обрыва линии связи с датчиками температуры
  • Плата ILLISSI-4B с подключенным индикатором

    Плата ILLISSI-4B с подключенным индикатором



Видио проекта.

 


Схема проекта [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”]



Это может быть интересно


  • MCC PIC24 – модуль REAL-TIME CLOCK AND CALENDAR (RTCC)MCC PIC24 – модуль REAL-TIME CLOCK AND CALENDAR (RTCC)
    Views: 590 RTCC предоставляет пользователю часы реального времени и функция календаря (RTCC), точность “хода” может быть откалибрована. Основные особенности модуля RTCC: • Работает в режиме глубокого сна. • Возможность выбора источника …
  • УКВ – радиоприем, часть 2УКВ – радиоприем, часть 2
    Views: 6374 Пришло свободное время решил вторую часть проекта реализовать (правда есть мысль и третью с использование цветного OLED и функцией ch-светомузыки, но это только задумка… Для понимания функций интегрального …
  • Kitchen timer with contactless gesture controlKitchen timer with contactless gesture control
    Views: 698    Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …
  • ESP8266 применение в проектахESP8266 применение в проектах
    Views: 3698 (Актуально только для версий прошивки 1.хх) ESP8266 показала себя как надежное и безотказное устройство для обмена данными с применением WIFI. Я использую ESP8266 исключительно через UART, с применением AT …
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09Altium Designer my Libraries, Project templates, System settings by Catcatcat V23.09
    Views: 522   September 2023 component base update.  Release updates V.  – 23_09 added new components. Changed the structure of the database. Configuration file name – DXPPreferences1.DXPPrf. Added project CLUBBEST_50_Light. …
  • NeoPixel LED и PIC18NeoPixel LED и PIC18
    Views: 1836   Еще раз об управлении светодиодами на драйвере WS2812 и ему подобных. Как известно эти светики управляются по однопроводной шине. Основная особенность, что программно можно описать передачу данных, …
  • Система AT команд версии V2.0 для ESP8266 и ESP32Система AT команд версии V2.0 для ESP8266 и ESP32
    Views: 13390 Появление нового модуля на базе ESP32 заставило систематизировать систему AT команд, а так же систему обновления и для модулей на базе ESP8266. Начиная с версии v2.0 в ESP8266 …
  • Trimax – кодирование и декодирование ИК-командTrimax – кодирование и декодирование ИК-команд
    Views: 2405 Первое, что надо понять назначение кнопок клавиш пульта, а также, что за кодирование реализовано в ИК- пульте. Для назначения клавиш обратимся к описанию, а для взлома кодирования воспользуемся …
  • CCP модуль для декодирования ИК-кодов пультов ДУCCP модуль для декодирования ИК-кодов пультов ДУ
    Views: 1116 Множество изготовителей для своих пультов дистанционного управления на ИК лучах используют принцип широтно-импульсной модуляции. В таких кодах бит единицы представляется импульсом большой длительности, а ноль импульсом короткой длительности. …
  • LCD драйвер – UC1601sLCD драйвер – UC1601s
    Views: 1758 http://svetomuzyka.narod.ru/project/UC1601s.html Читайте обновление на http://catcatcat.d-lan.dp.ua/?page_id=178 В данный момент можно приобрести в ООО “Гамма” несколько типов индикаторов на драйвере UC1601s. RDX0048-GC, RDX0077-GS, RDX0154-GC и RDX0120-GC выполнены по технологии COG.



Поделись этим!

Catcatcat

catcatcat

Development of embedded systems based on Microchip microcontrollers.

Продолжайте читать

НазадДалее