Диод как датчик температуры

Транзистор в качестве датчика температуры – Транзистор в качестве датчика температуры — КиберПедия

диод как датчик температуры

В этой статье я расскажу об использовании биполярного транзистора в качестве датчика температуры. Описание приводится в контексте использования его для измерения температуры радиатора (теплоотвода).

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

Ниже показана схема включения транзистора и узел обработки сигнала на ОУ. VT1 это и есть транзистор-термодатчик, который крепится на радиатор.

Транзистор намеренно используется p-n-p структуры т.к. радиатор часто соединяется с общим проводом схемы, а коллектор транзистора в корпусе TO-220 соединен с теплоотводной пластиной и при креплении транзистора нет необходимости электрически изолировать его от радиатора, что дополнительно упрощает конструкцию.

Падение напряжения на p-n переходе изменяется при увеличении его температуры с крутизной примерно -2 мВ/градус (т.е. уменьшается с ростом температуры). Такое малое изменение напряжения не очень удобно обрабатывать АЦП, более того удобнее когда зависимость прямая т.е. при увеличении температуры сигнал температуры растет.

Приведенная схема смещает, инвертирует и усиливает сигнал с транзистора, обеспечивая увеличение выходного напряжения с ростом температуры, и работает следующим образом.

Из опорного напряжения, формируемого делителем R1R2, вычитается падение напряжения на транзисторе и результат вычитания усиливается. Опорное напряжения выбирается чуть выше падения напряжения на транзисторе при температуре 25 градусов, чем обеспечивается измерение напряжения ниже 25 градусов.

Коэффициент усиления схемы определяется соотношением R5/R4 + 1 и для данной схемы равен 11. Итоговая крутизна сигнала температуры получается 2*11=22мВ/градус. Таким образом для обеспечения измерения температуры от 0 градусов выходной сигнал при 25 градусах должен быть не менее 25*0,022=0,55В. Превышение напряжения смещения над падением на транзисторе при 25 градусах должно быть не менее 0,05В.

Падение напряжения на транзисторе при 25 градусах составляет 0,5-0,6В и зависит от конкретного типа транзистора и тока через него и наверняка подобрать опорное напряжение «с ходу» не получится, поэтому на этапе отладки требуется подбор резисторов R1R2 для конкретного типа транзистора и тока через него, от одного транзистора к другому это значение может меняться, но это уже может быть скорректировано программными методами.

Ток через транзистор определяется сопротивлением резистора R3, в данной схеме ток примерно равен 15мА. Рекомендуемое значение тока через транзистор 10-20мА.

Приведенная схема адаптирована под АЦП с опорным напряжением 3,3В, но может быть использована и для 5В опорного напряжения, для этого необходимо увеличить коэффициент усиления схемы, исходя из требуемого диапазона температур.

На элементах R6VD1 собрана схема ограничения выходного напряжения на случай нештатных ситуаций, например обрыва провода к транзистору. Если напряжение питания ОУ не превышает опорное напряжение АЦП, то их можно исключить.

В качестве DA1 может использовать любой ОУ, обеспечивающий работу при однополярном питании и входном напряжение от 0В. Например дешевый и распространенный LM358.

В качестве транзистора может использоваться любой не составной транзистор p-n-p структуры.

www.e-core.ru

Датчик температуры | Все своими руками

Опубликовал admin | Дата 9 июня, 2014

     Зависимость падения напряжения на p-n переходе от температуры было замечено сразу после создания самого этого перехода. Это свойство полупроводников используется в электронных термометрах, датчиках температуры, термореле и т.д.

     Простейшим датчиком температуры является p-n переход кремниевого диода, температурный коэффициент напряжения, которого равен, примерно, 3 мВ/°C, а прямое падение напряжения находится в районе 0,7В.

Работать с таким маленьким напряжением неудобно, поэтому в качестве термозависимого элемента лучше использовать p-n переходы транзистора, добавив к нему базовый делитель напряжения. Полученный двухполюсник обладает свойствами цепочки диодов, т.е.

падение напряжения на нем можно устанавливать намного больше, чем 0,7В. Зависит оно от соотношения базовых резисторов R1 и R2 см. рис. 1.

     Обладая отрицательным температурным коэффициентом сопротивления, этот двухполюсник нашел применение в схеме питания варикапов. При повышении температуры, емкость варикапов начинает увеличиваться, но одновременно уменьшается падение напряжения на двухполюснике VT1, R1,R2, что ведет к увеличению напряжения на переменном резисторе и соответственно на варикапе, уменьшая его емкость.

Таким образом, достигается температурная стабилизация резонансной частоты колебательного контура. На рисунке 2 показана схема двухполюсника, который можно использовать в качестве термодатчика в схемах электронных термореле и термометрах. Здесь есть одно неудобство, кристалл транзистора КТ315 размещен в пластмассовом корпусе, что повышает инерцию измерения температуры или срабатывания реле.

И второе, это неудобство крепления его к объекту, температуру которого необходимо отслеживать. Например, для отслеживания температуры теплоотводов мощных ПП, лучше применить в качестве термодатчика транзистор КТ814. Конструкция этого транзистора позволяет крепить его непосредственно к радиатору, находящемуся под потенциалом земли, всего одним винтиком.

Такой датчик используется в схеме терморегулятора для вентилятора, размещенной на сайте www. ixbt.com/spu/fan-thermal-control.shtml

     На рисунке 4 показана практическая схема для вентилятора охлаждения блока питания. Применение операционного усилителя средней мощности К157УД1 в качестве компаратора, позволило подключить пару вентиляторов от блока питания компьютера непосредственно на выход микросхемы, выходной ток которой, равен 0,3А. Температуру включения вентиляторов устанавливают резистором R5. Схема работает следующим образом.

При нормальной температуре теплоотвода напряжение на выводе 9 микросхемы DA1 должно быть больше, чем на выводе 8. При этом на выходе DA1, выводе 6, будет потенциал близкий к напряжению питания схемы. Напряжение на вентиляторах при таких условиях будет практически равно «0». Вентиляторы выключены. При повышении температуры теплоотводов будет повышаться и температура транзистора VT1, что в свою очередь вызовет уменьшение напряжения на неинвертирующем входе 8 микросхемы DA1.

Как только это напряжение будет меньше напряжения, установленного резистором R5, состояние компаратора изменится и на его выходе напряжение упадет примерно до потенциала земли. Вентиляторы включатся. Резистор R7 обеспечивает небольшой гистерезис схемы, что исключает неопределенное состояние выходного напряжения на выходе DA1 при равенстве входных напряжений. Плату терморегулятора лучше установить прямо на контролируемом радиаторе, чтобы его микросхема тоже обдувалась вентилятором.

Транзистор VT1 соединяется с платой тремя проводами и устанавливается в непосредственной близости от мощных ПП.

Обсудить эту статью на — форуме «Радиоэлектроника, вопросы и ответы»

Источник: https://m-gen.ru/datchik-2/tranzistor-v-kachestve-datchika-temperatury-tranzistor-v-kachestve-datchika-temperatury-kiberpediya.html

Диод PCH: что это такое и какая у него должна быть температура

диод как датчик температуры

Программы мониторинга аппаратной среды компьютера, такие, как AIDA64 и HWiNFO, показывают много интересного, но, к сожалению, не всегда понятного. И больше всего вопросов вызывает показатель «Диод PCH».

ЭТО ИНТЕРЕСНО:  Как подключить трехфазный двигатель

Диоды, как мы знаем из школьного курса физики, это такие радиоэлементы с односторонней проводимостью, которые используют в схемотехнике электронных устройств.

Разновидностей диодов целая куча: светоизлучающие, лазерные, микроволновые, инфракрасные, германиевые, кремниевые, тиристоры, стабисторы, варикапы Но ни в одном справочнике радиодеталей вы не найдете диода PCH.

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

Неусыпный «часовой» и его подопечный

Не буду томить: диод, точнее, термодиод PCH – это обобщенное название датчика температуры чипсета (системной логики) материнской платы компьютера в программах мониторинга.

Его значение отражает уровень нагрева этого узла в реальном времени.

Обобщенным же понятие «диод PCH» является потому, что функции температурных датчиков могут выполнять другие элементы, например, термотранзисторы, а PCH – не всегда PCH в его исконном значении: так обозначают лишь один из существующих видов чипсета, а вовсе не все.

PCH (Platform Controller Hub) – это элемент системной логики производства Intel, который управляет работой основной массы структур материнской платы. В его «епархию» входят контроллеры шин USB, SMBus, PCI-Express, LPC, SATA, периферийных устройств, RAID, часы реального времени и т. д. Словом, он управляет всем за исключением графики и памяти, которыми на современных платформах заведует центральный процессор.

Аналог PCH марки AMD называется FCH (Fusion Controller Hub), а марки nVidia – MCP (Media and Communications Processor).

На старых материнках (выпущенных до 2008 г. для процессоров Intel и до 2011 г. для AMD) системная логика разделена на 2 части – северный (MCH по классификации Intel) и южный (ICH) мосты. Первый отвечает за память и графику, второй – за периферию и остальное. После «упразднения» северных мостов южные стали называть просто хабами платформы или PCH (FCH, MCP).

На материнских платах с двухчиповой логикой диод PCH показывает температуру южного моста.

На платах ноутбуков на базе Intel Core 4-го поколения и новее чипсет и вовсе отсутствует как отдельный элемент – теперь его размещают на одной подложке с процессором.

Температура PCH: какой она должна быть

Максимально допустимая температура на кристалле процессора обычно указывается в его спецификации на сайте производителя. Параметр называется TJUNCTION или T J max.

Однако в спецификациях ICH/PHC, а тем более чипсетов AMD и NVidia ничего подобного не найти. Точную информацию о температурных режимах этих узлов можно узнать лишь из их datasheet (описательных документов электронных устройств), которые не всегда есть в открытом доступе и довольно сложны для восприятия.

Источник: https://f1comp.ru/zhelezo/diod-pch-chto-eto-takoe-i-kakaya-u-nego-dolzhna-byt-temperatura-pochemu-pch-peregrevaetsya-i-opasno-li-eto/

Диод как датчик температуры

диод как датчик температуры

Диод — наипростейший по своей комплектации прибор, обладающий свойствами полупроводника.

Между двумя крайностями диода (донорной и акцепторной) пролегает область пространственного заряда, иначе: p-n-переход. Этот «мост» обеспечивает проникновение электронов из одной части в другую, поэтому, в силу разноимённости составляющих его зарядов, внутри диода возникает довольно малый по силе, но всё-таки ток.

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

Кстати, именно по этой причине диод носит название полупроводникового вентиля (в одну сторону движение есть, в другую — нет).

Если попытаться повысить температуру диода, то количество неосновных носителей (электронов двигающихся в обратном основному направлении) увеличится, а p-n-переход начнёт разрушаться.

Именно поэтому рабочая температура полупроводников имеет определённые ограничения

Принцип взаимодействия между падением напряжения на диодном p-n-переходе и температурой самого диода была выявлена практически сразу после того, как он был сконструирован.

В результате p-n-переход диода из кремния — это наиболее простой температурный датчик. Его ТКН (температурный коэффициент напряжения) составляет 3 милливольта на градус цельсия, а точка прямого падения напряжения — около 0,7В.

Для нормальной работы данный уровень напряжения излишне мало, поэтому чаще используется не сам диод, а транзисторные p-n-переходы в комплекте с базовым делителем напряжения.

В результате, конструкция по своим качествам соответствует целой последовательности диодов. Как итог, показатель по падению напряжения может быть гораздо большим, чем 0,7В.

Поскольку ТКС (температурный коэффициент сопротивления) диода является отрицательным (- 2mV/°C), то он оказался весьма актуальным для использования в варикапах, где ему отводится роль стабилизатора резонансной частоты колебательного контура. Контроль осуществляется при помощи температуры.

Данные по падению напряжения на диодах

При анализе показаний цифрового мультиметра можно отметить, что данные по падению напряжения на p-n-переходе для кремниевых диодов составляют 690-700 мВ, а у германиевых — 400-450 мВ (хотя этот вид диодов на данный момент практически не используется).  Если во время замера температура диода поднимается, то данные мультиметра напротив снизятся. Чем значительнее сила нагрева, тем значительнее падают цифровые данные.

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

Схема термометра на диоде.

Датчики температуры для микроконтроллера

На данный момент многие схемы строятся на микроконтроллерах, сюда же можно отнести и разнообразные измерители температуры, в которых могут быть применены полупроводниковые датчики при условии, что температура при их эксплуатации не превысит 125°C.

Поскольку градуирование температурных измерителей происходит ещё на заводе, калибровать и настраивать датчики нет никакой необходимости. Получаемые от них результаты в виде цифровых данных поступают в микроконтроллер.

https://www.youtube.com/watch?v=Zq1qfIixJJg

Применение полученной информации зависит от программного наполнения контроллера.

Помимо прочего, такие датчики могут работать в термостатном режиме, то есть (при заранее заданной программе) включаться или выключаться по достижении определённой температуры.

Однако, если опорными станут другие температурные показатели, программу придётся переписывать.

Прочие сферы применения

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

Несмотря на ограничения по температурному режиму диодные датчики имеют свои значительные плюсы:

— относительная дешевизна;

— скромные габариты;

— запросто подойдут к огромному числу электронных приборов;

— превосходная чувствительность и точность.

Благодаря всем этим качествам область применения датчиков данного типа растёт из года в год.

Пишите комментарии, дополнения к статье, может я что-то пропустил. Загляните на карту сайта, буду рад если вы найдете на моем сайте еще что-нибудь полезное.

ЭТО ИНТЕРЕСНО:  Как работает транзистор для начинающих

Источник: https://elektronchic.ru/elektronika/diod-kak-datchik-temperatury.html

Считывание показаний датчиков с помощью Arduino

Легкость, с которой Arduino может получить значения с датчиков, является одной из особенностей, которая делает эти платы такими полезными.

Датчики – это устройства, которые преобразуют физические величины, например, яркость света или температуру, в электрическую величину. Например, термопара выдает напряжение, пропорциональное её температуре. Существует множество различных датчиков:

  • датчик освещенности;
  • датчик движения;
  • датчик температуры;
  • датчик магнитного поля;
  • датчик силы тяжести;
  • датчик влажности;
  • датчик вибрации;
  • датчик давления;
  • датчик электрических полей;
  • звуковой датчик;
  • датчик положения.

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

Эксперимент 1: датчик расстояния

В этом эксперименте мы будем использовать датчик расстояния Sharp GP2Y0A21YK для управления яркостью светодиода.

Инфракрасный (IR) датчик SHARP

Необходимые комплектующие

  • 1 x Arduino Mega2560;
  • 1 x макетная плата;
  • 1 x светодиод;
  • 5 x перемычка;
  • 1 x резистор 470 Ом;
  • 1 X датчик расстояния Sharp GP2Y0A21YK.

Схема соединений

Схема соединений

Датчик расстояния Sharp может обнаруживать объекты на расстояниях от 10 до 80 см. Он излучает импульс инфракрасного света, а затем определяет угол, на котором отражается этот свет. Чем дальше объект, тем ниже выходное напряжение. Если датчик не принимает отраженный свет, то напряжение на его выходе составит 0 В. Если объект находится на расстоянии 10 см или ближе, выходное напряжение будет равно 5 В (в этом эксперименте мы подаем на датчик напряжение питания 5 В).

Выход датчика подключается к аналоговому входу Arduino. Аналого-цифровой преобразователь (ADC) Arduino затем преобразует это напряжение в значение от 0 до 1023. Затем это значение преобразуется в значение от 0 до 255, и это число используется для установки коэффициента заполнения сигнала на широтно-модулированном (ШИМ) выходе, который управляет яркостью светодиода. В результате, чем ближе объект к датчику расстояния, тем ярче светит светодиод.

Полупроводниковые датчики температуры

Полупроводниковые датчики температуры предназначены для измерения температуры от -55° до 150°С. В этот диапазон попадает огромное количество задач, как в бытовых, так и в промышленных приложениях. Благодаря высоким характеристикам, простоте применения и низкой стоимости полупроводниковые датчики температуры оказываются очень привлекательными для применения в микропроцессорных устройствах измерения и автоматики.

Принцип работы

Полупроводниковые датчики температуры

Физический принцип работы полупроводникового термометра основан на зависимости от температуры падения напряжения на p-n переходе, смещенном в прямом направлении.

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

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

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

Аналоговые полупроводниковые датчики

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

Простые аналоговые полупроводниковые датчики практически в чистом виде реализуют идею измерения температуры, с помощью определения падения напряжения на p-n переходе.

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

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

 Основной характеристикой датчика температуры является точность измерений. Для полупроводниковых моделей она колеблется от ±1°С до ±3.5°С. Самые точные модели редко обеспечивают точность лучше чем ±0.5°С. При этом данный параметр сильно зависит от температуры. Как правило, в суженном диапазоне от  -25° до 100°С точность в полтора раза выше, чем в полном диапазоне измерений -40°С до +125°С.

 Большинство аналоговых датчиков температуры, иначе называемых интегральными датчиками, содержит три вывода и включается по схеме диода. Третий вывод обычно используется для целей калибровки. Выходной сигнал датчика представляет собой напряжение, пропорциональное температуре. Величина изменения напряжения различна и, например, составляет 10мВ/градус. Для точного определения значения температуры необходимо знать падение напряжения при каком-либо ее фиксированном значении.

Обычно в качестве такового используется значение начала диапазона измерений либо 0°С.

Примеры аналоговых датчиков температуры

Модель Диапазон измерений Точность Температурный коэффициент Производитель
LM35 от -55°С до +150°С  ±2°С  10 мВ/°С   National Semiconductor
LM135 от -50°С до +150°С  ±1.5°С  10 мВ/°С   National Semiconductor
LM335 от -40°С до +100°С  ±2°С  10 мВ/°С   National Semiconductor 
TC1047 от -40°С до +125°С  ±2°С  10 мВ/°С   Microchip
TMP37  от -40°С до +125°С  ±2°С 20 мВ/°С   Analog Devices

Кроме простых датчиков, производители предлагают также готовые интегральные системы термостатирования. Подобные микросхемы, например LM56 от National Semiconductor, оснащены выходом для управления нагрузкой. Температура срабатывания выхода задается в виде заводской установки, либо с помощью навесных элементов, подключаемых к специальным входам задания. Невысокое качество регулирования, обеспечиваемое данными элементами, компенсируется их простотой использования и сверхнизкой стоимостью готовых систем управления.

Полупроводниковые датчики с цифровым выходом

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

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

Использование термометров с цифровым выходом значительно упрощает схемотехнику измерительного устройства, при незначительном увеличении стоимости относительно аналоговых вариантов. Также использование стандартных интерфейсов позволяет интегрировать датчики в различные системы управления или подключать несколько датчиков на одну шину.

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

Примеры датчиков температуры с цифровым выходом 

Модель  Диапазон Точность Разрешение Интерфейс Производитель 
 LM75 от -55°С до +125°С ±3°С  9 бит I2C   National Semiconductor
LM76  от -55°С до +150°С ±1.5°С  13 бит   I2C  National Semiconductor
DS18B20 от -55°С до +125°С ±2°С  9-12 бит  1-Wire  MAXIM 
DS1621 от -55°С до +125°С ±1°С   9 бит  I2C  MAXIM
DS1722  от -55°С до +120°С ±2°С   12 бит
ЭТО ИНТЕРЕСНО:  Как подключить двигатель на 220 без конденсаторов

Источник: https://mcucpu.ru/index.php/pdevices/datchiki/108poluprovodnikovye

Датчик температуры для Arduino

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

Исходный код

Принцип действия схемы будет очень прост и понятен из исходника:

int rLED=13;//Пин красного светодиода
int gLED=12;//Пин зелёного

//Преднастройкиvoid setup(){pinMode(rLED,OUTPUT); //Цифровой выход 13 для красногоpinMode(gLED,OUTPUT); //Цифровой выход 12 для зелёногоSerial.begin(9600); //Стартуем последовательный порт (для отслеживания состояния)

}

//Выполнение программы в циклеvoid loop(){int val; //под значение из датчикаint dat; //под вычисленный результат температурыval=analogRead(0); //Считываем значение с 0-го аналогового входаdat=(125*val)>>8; //Преобразуем значение в человеческий видif ((dat > 28) || (dat < 26)) //Если температура больше 28 или меньше 26 - мигаем красным, иначе мигаем зелёным.{blinkLED(rLED);}else{blinkLED(gLED);}Serial.println(dat); //Выводим в терминал температуруdelay(500); //Задержка в пол-секунды

}

//Мигание LED-ом.void blinkLED(int NLED){digitalWrite(NLED,HIGH);delay(350);digitalWrite(NLED,LOW);

}

Соединение

Соединяем следующим образом:

Аналоговые пины:

  • A0 – на среднюю ногу датчика LM35;
  • 5V – на первую ногу датчика LM35;

Цифровые пины:

  • 12 – на сигнальную ногу зелёного светодиода;
  • 13 – на сигнальную ногу красного светодиода;
  • GND – на общую “землю”;

Резисторы используются от общей земли до “массы” диодов;
Идёт дополнительная линия общей земли на 3-ю ногу датчика LM35;

Принцип работы:

На датчик температуры подаётся напряжение 5В между первой и третьей ногой (+5 и GND соответственно);

Со средней ноги получаем напряжение относительно первой ноги по 10 мВ на каждый градус цельсия. То есть для 20 градусов напряжение будет 0.2В (200 мВ).

Это напряжение поступает на аналоговый вход A0, где оно преобразуется в значение от 0 до 1023 (поскольку на Arduino имеется 10-битный аналогово-цифровой преобразователь), как правило это напряжение от 0 до 5В, поделённое на 1024 шага, каждый из которых размера 0,0049В.

Далее, это числовое значение преобразуется в десятичное значение, в зависимости от которого и вызывается функция мигания светодиода того или иного цвета (операторы сравнения с константами).

Ну а мигание светодиода работает просто – посылается сигнал HIGH на + диода, либо сигнал LOW, что означает высокое напряжение или низкое. Цифровые выходы могут оперировать только двумя этими значениями. Высокое примерно равно 5В (или 3.3В в зависимости от платы), низкое примерно 0В. Вот и всё.

работы

Источник: https://litl-admin.ru/zhelezo/datchik-temperatury-dlya-arduino.html

ESP32: Базовые примеры

Мигаем светодиодом
RGB-светодиод
Измеряем температуру чипа
Датчик Холла для обнаружения магнита
Базовая информация о модуле: getSdkVersion(), esp_get_idf_version()
Программная пере платы: restart()
Случайное число: esp_random()
BASE64
Джойстик
Датчик температуры и влажности DHT11/DHT22
Задействуем разные ядра микроконтроллера

Если использовать стандартный скетч из File | Examples | 01.Basics | Blink, то получим ошибку. Причина в следующем — у ESP32 нет константы LED_BUILTIN, которая указывает на встроенный светодиод (что достаточно странно). Поэтому следует явно указать вывод платы, как это было в старых примерах. Кроме того, встроенный светодиод находится не на выводе 13, а на выводе 2. С учётом этих особенностей скетч для мигания встроенным светодиодом будет следующим.

// Мигаем встроенным светодиодом на ESP32 const int LED = 2; void setup() { pinMode(LED, OUTPUT); } void loop() { delay(1000); digitalWrite(LED, HIGH); delay(1000); digitalWrite(LED, LOW); }

RGB-светодиод

У ESP32 нет функции analogWrite(), поэтому стандартный способ не подходит. Взамен можно использовать другие функции, о которых в другой статье. А пока простой пример для включения основных цветов без промежуточных вариантов для модуля RGB-светодиода. Используем выводы 12, 13, 14 и GND.

void setup() { pinMode(12, OUTPUT); pinMode(13, OUTPUT); pinMode(14, OUTPUT); } void loop() { digitalWrite(12, HIGH); digitalWrite(13, HIGH); digitalWrite(14, HIGH); delay(2000); digitalWrite(12, LOW); digitalWrite(13, LOW); digitalWrite(14, LOW); delay(2000); digitalWrite(12, LOW); digitalWrite(13, HIGH); digitalWrite(14, LOW); delay(2000); digitalWrite(12, LOW); digitalWrite(13, LOW); digitalWrite(14, HIGH); delay(2000); }

Другой пример работы с RGB-модулем

Измеряем температуру чипа

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

При тестировании у меня всегда выводилось 53.33 градуса. Даже не знаю, можно ли ему вообще доверять.

#ifdef __cplusplus extern «C» { #endif uint8_t temprature_sens_read(); #ifdef __cplusplus } #endif uint8_t temprature_sens_read(); void setup() { Serial.begin(115200); } void loop() { Serial.print(«Temperature: «); // Convert raw temperature in F to Celsius degrees Serial.print((temprature_sens_read() — 32) / 1.8); Serial.println(» C»); delay(1000); }

Датчик Холла для обнаружения магнита

У платы есть встроенный датчик Холла, который умеет обнаруживать магниты. Напишем скетч, который при обнаружении магнита будет включать светодиод. Также в Serial Monitor выводятся текущие показания.

const int LED = 2; void setup() { Serial.begin(115200); pinMode(LED, OUTPUT); } void loop() { int sensor = hallRead(); // считываем показания датчика Холла Serial.print(«Sensor Reading:»); Serial.println(sensor); digitalWrite(LED, (sensor < 0) ? HIGH : LOW); // включаем светодиод при обнаружении магнита delay(500); }

Цифро-аналоговый преобразователь (DAC, digital to analog converter)

У платы есть 2 аналоговых выхода с ЦАП (8 бит): вывод 25 (DAC1) и вывод 26 (DAC2). Аналоговый выход цифро-аналогового преобразователя позволяет формировать 8-битные уровни напряжения.

#define DAC1 25 void setup() { Serial.begin(115200); } void loop() { int value = 128; // 255= 3.3V, 128=1.65V dacWrite(DAC1, value); delay(1000); }

Запустите скетч и проверьте мультиметром значение напряжения на выводе 25. Можете менять в скетче уровень напряжения.

Базовая информация о модуле: getSdkVersion(), esp_get_idf_version()

Версия SDK, размер флеш-памяти, кучи (heap). У функции getSdkVersion() есть аналог в виде низкоуровневой функции esp_get_idf_version(), которая вернёт такой же ответ.

void setup() { Serial.begin(115200); Serial.println(«SDK»); Serial.println(ESP.getSdkVersion()); Serial.println(«SDK через низкоуровневую функцию:»); Serial.println(esp_get_idf_version()); } void loop() {}

Ответ на момент написания примера.

SDK v3.2.3-14-gd3e562907 SDK через низкоуровневую функцию: v3.2.3-14-gd3e562907

Программная пере платы: restart()

У платы есть готовая функция restart() для программной перезагрузки. Смотри пример в API.

Перепишем пример, добавив счётчик. Он будет уменьшаться раз каждую секунду с 10 до 0.

int counter = 10; void setup() { Serial.begin(115200); } void loop() { Serial.println(counter); if (counter == 0) { Serial.println(«Reset..»); ESP.restart(); } counter—; delay(1000); }

Случайное число: esp_random()

У Arduino есть стандартные функции для получения случайных чисел random(). У ESP32 есть своя дополнительная функция esp_random(), которая возвращает число от 0 до UINT32_MAX (наибольшее беззнаковое число INT). Чтобы число было действительно случайным, должен работать Wi-Fi или Bluetooth-модуль для взятия значений из сигналов беспроводной связи.

Напишем скетч, который будет использовать все доступные функции.

void setup() { Serial.begin(115200); } void loop() { Serial.println(«————«); Serial.println(esp_random()); Serial.println(random(10)); // 0-9 Serial.println(random(10, 20)); // 10-19 delay(1000); }

BASE64

Переводим строку в схему кодирования BASE64. Для этого есть готовая библиотека base64.h.

Источник: http://developer.alexanderklimov.ru/arduino/esp32/basic-samples.php

Понравилась статья? Поделиться с друзьями:
220 вольт
Ввгнг ls что это

Закрыть