Views: 1367
Настоящий проект создан как обучающий с применением библиотек 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”]
Это может быть интересно
- Development board based on MCU PIC18F47Q84Views: 799 PIC18F47Q84 Microcontroller Family with CAN Flexible Data Status: In Production.
- APA102 – светодиоды со встроенным драйвером и SPI интерфейсомViews: 3254 APA102 В 2014 году фирма Shenzhen Led Color Optoelectronic Co., Ltd http://www.szledcolor.com/ начала производство светодиодов на драйвере APA102. Это серия так называемых светодиодов со встроенным драйвером. Основной особенностью этих …
- Сенсорный выключатель светаViews: 10662 Хотя в настоящий момент актуальны системы управления освещением с передачей данных по электросети, но я думаю, что проекты такого рода тоже имеют право на жизнь. Анонс Три вида …
- Проект с использованием MCC часть 15Views: 1493 EUSART – Универсальный асинхронный приёмопередатчик (УАПП, англ. Universal Asynchronous Receiver-Transmitter, UART) — узел вычислительных устройств, предназначенный для организации связи с другими цифровыми устройствами. … читать на вики. Внесем изменения в нашу схему, …
- NS108-5050-16bit от NewstarViews: 581 Кто уже использует в своих проектах адресуемые светодиоды хорошо знакомы с такими как WS2812 и им подобные. Эти светодиоды для управления используют однопроводную шину. Из-за этого пропускная способность …
- Самый простой индикатор уровня звукового сигналаViews: 6216 Демонстрационный проект создания индикаторов уровня с использованием WS2812B. Изучив этот проект вы сможете самостоятельно изготавливать и конструировать свои индикаторы уровня звукового сигнала. Дополнительно читайте статью Бегущие огни на …
- Система AT команд версии V2.0 для ESP8266 и ESP32Views: 10425 Появление нового модуля на базе ESP32 заставило систематизировать систему AT команд, а так же систему обновления и для модулей на базе ESP8266. Начиная с версии v2.0 в ESP8266 …
- Проект с использованием MCC часть 05Views: 1871 Эту часть назовем так как избавься от delay, там где а это реально не надо. Для это нам потребуется научиться использовать прерывания и работать с таймерами. Что такое …
- TDA7294 part 2Views: 261 Це друга частина проекту TDA7294, початок дивись тут. Тут ви знайдете повністю проект високоякісного підсилювача на TDA7294, схема, 3D моделі, гербер файли для виготовлення друкованої плати. І звичайно …
- Четырех канальный терморегулятор ch-4000Views: 3154 Четыре независимых канала регулирования температуры, одновременно можно подключить 16 датчиков температуры DS18B20 с удалением до трехсот метров. Можно для регулировки выбрать любой датчик, подключенный к устройству. Каждый канал может работать …