Термометр на pic

L298N, Arduino и шаговый двигатель

Для нашего примера мы используем шаговый двигатель Nema 17, у которого четыре кабеля для подключения.

Этот двигатель имеет 200 шагов на оборот и может работать с частотой вращения 60 об/мин. Если вы используете другой шаговый двигатель, уточните шаг его шаг и максимальную частоту вращения. Эти параметры понадобятся вам при программировании Arduino.

Еще один важный момент — определить какие именно кабели соответствуют A+, A-, B+ и B-. В нашем примере соответствующие цвета кабелей: красный, зеленый, желтый и голубой. Переходим к подключению.

Кабели A+, A-, B+ и B- от шагового двигателя подключаем к пинам 1, 2, 13 и 14 соответственно. Контакты на коннекторах 7 и 12 на контроллере L298N оставьте замкнутыми. После этого подключите источник питания к пину 4 (плюс) и 5 (минус) на контроллере.

Опять таки, если источник питания меньше 12 вольт, контакт, отмеченный 3 на рисунке модуля, можно оставить замкнутым. После этого, подключите пины модуля L298N IN1, IN2, IN3 и IN4 к соответствующим цифровым пинам D8, D9, D10 и D11 на Arduino.

Теперь подключаем GND пин с Arduino к пину 5 на контроллере, а 5V к 6 пину на модуле. С управлением шагового двигателя проблем быть не должно благодаря встроенной в Arduino IDE библиотеке Stepper Library.

Для проверки работоспособности просто загрузите скетч stepper_oneRevolution, который входит в состав библиотеки. Данный пример находится в меню

File -> Examples -> Stepper

в Arduino IDE.

Управляющая программа

Программа работы термометра  написана на языке MikroPASCAL. Использованы стандартные функции работы с устройствами шины 1-Wire.

Программа термометра

program Termo1;const TEMP_RESOLUTION  byte = 12;
      home  byte = 5; // номер пина домашнего термометра
      street  byte = 2; // номер пина уличного термометраvar port_array array3 of Byte;
    temp_home  word;
    temp_street  word;
    temp1  byte;
    temp2  byte;
    i  byte;function mask(num word) byte;   //преобразование в коды индикатораbegin
  case num of    //fgabpcde
       result= %10110111;
     1  result= %00010100;
     2  result= %01110011;
     3  result= %01110110;
     4  result= %11010100;
     5  result= %11100110;
     6  result= %11100111;
     7  result= %00110100;
     8  result= %11110111;
     9  result= %11110110;
   end; //case endend;//~procedure get_temp;           // чтение температуры из термометраbegin
    Ow_Reset(GPIO,home);            		  // сброс шины
    Ow_Write(GPIO,home,$CC);       // команда SKIP_ROM
    Ow_Write(GPIO,home,$44);       // команда CONVERT_T
 
    Ow_Reset(GPIO,street);            		  // сброс шины
    Ow_Write(GPIO,street,$CC);       // команда SKIP_ROM
    Ow_Write(GPIO,street,$44);       // команда CONVERT_T
 
    Delay_ms(600);                        // задержка на время преобразования
 
    Ow_Reset(GPIO,home);                 // сброс шины
    Ow_Write(GPIO,home,$CC);       // команда SKIP_ROM
    Ow_Write(GPIO,home,$BE);       // команда READ_SCRATCHPAD
    temp1 = Ow_Read(GPIO,home);         // чтение первого байта
    temp2 = Ow_Read(GPIO,home);         // чтение второго байта
    temp_home = temp1;                        // преобразование в слово
    temp_home = (temp2 shl 8) + temp_home;
 
    Ow_Reset(GPIO,street);                 // сброс шины
    Ow_Write(GPIO,street,$CC);       // команда SKIP_ROM
    Ow_Write(GPIO,street,$BE);       // команда READ_SCRATCHPAD
    temp1 = Ow_Read(GPIO,street);         // чтение первого байта
    temp2 = Ow_Read(GPIO,street);         // чтение второго байта
    temp_street = temp1;                        // преобразование в слово
    temp_street= (temp2 shl 8) + temp_street;
 end;procedure Calc_Temperature(temp2write Word;str Boolean);// преобразование температурыconst RES_SHIFT  byte = 4;var temp_whole  byte;
    temp_fraction  Word;
    dig  Word;
    dig1  byte;begin
  port_array=;
  if (temp2write and $8000) = 0x8000 then
  begin
     temp2write = not temp2write + 1;
     port_array=8;
  end;
  temp_whole = temp2write shr RES_SHIFT ;
  dig=(temp_whole10) mod 10;
  port_array = port_array + mask(dig);
  dig=temp_whole mod 10;
  port_array1 = mask(dig)+8;
  temp_fraction  = temp2write shl (4-RES_SHIFT);
  temp_fraction  = temp_fraction and $000F;
  temp_fraction = temp_fraction * 625;
  dig=temp_fraction1000;
  port_array2 = mask(dig);
  if str then port_array2=port_array2+8;end; //~procedure show_temp;          // отображение температурыvar digit_show  byte;
    dig_buf  byte;beginfor digit_show= to 2 do
    begin
      dig_buf = port_arraydigit_show;  // запись в буфер отображения
      for i=1 to 8 do
        begin
          if testbit(dig_buf,) then setbit(GPIO,) else clearbit(GPIO,);
          setbit(GPIO,1);            // включить тактовую линию
          dig_buf=dig_buf shr 1;  // сдвиг символа в буфере отображения
          clearbit(GPIO,1);        // отключить тактовую линию
          Delay_ms(75);            // задержка для красоты
        end;
    end;end;begin
GPIO=;
CMCON=7;
TRISIO = %00001000;
  while TRUE do                   // основной цикл
  begin
    setbit(GPIO,4);
    Delay_ms(10);
    get_temp;              // чтение домашней температуры
    clearbit(GPIO,4);
    Calc_Temperature(temp_home,);       // преобразование температуры
    show_temp;                   // индикация температуры
    Delay_ms(5000);
    Calc_Temperature(temp_street,1);       // преобразование температуры
    show_temp;                   // индикация температуры
    Delay_ms(5000);
  end;end.

You have no rights to post comments

Управление

При первом включении (после программирования микроконтроллера), начнется выполнение первой найденной RGB последовательности. Пользовательское управление RGB драйвером осуществляется с помощью кнопки S1, которая выполняет несколько функций.

Однократное нажатие предназначено для запуска / остановки текущей последовательности. Вы можете нажать S1 в любое время, чтобы остановить выполнение последовательности и зафиксировать цвет, отображаемый в данный момент времени. Повторное нажатие S1 запустит выполнение последовательности. Если контроллер будет выключен, находясь в состоянии удержания, при следующем включении он останется в состоянии удержания, отображая тот же цвет.

Двойное нажатие (с интервалом менее 0,5 секунды) позволяет выбрать следующую последовательность.
Каждое такое двойное нажатие кнопки отключает все светодиоды перед запуском следующей последовательности.

Примечание: последняя последовательность обозначается 3 короткими миганиями синих и зеленых светодиодов.

Hantek 2000 — осциллограф 3 в 1
Портативный USB осциллограф, 2 канала, 40 МГц….

Подробнее

Нажатие и удерживание кнопки S1 около 1,2 секунды переводит микроконтроллер в спящий режим. Каждый раз, когда микроконтроллер переводится в спящий режим, текущая выбранная последовательность, отображаемый цвет и состояние удержания сохраняются в EEPROM. Для выхода из спящего режима нажмите кнопку S1 примерно на 2 секунды, затем отпустите ее.

Примерно через 10 секунд после последнего нажатия кнопки S1 порядковый номер текущей последовательности, значения RGB и состояние удержания сохраняются в энергонезависимой памяти EEPROM микроконтроллера.

При следующем включении RGB драйвера сохраненный порядковый номер последовательности считывается обратно. Если при отключении питания контроллер находился в состоянии удержания, он включится и останется в состоянии удержания до тех пор, пока снова не будет нажата кнопка S1.

Светодиодный RGB-контроллер
ИК-пульт дистанционного управления, Ток на каждый канал: 2А….

Подробнее

Таймеры и реле времени

Универсальное реле времени повышенной мощности (CD4020, CD4001, IRLR2905) В некоторых случаях требуется реле времени, которое по сигналу кнопки или датчика включает нагрузку на некоторое время. Здесь описывается такое устройство. При указанных на схеме (рис.1.) номиналах деталей R3, R4, С4 выдержку времени можно плавно регулировать переменным резистором R4 в пределах …

0 125 0

Схема таймера для речевого сигнализатора (CD4060B, ISD1820)

Радиолюбителям уже давно известна микросхема ISD1820, и в литературе есть достаточно много различных звонков и сигнализаторов на их основе. Поскольку для меня, как и для многих радиолюбителей, основным источником радиодеталей сейчас является китайский Aliexpress, туда я за микросхемой …

0 69 0

Самодельные цифровые часы с индикаторами из светодиодных лент (К176ИЕ12, К176ИЕ4)

Для установки на проходных предприятий, вокзалах, в торговых центрах и в других местах массового прохода людей необходимы электронные часы с очень крупным и ярким дисплеем. Сейчас такой дисплей, при относительно доступной цене, можно сделать на основе светодиодных лент. При этом размеры индикатора …

0 78 0

Простой таймер для паяльника (К561ТЛ1, S202S02)

При разработке и ремонте аппаратуры необходимопользоваться паяльником, но не постоянно, а лишь эпизодически. в промежутках между продолжительными паузами на изучение и обдумывание ситуации. В конечном итоге, будучи поглощенным этим процессом, можно принять решение отложить эту работу на завтра …

1 141 0

Фотореле с таймером, которое включает освещение с наступлением темноты

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

1 140 0

Таймер для периодического включения-выключения нагрузки (CD4060, CD4025A)

Схема таймера для того чтобы электроприбор работал в периодическом режиме — через определенное время включался, работал некоторое время и снова выключался. То есть, почти как холодильник, но периодичность зависит не от температуры а от установленных временных интервалов. На рисунке 1 показана …

1 1127 0

Простой таймер до 34 минуты (точность установки 1сек) или до 136 минут (точность 4 сек)

Схема таймера, позволяющего устанавливать выдержки времени до 34 минут 7 секунд с точностью до одной секунды, а выдержки до 136 минут31 секунды, — с точностью до 4 секунд. Рис. 1. Принципиальная схема таймера со звуковой сигнализацией на микросхемах CD4060B, CD4020B, К561ЛЕ5. Установка …

1 830 0

Самодельный таймер с установкой задержки от 5сек до 69ч (CD4040)

Принципиальная схема самодельного таймера на микросхемах CD4040, синхронизация выполняется от сети переменного тока, время задержки до 69 часов. Таймеры, или реле времени, давно используются в быту и на производстве, вучебном процессе, при занятии хобби. Данная тема присутствует на страницах …

1 686 0

Схема таймера для периодического отключения питания нагрузки

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

1 748 0

Схема простого таймера на одной микросхеме для видеорегистратора

Принципиальная схема самодельного таймера на одной микросхеме для управления включением видеорегистратора. Для видеозаписи происходящего на лестничной клетке жилого дома можно в дверь квартиры вмонтировать автомобильный видеорегистратор. Внешне это будет выглядеть как оптический глазок …

1 688 0

1 …

Восстановление калибровочной константы PIC12f629 и PIC12f675

Собрав ниже приведенную схему и установив в панельку исследуемый микроконтроллер PIC12f629 или PIC12f675 можно с точностью до 1% определить КК.

Для калибровки внутреннего генератора микроконтроллера требуется заведомо известная опорная частота. К счастью, для этого мы не должны собирать отдельно стабильный генератор сигнала. Для этого можно воспользоваться переменным напряжением электросети частотой 50 Гц (в некоторых странах частота может быть 60 Гц). Данный сигнал можно снять со вторичной обмотки сетевого трансформатора.

Частота внутреннего генератора в микроконтроллере PIC12F629 и PIC12F675 может незначительно меняется от изменения температуры и напряжения питания. По мере увеличения напряжения питания, частота его немного уменьшается. Когда переключатель  SB1 не замкнут, напряжение питания 5 вольт, пройдя через два диода, которые создают падение напряжения около 1,6 вольта, поступает на вывод питания ПИКа (3,4 вольт). С замкнутыми контактами  SB1, микроконтроллер работает от 5 вольт. С помощью данной схемы появляется возможность для калибровки либо на 3,4 вольт, либо на 5 вольт питания.

Еще раз:

  •  SB1 разомкнут — калибровка происходит при 3,4 вольта.
  •  SB1 замкнут — калибровка происходит при 5 вольт.

Два диода создают падение напряжения, а резистор R1 создает достаточный ток для стабильности напряжения на диодах.

Опорный сигнал подается с вторичной обмотки трансформатора (от 6 до 12 вольт) через диод VD3, резистор R4 и транзистор VT1. Транзистор любой типа NPN.

Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров…

Подробнее

Внимание. Переменное напряжение на транзистор следует подавать только через трансформатор. Ни в коем случае не напрямую от электросети!

Ни в коем случае не напрямую от электросети!

Цифровой термометр на PIC16F628A и датчике DS18B20

Это обычный цифровой термометр, на просторах интернета подобных девайсов очень много. Основа микроконтроллер PIC16F628A и цифровой датчик температуры DS18S20 (DS18B20). В качестве индикаторов применены светодиодные 3-х разрядные индикаторы зеленого цвета. Индикация динамическая. Термометр работает во всем диапазоне температур датчика DS18S20, т.е. от -55 до +125 градусов.

Собран термометр на печатной плате, вместе с индикатором. Датчик и питание подключаются отдельно. Если датчик не подключен, на индикаторе высвечивается буква Е (Error). Никаких особенностей данный прибор не имеет. Диод VD1 служит для защиты от переполюсовки источника питания.Прибор может работать как с датчиком DS18B20, так и с датчиком DS1820(DS18S20). Под каждый датчик используется своя прошивка микроконтроллера.

Ниже приведен вариант этого термометра с уже установленным на печатную плату диодным мостом и стабилизатором 7805, т.е. для питания этого устройства достаточно подключить вторичную обмотку трансформатора к разъему питания.Кроме того, на этой плате установлен светодиод, который кратковременно вспыхивает во время опроса микроконтроллером датчика температуры. Светодиод подключен между ножкой RB3 (вывод 9) и «массой», естественно с резистором. Отсутствие светодиода на плате никак на работу термометра не повлияет.Прибор удобно разместить в любой пластиковой коробке подходящих размеров. Я разместил его в корпусе сетевого блока питания (Адаптора) вместе с трансформатором. Т.е. из коробки выходит только разъем на датчик DS18B20, а сам корпус вставляется в сеть 220В.

Простой цифровой термометр малых размеров

Рассмотрим создание простого цифрового термометра с использованием в качестве температурного датчика – специальный цифровой датчик температуры от фирмы DАLLAS, а точнее ds18b20 и микроконтроллером ATtiny2313. Характеристики предложенного цифрового термометра: пределы измерения от -55 до +125*С ; точность измерение от 0,1 до 0,5*С.

   Фотография датчика ds18b20:

   Работает термометр следующим образом: микроконтроллер подает запрос на поиск и запись адресов датчиков ds18b20, подключенных к линии контроллера по интерфейсу 1Wire. Далее производится чтение температуры с датчиков, которые были найдены, после этого микроконтроллер выводит температуру на 3-х символьный LED, хотя при небольшой модификации прошивки можно подключать и 4-х символьный LED. Тогда температура будет выводится с точность до десятичных долей градуса. Опрос датчика составляет где-то 750 мс. Схема проста и в печатной плате не нуждается, хотя кому больше нравится на печатной плате – можно нарисовать. Я контроллер ATtiny2313 ставил сзади LED индикатора и всё соединял проводами. 

   Принципиальная схема цифрового термометра на ATtiny2313:

    Перейдём к настройки фьюзов микроконтроллера. Для работы с протоколом 1Wire, частота внутреннего генератора МК должна быть не меньше 4 мгц. Вот скриншот фьюзов которые надо выставить при прошивке в Code Vision AVR:

В сети есть прошивки для индикаторов с общим катодом и общим анодом. Так же все прошивки умеют работать с 8 х датчиками ds18b20. Ещё есть прошивка, которая меряет температуру с точностью до десятичных значений, при этом необходим 4х символьный LED дисплей, анод лишнего сегмента цепляют к PORTD.3 , а запятую цепляют на PORTB.7.

   Использовать этот цифровой термометр можно в самом широком спектре устройств.

Похожие материалы:

Принципиальная схема

Принципиальная схема разделена на блоки.

Принципиальная схема термометра на PIC16F628 и DHT11

Блок питания
Приводит входное напряжение к значению 5 вольт. Использует стабилизатор напряжения LM7805.
ICSP
Это 5-пиновый разъем, подключенный к выводам программирования микроконтроллера. Мы используем этот разъем для прошивки микроконтроллера.
DHT11
Это 3-пиновый разъем, к которому подключен датчик. Средний вывод подключен к микроконтроллеру для передачи данных.
MCU
Это PIC16F628, который принимает данные от DHT11 и выводит их на LCD дисплей.
Дисплей
LCD дисплей (2 строки по 16 символов), который показывает влажность и температуру воздуха.

Микроконтроллер у нас будет работать от внутреннего тактового генератора с частотой 4 МГц. Поэтому на схеме нам не нужен кварцевый резонатор.

Eagle сгенерировала нам следующий перечень элементов:

Термометр на PIC16F628 и DHT11. Перечень элементов
Позиционное обозначение Номинал Элемент Корпус Библиотека Лист
C1 0.1uF C-EU025-050X050 C025-050X050 rcl 1
C2 100uF CPOL-EUE2.5-5 E2,5-5 rcl 1
C3 0.1uF C-EU025-050X050 C025-050X050 rcl 1
C4 100uF CPOL-EUE2.5-5 E2,5-5 rcl 1
C5 0.1uF C-EU025-050X050 C025-050X050 rcl 1
D1 1N4004 1N4004 DO41-10 diode 1
IC2 7805TV 7805TV TO220V linear 1
IC3 PIC16F628 DIL18 DIL18 ic-package 1
JP1 ICSP PINHD-1X5 1X05 pinhead 1
JP2 16×02 LCD PINHD-1X16 1X16 pinhead 1
JP3 DHT11 PINHD-1X3 1X03 pinhead 1
R1 10K R-EU_0204/7 0204/7 rcl 1
R2 5K TRIM_EU-LI10 LI10 pot 1
R3 4K7 R-EU_0204/7 0204/7 rcl 1
S1 Reset TAC_SWITCHPTH TACTILE-PTH SparkFun 1
X1 7-35vDC W237-10 W237-102 con-wago-500 1

Теперь, когда мы разобрались с аппаратной частью, пришло время заняться программным обеспечением.

Термометр На Микроконтроллере Pic12f629

Таким образом прибор дает представление о том, сколько объектов находится в хранилище в данный момент. «Объектами» могут являться какие-то детали, коробки, а так же и люди, проходящие через узкий проход. В этом случае «хранилищем» может быть помещение дискотеки или клуба. Всего «объектов» может быть до 140. При большем количестве прибор останавливается на показании «140» и больше прироста не дает.

Так же не может быть и отрицательных величин. Рейтинг: 4 / 5 Идея сделать этот частотомер возникла после приобретения в магазине радиодеталей радиолюбительского набора, состоящего из пластмассового корпуса размерами примерно 120x80x30 мм с отсеком для «Кроны», окном для индикатора и установленной в него макетной печатной платой «решето». Вот на этой основе и был собран этот прибор. Частотомер измеряет частоту до 100 МГц, чувствительность входа 30 мВ, входное сопротивление 500 кОм. Построен он на основе микроконтроллера PIC16F628A и жидкокристаллического модуля типа 1601. Рейтинг: 5 / 5 Этот простой и дешёвый USB осциллограф был придуман и сделан просто ради развлечения. Давным давно довелось чинить какой-то мутный видеопроцессор, в котором спалили вход вплоть до АЦП.

Термометр На Pic12f629

АЦП оказались доступными и недорогими, я купил на всякий случай парочку, один пошёл на замену, а другой остался. Недавно он попался мне на глаза и почитав документацию к нему я решил употребить его для чего-нибудь полезного в хозяйстве. В итоге получился вот такой приборчик.

На сегодня, ручная стирка ушла в прошлое, ни одна хозяйка не может обойтись без машинки автомат. Инструкция на стиральную машину ardo a 410.

Обошёлся в копейки (ну рублей 1000 примерно), и пару выходных дней. При создании я постарался уменьшить количество деталей до минимума, при сохранении минимально необходимой для осциллографа функциональности.

Сначала я решил, что получился какой-то уж больно несерьёзный аппарат, однако, сейчас я им постоянно пользуюсь, потому что он оказался весьма удобным — места на столе не занимает, легко помещается в карман (он размером с пачку сигарет) и обладает вполне приличными характеристиками. Рейтинг: 4 / 5 Частотомер измеряет частоту от 1 до 50000000 Гц с восьмиразрядной индикацией на однострочном 8-знаковом LCD-дисплее (можно использовать и 16-знаковый однострочный, просто лишние знаки будут свободны).

В основе прибора доступный микроконтроллер PIC16F84. Сигнал, частоту которого нужно измерить, поступает на входной разъем Х1. На VT1 выполнен простейший усилитель — формирователь. Кнопка S1 служит для сброса.

Термостат на PIC контроллере

Термостат

– поддерживает заданную температуру, в определённой среде.

Задумка

Появилось у меня помещение для станка. Там должна быть температура определённого уровня, при влаге и холоде на улице. Электрокамин и печи не по мне, много дров, топлива и большое энергопотребление, при не так уж и большой производительности тепла на выходе. Присмотрел и приобрёл тепловентилятор, промышленного образца, с минимумом пластиковых, горючих материалов:

Характеристики:

– Номинальное напряжение, частота сети, В/Гц __220 / 50; – Потребляемая мощность, кВт ____ 1 / 2 кВт; – Отдача тепла, м3/час _____200;

Управление

Тепловентилятор есть, теперь необходимо сделать умную систему управления и контроля. Поискав в интернете нашлась схема из журнала Р-К №11/2008г., – «Цифровой термостат». Конструкция оказалась простой, как по мне, с двухстрочным цифровым экранчиком. Ниже приведена схема, нарисованная в программе SPlan 7.0.

Для того чтобы задать температуру поддержания, нажимаем кнопку S3 и удерживаем её пока на экране не засветится «SET TEMPERATURE».

Управление тепловентилятором происходит с симистором VS1 – BT136. Управление симистором осуществляется при помощи оптопары MOC3043. Силовую схему управления тепловентилятора я дополнил промежуточным реле. Катушка реле стала играть роль нагрузки симистора, а её контакты запараллелил и скомутировал в цепь питания тепловентилятора.

Схема оперативного питания выполнена на малогабаритном герметичном трансформаторе, у него сдвоенная вторичная обмотка, 9V-0-9V, на номинальный ток 100mA. Выпрямитель исполнен на на двух диодах VD1и VD2. Если трансформатор с одной понижающей обмоткой необходимо применить схему моста. Контроллер и дисплей запитан от +5V через стабилизатор напряжения А2 (7805).

Для отключения подсветки пин 16 экрана можно отключить, или как я поставил выключатель. Печатная плата термостата, чисто моя разработка.

Корпус

Третья задача – корпус. Выбрал Z20. Ниже приведена технология подгонки корпуса и изготовления отверстий при помощи шаблонов.

Файлы:

datasheet.rar (скачиваний: 636) plata-spl.rar (скачиваний: 687) rk_2008_11.rar (скачиваний: 785) termo.hex.rar (скачиваний: 765)

Источник (Source)

Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.

Обучение пульта дистанционного управления ИК-коды (процедура программирования)

После подключения устройства необходимо запрограммировать все 5 кнопок на пульте дистанционного управления. Вот как это сделать:

  1. Нажимаете и удерживайте настенный выключатель SW1 в течение 11 сек, для того чтобы устройство могло перейти в режим программирования. После 11 секунд, индикатор LD1 начнет быстро мигать и оба канала отключатся. Поэтому у вас есть 11 секунд, чтобы завершить последовательность программирования.
  2. Нажмите на первую кнопку на пульте дистанционного управления, которая будет включать первый канал (ON — A).
  3. Нажмите вторую кнопку на пульте дистанционного управления, которая будет использоваться для выключения первого канала (OFF — A).
  4. Нажмите на третью кнопку на пульте дистанционного управления, которая будет включать второй канал (ON — B).
  5. Нажмите четвертую кнопку на пульте дистанционного управления, которая будет использоваться для выключения второго канала (OFF — B).
  6. Наконец нажмите пятую кнопку, которая будет использоваться для активации / деактивации режима сна (SLEEP)

Во время программирования пульта, после каждого нажатия кнопки, светодиод будет мигать, подтверждая что ИК-команда принята.

Если пульт дистанционного управления не имеет все 5 кнопок, вы можете использовать те же кнопки повторно, но это отключит некоторые функции.

Вариант 1

Если ваш пульт имеет только две кнопки , и если во время программирования вы нажмете: XXYYY, то это означает, что кнопка X будет использоваться для первого канала (включение и выключение света будет происходит от одной кнопки X), и кнопка Y будет использоваться для второго канала (включение и выключение света будет происходит от одной кнопки Y). Для данного режима работы необходимо установить перемычку JP1.

Вариант 2

Если вы выберете комбинацию XXXXY, это означает, что кнопка X будет использоваться для функции включения и выключения первого канала, и кнопка Y будет использоваться для включения / выключения режима сна, при этом второй канал не используется.

Примечание. Если во время программирования вы заметили, что светодиод мигает, даже если вы не нажимали никаких кнопок на ПДУ, то вероятно, это потому, что вы используете модуль приемника TSOP11xx вместо TSOP17xx. В таком случае вы не сможет запрограммировать устройство должным образом.

Если вы захотите изменить назначение кнопок, то вы можете повторить процедуру обучения столько раз, сколько вы хотите.

Заключение

Мы использовали микроконтроллер PIC16F628A совместно с датчиком DHT11 и отобразили значения температуры и относительной влажности воздуха на LCD дисплее. Вы можете, приложив немного усилий, преобразовать/подстроить код для какого-либо другого микроконтроллера. Программа занимает в микроконтроллере 32% памяти данных и 55% памяти программ. Это потому, что микросхема довольно низкого класса.

Разница между PIC16F628 и PIC16F628A в том, что версия с буквой «A» обладает внутренним тактовым генератором. Версия без буквы «A» нуждается во внешнем кварцевом резонаторе или RC цепи. Если вы покупаете PIC16F628, то убедитесь, что он с буквой «A». Другой контроллер является устаревшим.

Понравилась статья? Поделиться с друзьями:
Зинг-Электро
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: