Dallastemperature h описание библиотеки: Dallastemperature h описание библиотеки — ПК портал

Си библиотека для работы с 1-Wire устройствами

   Для работы с устройствами, поддерживающими 1-Wire протокол уже давным-давно написаны библиотеки. Поэтому нет смысла изобретать велосипед (лично я это уже делал, когда программировал  на ассемблере) и писать что-то свое. На сайте фирмы ATMEL есть замечательный application note AVR318: Dallas 1-Wire, в котором рассмотрены два варианта реализации 1-Wire протокола на микроконтроллерах AVR – программная и аппаратная. Программная реализация позволяет использовать однопроводный протокол на любых микроконтроллерах. Аппаратная – только на тех, на которых есть модуль UART. Аппаратной поддержки 1-Wire протокола «в чистом виде» микроконтроллеры AVR не имеют, однако, используя модуль UART неким хитрым образом, эту поддержку можно организовать. К application note идет проект. Я взял из этого проекта исходные файлы библиотеки, добавил, изменил несколько функций и написал файл compilers.h, чтобы можно было использовать эту либу с любым из трех компиляторов – IAR AVR, GNU GCC (WINAVR), CodeVision.

   Библиотека состоит из следующих файлов

 

OWISWBitFunction.h

OWISWBitFunction.c

OWIUARTBitFunction.c

 

OWIHighLevelFunction.h

OWIHighLevelFunction.c

 

OWIPolled.h

compilers.h

 

OWIdefs.h

OWIdevicespecific.h

OWIcrc.h

OWIcrc.c

Процесс интеграции 1-Wire библиотеки с проектом заключается в следующем:

— переписываем файлы библиотеки в папку проекта

— подключаем сишные файлы к проекту

OWIHighFunction.c

OWISWBitFunction.c

OWIUARTBitFunction.c

OWIcrc.c

— добавляем заголовочные файлы в main.c

#include «OWIPolled.h»

#include «OWIHighLevelFunctions.h»

#include «OWIBitFunctions.h»

#include «common_files\OWIcrc.h»

— настраиваем файл OWIPolled.h

— выбираем реализацию OneWire интерфейса – программную 

       #define     OWI_SOFTWARE_DRIVER    

       //#define     OWI_UART_DRIVER

— задаем тактовую частоту микроконтроллера

       #define     CPU_FREQUENCY   16. 000

— задаем порт, к которому подключена OneWire шина

       #define     OWI_PORT      PORTD   //!< 1-Wire PORT Data register.

       #define     OWI_PIN         PIND    //!< 1-Wire Input pin register.

       #define     OWI_DDR        DDRD    //!< 1-Wire Data direction register.

— в main.c задаем вывод, к которому подключена OneWire шина

      #define BUS   OWI_PIN_7

 

Для GCC проектов в makefile нужно будет добавить все сишные файлы. 

Например, так:

 

SRC = $(TARGET).c bcd.c lcd_lib.c OWISWBitFunctions.c OWIHighLevelFunctions.c OWIUARTBitFunctions.c  common_files/OWIcrc.c

Библиотека 1-Wire для AVR

Проект для IAR AVR — работа с одним датчиком DS18B20

Проект для  IAR AVR — работа с двумя датчиками DS18B20

Описание DS18B20

Описание DS18B20 на русском языке

Application note AVR318: Dallas 1-Wire

Проекты проверялись в железе и никаких нареканий не вызывали. В Proteus`е я их тоже запустил, но не сразу. Оказывается по умолчанию датчикам DS18B20 присваиваются одинаковые адреса. При использовании нескольких датчиков адреса нужно подправить ручками.

Подробное описание проектов будет уже в новом году…

Анатолий Беляев (Mr.ALB) — персональный сайт

Этот проект является продолжением раннего проекта часов Часы на RTC DS3231 и TM1637. По просьбе моего знакомого Константина К. добавил вывод на экран дисплея температуру. А потом вспомнил, что читатели сайта просили добавить будильник, что и сделал. Потом дошла очередь и до барометра. Получились не обычные такие часы, а часы с расширенными функциями .

Подразделы

  • Схема электрическая принципиальная
  • Схема монтажная
  • Скетч часов
  • Перечень элементов
  • Конструкция часов
  • Даработка
  • Приложение

При модернизировании предыдущего проекта #8 Часы на RTC DS3231 и TM1637 вышло, что проще написать всё по новому, поэтому программа была написана заново. Схема тоже усложнилась добавлением разными компонентами.



Схема часов

Схема часов немного сложнее, чем в предыдущем проекте. Добавлен активный Buzzer для сигнала будильника. Добавлен светодиод для индикации активности будильника. Добавлена ещё одна кнопка для установки будильника. Добавлен датчик температуры DS1820. Добавлен модуль абсолютного давления BMP280. Замечу, что для него требуется напряжение питания +3,3В. Если использовать

Arduino Uno R3 или Arduino Nano, то у них на платах уже имеется стабилизатор на +3,3В. Если же использовать Arduino Pro Mini, то придётся добавить такой стабилизатор дополнительно или, как вариант, запитать датчик от +5В через два последовательно соединённых диода 1N4148.

Блок питания используется импульсный, обратноходовый. Выдаёт +6.5 В. Это напряжение подаётся на стабилизатор Arduino Pro Mini – на контакт RAW. Можно использовать БП на +5В, но тогда подавать питание нужно на контакт VCC.

Выключатель SA2 можно не ставить. Работающий будильник можно отключить нажав на кнопку ALARM.

Pic 1. Схема электрическая принципиальная для скетча #21

Монтажную схему см. ниже. Резистор R2 можно ставить от 4.7кОм до 12кОм. Чем больше сопротивление, тем тусклее будет светить светодиод HL2. Вполне нормально светит при R2 = 10кОм.

Pic 2. Схема монтажная для скетча #21

Скетч часов

Далее представлен скетч. Рассмотрю некоторые его особенности. В предыдущем проекте у автора для мигания точек используется сигнал с модуля реального времени с контакта SQW, который подаётся на контакт 2 Ардуино. Но оказывается не все модули имеют такой сигнал и чтобы сделать программу более универсальную – отказался от этого и мигание точек делаю за счёт Timer1.

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

Во время начального теста, если датчик DS1820 не подключен, то на индикаторе выводится 2 секунды тип 3231 встроенного датчика температуры DS3231. Если датчик температуры DS1820 подключен, то выводится его тип 1820 2 секунды. После чего выводится разрешение датчика в 3-м и 4-м разрядах 2 секунды. Максимальное разрешение датчика DS1820 равно 12 бит. Далее, если подключен датчик абсолютного давления BMP280, то на индикаторе на 2 секунды выводится сообщение 280P. Если в схеме нет датчика абсолютного давления BMP280, то программа переходит к выводу времени.

Весь код подробно закомментирован, с его пониманием, надеюсь, проблем не будет. Хочу лишь обратить внимание, что когда происходит запись значения в EEPROM, то индикатор гашу на 300 мс, чтобы видеть, что команда записи отработала – индикация записи.

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

2021-12-22

Сам скетч, его варианты и библиотеки можно скачать ниже в подразделе Приложение.

Перечень элементов

  1. U1 – Arduino UNO R3, Arduino Pro Mini или другое.
  2. U2 – Модуль питания AC-DC на 5…6 В.
  3. U3 – Модуль стабилизатора на +3,3 В, если нет на плате Arduino.
  4. U4 – Модуль датчика абсолютного давления BMP280 (допустимо без него).
  5. DD1 – Датчик температуры семейства DS1820 (допустимо без него).
  6. RTC1 – Модуль реального времени DS3231.
  7. R1 – Резистор 4.7 кОм (при наличии датчика DS1820).
  8. R2 – Резистор 10 кОм (4.7кОм…12кОм).
  9. HL1 – Дисплей 4-х разрядный 7-и сегментный TM1637.
  10. HL2 – Светодиод красный.
  11. SA1 – Выключатель (любой).
  12. SA2 – Выключатель (любой).
  13. SB1…SB5 – Микрокнопка (любая).
  14. BA1 – Buzzer активный.

Конструкция часов

Законченной конструкции на данный момент у меня нет. Всё собиралось на макетных панельках с использованием Arduino Uno R3. Возможно, что впоследствии, как будет сделана законченная конструкция, то тут добавлю фото реализации.

Далее несколько фото макетного варианта.

Pic 3. Мой макетный вариант. Вывод времени Pic 4. Мой макетный вариант. Вывод температуры Pic 5. Мой макетный вариант. Вывод атмосферного давления

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

Pic 6. Часы с mp3 проигрывателем. Вывод времени Pic 7. Часы с mp3 проигрывателем. Вывод температуры с датчика DS18B20 Pic 8. Часы с mp3 проигрывателем. Вывод атмосферного давления

Далее фото конструкции. Как всё устроено внутри.

Pic 9. Часы с mp3 проигрывателем. Платы часов Pic 10. Часы с mp3 проигрывателем. Платы часов Pic 11. Часы с mp3 проигрывателем. Задняя крышка снята Pic 12. Часы с mp3 проигрывателем. Задняя крышка и панель с платами Pic 13. Часы с mp3 проигрывателем. Самодельный индикатор

Сзади на крышке установлены кнопки управления и отверстия под звуковой излучатель.

Pic 14. Часы с mp3 проигрывателем. Вид сзади Pic 15. Часы с mp3 проигрывателем. Вид индикатора в темноте

Часы с mp3 проигрывателем

Продолжительность фильма 0:39 [мм:сс]

В этом видео демонстрация работы звукового сигнала в конструкции Константина К.



Доработка

Переделка на вариант без bmp280. Тогда скетч использует всего 10066 байт и его можно записать в AVR ATMega168P. Этот скетч можно скачать по ссылке ниже.

Доработка скетча для вывода на индикатор отрицательных температур. Если датчик DS1820 сделать внешним, то можно измерять внешние температуры в диапазоне от -55°С до +125°С. Чтобы этот скетч работал, скачайте изменённую библиотеку <TM1637_mralb.h>, которая находится в архиве: my_Clock_Lib.rar

Константик К. выявил ошибку: При настройке яркости возникает отставание времени из-за обнуления секунд. Ошибка устранена.

Использование новой библиотеки <TM1637new.h>. Улучшение включения будильника. Оптимизация кода.

Доработка скетча для Константина К. – часы с mp3 и пультом, см. в Приложении konst_clock_pult_mp3_4.rar.

Создание на основе новой библиотеки <TM1637new. h> вариантов часов: с датчиком давления BMP280, с датчиком температуры DS1820. Все скетчи опробованы на Arduino UNO, Arduino Nano, LGT8F328P.

В новой библиотеке выявлен глюк – не выводится 0. При использовании функции void TM1637::displayInt(int value).

Вывод значений: времени, температуры, давления привязан к секундам, что уменьшило объём программы: Скетч использует 15342 байт (51%) памяти устройства.

Проверка звука при установке будильника.

Изменил программу под единичный вывод температуры и давления. Смотрите архивы с этой же меткой времени.

После этой тучи доработок пришёл к мнению, что всю программу часов следует переделать и в итоге получилась гораздо более совершенная программа, смотрите на странице проект #28 Часы на RTC DS3231, с расширенными функциями v3.


Приложение

Используемые библиотеки и программы:

  • Библиотеки:
    my_Clock_Lib.rar
  • Скетч + схема c DS1820:
    my_Clock_tm1637_RTC3231_alarm_ds1820.rar2022-04-02
  • Скетч без DS1820 c BMP280
    :
    my_Clock_tm1637_RTC3231_alarm_bmp280.rar
  • Скетч + библиотекиc DS1820 + BMP280:
    my_Clock_tm1637_RTC3231_alarm_ds1820_bmp280.rar2022-04-02
  • Константин К. в скетч добавил модуль mp3 проигрывателя (желательно использовать на чипе Mh3024K-24SS) и ИК-пульт. Дополнительный вариант:
    Скетч: konst_clock_pult_mp3_4.rar
    Библиотека для mp3 проигрывателя: DFPlayer_Mini_Mp3.rar
  • Библиотека новая: TM1637new.rar
  • Скетч новый: my_Clock_tm1637new_RTC3231_alarm_bmp280.rar2022-02-02
  • Скетч новый: my_Clock_tm1637new_RTC3231_alarm_ds1820_lgt8f.rar2022-02-02
  • Скетч новый: my_Clock_tm1637new_RTC3231_alarm_ds1820_bmp280. rar2022-02-02

2021-12-04
2021-12-22
2022-01-05

2022-02-02
2022-04-02

Спасибо за внимание!
Анатолий Беляев


На развитие сайта и проектов Arduino

Ниже на форме выберите сумму и источник перевода:
Кошелёк Ю-money, Карта банка

Yoomoney.ru (Яндекс.Деньги)  
9516

Есть возможность и другим способом оказать помощь на развитие сайта.

. Mr.ALB

Датчик температуры DS18B20 | DevXplained

Хотите простой в использовании цифровой датчик температуры? DS18B20 — популярная альтернатива аналоговым температурным модулям.

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

DS18B20 — это цифровой датчик температуры от Dallas Semiconductors, которая теперь является частью Maxim. Датчик обеспечивает точность около ± 0,5 °С и может работать в диапазоне температур от — 55 °С до 125 °С. Для передачи данных используется шина 1-Wire. Эта шина также была разработана Dallas Semiconductors, и, как следует из названия, для нее требуется только одна линия данных рядом с линиями питания. Если кто-то хочет довести это до крайности, напряжение питания также может подаваться через линию передачи данных. Это также называется паразитным режимом питания. В этом режиме вам нужно всего два провода. Однако мы не будем рассматривать этот режим в этом уроке. Модули Arduino обычно используют три контакта с отдельной линией для питания.

Каждый DS18B20 имеет уникальный 48-битный адрес, что позволяет использовать неограниченное количество датчиков на одной шине 1-Wire. Единственным недостатком является то, что скорость связи довольно низкая. Однако для измерения температуры это не имеет большого значения. Температура обычно не меняется так быстро, да и сам DS18B20 тоже не быстр. Измерение с полным 12-битным разрешением занимает около 750 мс. Для более быстрых измерений разрешение можно уменьшить с шагом 1 бит до 9 бит. При 9-битном разрешении измерение занимает около 100 мс. С библиотекой, которую мы используем в этом руководстве, можно установить разрешение, например. звоню

sensor.setResolution(9) для 9-битного разрешения. В этом уроке мы будем придерживаться 12-битного разрешения по умолчанию и не будем стремиться к скорости. Имейте в виду, что функцию необходимо вызывать снова, если новые датчики добавляются к шине во время выполнения.

Доступно несколько типов датчиков DS18B20. Сначала есть готовые модули, такие как KY-001, показанный слева. Эти модули уже содержат необходимые компоненты для управления шиной 1-Wire. Они готовы к использованию с Arduino. С другой стороны, есть только датчики DS18B20 в разных упаковках, например. на транзисторе типа ТО-92, как тот, что используется на модуле, или в водонепроницаемом корпусе, как показано справа.

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

Для использования DS18B20, который не входит в состав готового модуля, необходим дополнительный резистор 4,7 кОм, который используется как подтягивающий для линии передачи данных шины 1-Wire. На рисунке ниже показано, как собрать необходимую схему на макетной плате.

Давайте начнем с использования одного модуля вместе с Arduino. Если у вас есть отдельный датчик DS18B20 без модуля, используйте схему с внешним подтягивающим резистором, показанную в последнем разделе. Если у вас есть готовый модуль, вам понадобятся три перемычки. Я подключил линию данных к контакту 8 на Arduino. На модуле он помечен S . Не обязательно использовать контакт 8 , подойдет любой контакт. Конечно, вам нужно скорректировать код, если вы хотите использовать другой пин для линии данных. Далее нам нужно подключить линии электропередач. Подключить

GND к левому контакту с маркировкой - и 5V к среднему контакту, как показано на рисунке.

Чтобы иметь возможность использовать модуль с Arduino, мы воспользуемся библиотекой DallasTemperature. Если вы еще этого не сделали, вам необходимо установить его. Просто откройте диспетчер библиотек в разделе Инструменты > Управление библиотеками... и найдите датчик. Затем выберите библиотеку DallasTemperature и установите ее. Вам будет предложено установить библиотеку OneWire вместе с библиотекой DallasTemperature. Библиотека OneWire требуется для использования библиотеки DallasTemperature. Он обеспечивает необходимые функции для использования шины 1-wire.

В этом уроке мы будем распечатывать значение температуры на последовательный монитор. В самом верху нашей программы нам нужно включить необходимые библиотеки и создать экземпляр шины 1-wire для контакта 8 и передать его в библиотеку DallasTemperature:

 #include <  OneWire  .h>
#include <  DallasTemperature  .h>
// Датчик на выводе 8
  Шина OneWire (8);
  Датчики DallasTemperature (&bus);
 

В петле нам нужно сделать две вещи: запустить измерение и затем считать измеренное значение с датчика. Мы можем начать измерение, вызвав метод requestTemperatures . В нашем случае мы хотим использовать только первый датчик на шине 1-wire. Мы можем ограничить наш запрос первым датчиком, вызвав requestTemperaturesByIndex с индексом 0 . Чтобы прочитать значение измерения, мы можем вызвать getTempCByIndex для температуры в градусах Цельсия или getTempFByIndex для температуры в градусах Фаренгейта.

Следующий код выводит эти значения на последовательную консоль примерно каждые 5 секунд (скорее, каждые 6 секунд, поскольку датчикам требуется время для выполнения измерения и передачи данных по шине 1-wire):

 # включить < OneWire  .h>
#include <  DallasTemperature  .h>
// Датчик на выводе 8
  Шина OneWire (8);
  Датчики DallasTemperature (&bus);
недействительная установка () {
  Серийный номер  .begin(9600);
}
недействительный цикл () {
 // Запускаем измерение температуры и ждем его
 датчики. requestTemperaturesByIndex(0);
 // Читаем и показываем результат
  Серийный номер  .print("Температура (°C): ");
  Серийный номер  .println(sensors.getTempCByIndex(0));
  Серийный номер  .print("Температура (°F): ");
  Серийный номер  .println(sensors.getTempFByIndex(0));
 
 задержка(5000);
} 

После загрузки кода в Arduino вы сможете увидеть текущую температуру в последовательном мониторе:

 Температура (°C): 21,44
Температура (°F): 70,59 

Использование нескольких датчиков

В завершение давайте посмотрим, как использовать несколько датчиков на одной шине. К сожалению, это требует использования отдельных датчиков DS18B20. Вам нужен только один подтягивающий резистор для всей шины. К сожалению, каждый модуль KY-001 имеет собственный подтягивающий резистор. Если вы соедините слишком много из них вместе, шина перестанет работать. Поэтому, пожалуйста, используйте отдельные датчики без встроенных подтягивающих устройств, чтобы убедиться, что все будет работать, как задумано. На рисунке ниже показано, как подключить два водонепроницаемых датчика DS18B20 к одной шине. Просто соедините соответствующие контакты вместе. Конечно, вы также можете построить эту схему с датчиками DS18B20 в ТО-9.2 пакета или даже смешать их. Электрически нет никакой разницы, просто упаковка у этих типов датчиков отличается.

Мы уже знаем, как инициировать измерение для всех подключенных датчиков: мы просто вызываем requestTemperatures . Чтобы распечатать все значения измерений, нам нужно перебрать все датчики и считать каждый из них. К счастью, библиотека позаботится о деталях для нас. Теоретически мы могли бы просто вызвать getTempCByIndex или getTempFByIndex 9.0012 в цикле и каждый раз увеличивая индекс на единицу. Как только мы доходим до последнего датчика, возвращается большое отрицательное число, указывающее на ошибку. Это говорит нам, когда нам нужно остановиться. Проблема в том, что трудно сказать, какой датчик какой.

Помните, мы говорили, что каждый датчик имеет уникальный 48-битный адрес? Вызвав getAddress с индексом датчика, мы можем запросить адрес датчика. Чтобы сохранить адрес, необходимо передать объект DeviceAddress в функцию вместе с индексом. Адрес будет записан в Объект DeviceAddress , который в основном представляет собой массив из 8 байтов. Если мы достигнем конца и для запрошенного индекса больше не будет датчика, функция вернет false , в противном случае она вернет true . Чтобы выполнить итерацию по всем устройствам, мы можем просто увеличить индекс и выполнить цикл до тех пор, пока getAddress не вернет false . Чтобы получить значения измерений, мы можем затем вызвать getTempC или getTempF с адресом датчика.

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

 #include <  OneWire  .h>
#include <  DallasTemperature  .h>
// Датчик на выводе 8
  Шина OneWire (8);
  Датчики DallasTemperature (&bus);
недействительная установка () {
  Серийный номер  . begin(9600);
}
void printAddress ( DeviceAddress  адрес) {
 для (целое я = 0; я < 8; я ++) {
 if(i != 0)  Серийный номер  .print(':');
 if(addr[i] < 0x10)  Серийный номер  .print('0');
  Серийный номер  .print(addr[i], HEX);
 }
}
недействительный цикл () {
 // Запускаем измерение температуры на всех датчиках и ждем его
 датчики.requestTemperatures();
 внутренний индекс = 0;
  Адрес устройства  адрес;
 в то время как (sensors.getAddress (адрес, индекс)) {
 // Индекс и адрес датчика
  Серийный номер  .print("Датчик");
  Серийный номер  .println(индекс);
  Серийный номер  .print ("- Адрес: ");
 распечататьАдрес(адрес);
  Серийный номер  .println("");
 
 // Читаем и показываем результат
  Серийный номер  .print(" - Температура (°C): ");
  Серийный номер  .println (sensors.getTempC (адрес));
  Серийный номер  .print(" - Температура (°F): ");
  Серийный номер  .println (sensors.getTempF (адрес));
 // Следующий индекс
 индекс++;
 }
 
 задержка(5000);
} 

После того, как вы загрузили код в Arduino, вы должны увидеть такой вывод в последовательном мониторе:

 Датчик 0
 - Адрес: 28:E6:0B:E2:20:19:01:2F
 - Температура (°С): 20,50
 - Температура (°F): 68,90
Датчик 1
 - Адрес: 28:8B:7D:2E:21:19:01:D7
 - Температура (°С): 20,37
 - Температура (°F): 68,68 

Будут распечатаны адрес и значения измерений для каждого подключенного датчика. Если вы подключите только один датчик, вы можете легко определить его адрес. Пометьте датчик его адресом, чтобы позже можно было определить, какой датчик что измеряет. Кстати, вы могли заметить, что адрес, напечатанный на последовательном мониторе, имеет длину 64 бита (8 байт), а не 48 бит. Первый байт — это код семейства, который идентифицирует устройство как датчик DS18B20. Последний байт представляет собой 8-битную контрольную сумму CRC. Только 48-битные промежуточные значения уникальны для каждого датчика.

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

Каталожные номера

  • DS18B20 Технический паспорт
  • Библиотека температур Далласа
  • Библиотека OneWire

Как установить библиотеку в Arduino IDE?

Где управлять библиотеками Arduino IDE?

Как установить библиотеку Arudino IDE?

Как обновить библиотеку Arudino IDE?

Список наиболее часто используемых библиотек Arudino IDE

Библиотека Описание Предустановленная
Библиотека Adafruit GFX Это основная графическая библиотека для всех дисплеев Adafruit, предоставляющая общий набор графических примитивов (точки, линии, окружности и т. д.). Он должен быть связан с аппаратной библиотекой для каждого устройства отображения, которое мы используем (для обработки функций более низкого уровня).
Adafruit NeoPixel Adafruit NeoPXL8 Библиотека Arduino для управления однопроводными светодиодными пикселями и лентами, такими как цифровая светодиодная лента Adafruit 60 светодиодов на метр, Adafruit FLORA RGB Smart Pixel, Adafruit RGB Smart Pixel, совместимый с макетной платой, Adafruit NeoPixel Stick и Adafruit NeoPixel Shield.
Унифицированный датчик Adafruit Существует множество небольших встроенных систем для сбора данных с датчиков, их анализа и либо выполнения соответствующих действий, либо отправки данных датчиков в другую систему для обработки.
Bounce2 Библиотека устранения дребезга для Arduino
DallasTemperature Библиотека Arduino для интегральных схем измерения температуры Dallas. Эта библиотека поддерживает следующие устройства: DS18B20 DS18S20 — обратите внимание, что в этой серии есть проблема. DS1822 DS1820 MAX31820 Вам понадобится подтягивающий резистор сопротивлением около 5 кОм между линией передачи данных 1-Wire и источником питания 5 В. Если вы используете DS18B20, заземлите контакты 1 и 3. Центральный контакт — это линия передачи данных «1-wire».
DHT Библиотека Arduino для серии недорогих датчиков температуры/влажности DHT, таких как DHT11, DHT22 и т. д. Для использования этого класса у вас должны быть установлены следующие библиотеки Arduino: Унифицированная библиотека датчиков Adafruit
FastLED Это библиотека для простого и эффективного управления широким спектром светодиодных чипсетов, таких как те, что продаются adafruit (Neopixel, DotStar, LPD8806), Sparkfun (WS2801) и aliexpress. Помимо записи на светодиоды, эта библиотека также включает в себя ряд функций для высокопроизводительной 8-битной математики для управления значениями RGB, а также низкоуровневые классы для абстрагирования доступа к контактам и оборудованию SPI, сохраняя при этом все как можно быстрее. насколько это возможно.
IRremote Эта библиотека позволяет отправлять и получать с помощью инфракрасных сигналов на Arduino.
LiquidCrystal, LiquidCrystal I2C Эта библиотека позволяет плате Arduino управлять дисплеями LiquidCrystal (ЖК-дисплеями) на базе набора микросхем Hitachi HD44780 (или совместимого), который используется в большинстве текстовых ЖК-дисплеев. Библиотека работает как в 4-, так и в 8-битном режиме (т.е. используя 4 или 8 линий данных в дополнение к линиям rs, enable и, опционально, линиям управления rw). х
Библиотека MAX6675 Библиотека Arduino для взаимодействия с усилителем термопары MAX6675
MFRC522 Библиотека Arduino для MFRC522 и других модулей на базе RFID RC522. Считайте и запишите различные типы карт радиочастотной идентификации (RFID) на вашем Arduino с помощью считывателя на базе RC522, подключенного через интерфейс последовательного периферийного интерфейса (SPI).
OneWire OneWire обеспечивает доступ к устройствам 1-wire производства Maxim/Dallas, таким как датчики температуры и защищенная память ibutton. Для датчиков температуры с этой библиотекой можно использовать библиотеку DallasTemperature.
PubSubClient Эта библиотека предоставляет клиент для простого обмена сообщениями публикации/подписки с сервером, поддерживающим MQTT
Сервопривод Эта библиотека позволяет плате Arduino управлять радиоуправляемыми серводвигателями. Сервоприводы имеют встроенные шестерни и вал, которыми можно точно управлять. Стандартные сервоприводы позволяют располагать вал под разными углами, обычно от 0 до 180 градусов. Сервоприводы непрерывного вращения позволяют устанавливать вращение вала на различные скорости. х
Шаговый двигатель Эта библиотека позволяет управлять однополярными или биполярными шаговыми двигателями.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *