Подключение датчиков на Raspberry Pi 3: ds18b20 для метеостанции
Одна из ключевых возможностей Raspberry Pi любой версии – это способность взаимодействовать с различными датчиками. Это обусловлено тем, что у данного одноплатника имеется собственный GPIO.
- Подключение датчика ds18b20 к RPi3
Одна из ключевых возможностей Raspberry Pi любой версии – это способность взаимодействовать с различными датчиками. Это обусловлено тем, что у данного одноплатника имеется собственный GPIO (хотя при желании можно подключить и дополнительный).
Рассматривать подключение датчиков к Raspberry Pi 3 довольно тяжело, так как соответствующих модулей существуют десятки. Также для взаимодействия с ними требуется код. Найти его, в свою очередь, можно на GitHub, GitLab и в прочих хранилищах. А при желании его можно написать самостоятельно, изучив официальную документацию и располагая базовыми знаниями Python.
Ниже будет рассмотрен процесс подключения датчика на конкретном примере. Наиболее часто из Raspberry Pi 3 делают метеостанции. Поэтому для рассмотрения можно взять датчик ds18b20, который фиксирует температуру.
Подключение датчика ds18b20 к RPi3
Сразу следует отметить, что ds18b20 подключается к Raspberry Pi 3 точно так же, как и к другим моделям “Малины”. Поэтому ниженаписанное можно использовать в том числе для настройки датчика и на других версиях платформы.
Первое, что потребуется – это присоединить датчик температуры к GPIO Raspberry Pi 3. Его нужно установить так:
- напряжение – 3,3 Вольта;
- заземление;
- порт GPIO4.
После того, как физическое подключение датчика температуры к Raspberry Pi 3 было выполнено, можно поставить необходимые модули ядра. Их всего 2. Из-под sudo (для этого можно указать в консоли команду sudo -i и ввести пароль) требуется выполнить пару команд: modprobe w1-grio и modprobe w1-therm.
Первый модуль нужен, чтобы на порту GPIO4 активировался протокол 1-wire. Второй же необходим, чтобы система могла непосредственно считывать температурные показатели с соответствующей шины.
Здесь есть очень важный момент. После перезагрузки модули снова будут неактивны, поэтому их придется опять загружать. Но исправить это очень легко. Нужно всего лишь вписать их названия в файл /etc/modules. Для этого из-под sudo следует набрать команду nano /etc/modules и добавить в конец файла w1-gpio и w1-therm (каждый с новой строки), а затем сохранить изменения.
Все, теперь можно проверять работоспособность датчика и, если все нормально, писать код для работы с ним или использовать готовое решение.
Как проверить работоспособность датчика ds18b20 на RPi3?
На Raspberry Pi 3 датчики пишут данные в файлы. Конкретно ds18b20 записывает их каталог со своим серийным номером, который, в свою очередь, располагается в директории /sys/bus/w1/devices. Он появляется после подключения, но может не сразу, а спустя несколько секунд.
Название соответствующего каталога примерно такое: 00-000000000a0b. Поэтому после подключения зайдите и проверьте, есть ли там что-то похожее. Следует отметить, что если подключены несколько датчиков, то придется узнавать серийный номер каждого из них опытным путем. Это возможно сделать, например, прогревом и снятием показателей или поочередным подключением.
Но предположим, что датчик всего 1. Чтобы проверить его работоспособность нужно в консоли вписать следующую команду: cat СЕРИЙНЫЙ_НОМЕР/w1_slave. После нажатия на Enter выведется сообщение.
В первой строке будет присутствовать контрольная сумма в шестнадцатеричной системе счисления и CRC. Если значение crc равно последнему числу, то выводится YES, а если нет – NO. В первом случае датчик сообщает, что он правильно определил температуру, а во втором – нет.
Вторая строка – это как раз данные температуры. То, что указывается в шестнадцатеричной системе полностью соответствует значению выше. То, что левее – это его перевод в десятичную форму. Интересно то, что значение t (температура) указывается в 1000 раз больше, чем есть на самом деле. Поэтому если после знака “=” указывается, например, 26398, это означает 26,3 градуса Цельсия. Данный факт следует учитывать при написании кода.
Как возможно убедиться, заставить работать датчик температуры на RPi3 очень просто. Примерно так же выполняется подключение к Raspberry Pi 3 и dht11, dht22, ds3231 и многих прочих.
37 датчиков за $37 для Arduino и Raspberry Pi
Какие бывают датчики для Arduino и Raspberry Pi? Сколько они стоят? Предлагаем обзор интересного дешевого набора из 37 датчиков за $37.
Разные датчики. Фото с DX.com
Изучая Arduino или Raspberry Pi, самое интересное, что можно сделать (после мигания светодиодами, подключения потенциометра, кнопки, двигателя и др.) — это, конечно, использование датчиков. Датчики позволяют определять, что происходит во внешней среде, и действовать на основе этой информации. Датчики, наверное, можно назвать органами чувств робота.
Какие бывают датчики для Arduino и Raspberry Pi?
Датчиков, называемых также сенсорами, существует огромное множество и в первую очередь они имеют разное назначение.
Разные датчики. Фото с DX.com
Основные датчики (по назначению):
- Датчик давления — используется для обнаружения физического давления, например, при щипках, сжимании, толчках.
- Фотоэлементы — используется для измерения уровня освещенности, обнаружения простого объекта по принципу светлый/темный
- Датчик температуры — используется для определения температуры окружающей среды или, например, жидкости
- Датчик вибрации — используется для обнаружения движения / вибрации и ориентации
- Датчик движения — используется для обнаружения двигательной активности, таких как животных или людей
- Термопары — используется для измерения температуры, как правило, выше 150°C.
- ИК-приемники — используется для обнаружения инфракрасных-сигналов от пульта дистанционного управления.
Это далеко не все по назначению датчики. Существуют также датчики определения влажности, огня, дыма и т.д. В принципе, можно подобрать датчики практически под любую задачу.
Все датчики имеют свои собственные методы взаимодействия. Некоторые можно просто подключить к плате, а подключение других требует дополнительных манипуляций. Например, могут потребоваться резисторы или дополнительные источники питания.
‘ mycrib[1] = ” mycrib[2] = ” var x = 0; function rotate(mycrib) { while (xДатчики отличаются по типу сигнала на выходе: аналоговый или цифровой.
Выбирая датчики, можно заметить, что чаще всего упоминается совместимость с Arduino и не упоминается совместимость с Raspberry Pi. Если датчик выдает цифровой сигнал, то его можно подключать к GPIO-портам Raspberry Pi. Если же датчик выдает аналоговый сигнал, то подключить напрямую такой датчик к Raspberry Pi можно только с помощью аналого-цифрового преобразователя (АЦП), который часто включают в платы расширения Raspberry Pi.
Разные датчики могут сильно отличаться по цене, стоимость датчика может составлять $1 или $5, датчики с очень большой точностью определения сигналов могут стоить значительно дороже.
Набор из 37 датчиков для Arduino
В китайских интернет-магазинах очень популярен дешевый набор из 37 модулей (преимущественно различных датчиков) для Arduino. Например:
Доставка в обоих магазинах бесплатная.
Набор из 37 датчиков. Фото с Aliexpress
Этот набор содержит датчики и другие модули, позволяющие реализовать практически любую идею начинающего изучать Arduino, и является хорошим дополнением к наборам Arduino Starter Kit (о том, как выбрать Arduino начинающему и о наборах Arduino Starter Kit мы писали в статье).
Подробнее про входящие в этот набор датчики мы напишем отдельно. А сейчас приводим список компонентов, входящий в набор:
- Пассивный зуммер KY-006
- Активный зуммер KY-012
- Двухцветный светодиод KY-029
- Трехцветный светодиод KY-011
- Трехцветный светодиод KY-009
- Трехцветный светодиод KY-016
- Семицветный светодиод KY-034
- Датчик удара KY-031
- Вибровыключатель KY-002
- Фоторезистор KY-018
- Фоторезистор-выключатель KY-010
- Кнопка KY-004
- Датчик наклона KY-020
- Датчик наклона KY-017
- Датчик инфракрасного излучения KY-005
- Инфракрасный датчик KY-022
- Датчик температуры KY-013
- Датчик температуры KY-028
- Датчик температуры KY-001
- Датчик температуры и влажности KY-015 (сенсор DHT11. Схема подключения здесь)
- Датчик звука KY-037
- Датчик металла KY-036
- Датчик сердцебиения KY-039
- Датчик пламени KY-026
- Геркон KY-021
- Магнитный датчик KY-003
- Магнитный датчик KY-035
- Датчик магнитного поля KY-025
- Датчик магнитного поля KY-024
- Датчик магнитного поля KY-033
- Модуль световых эффектов «магическая чашка» KY-027
- Датчик угла поворота (энкодер) KY-040
- Датчик для избегания препятствий KY-032
- Датчика звука KY-038
- Лазерный модуль KY-008
- Реле KY-019
- Джойстик KY-023
Все цены приведены по состоянию на день выхода статьи.
Читайте также
Теги: arduino, headline, Raspberry Pi, выбор, датчики и сенсоры, для начинающих, Китай, обзор, одноплатный компьютер, покупка, электроникаRaspberry Pi 3 – подключаем датчик DHT11 и LCD-дисплей
В этом материале мы рассмотрим, как подключить к Raspberry Pi 3 широко распространенные датчик влажности и температуры DHT11 и LCD-дисплей размерности 1602 (шестнадцать символов в строке, две строки) на базе контроллера HD44780. Большинство выпускаемых различными производителями дисплеев не имеют поддержки кириллицы, но для отображения значений температуры и влажности такой недостаток не имеет принципиального значения.
Мы будем использовать дисплей с очень удобным переходником на микросхеме PCF8574T, который позволяет управлять дисплеем по протоколу I2C всего по двум проводам, не считая питания +5В и земли. При обычных способах подключения дисплея к микроконтроллеру требуется 8 или 12 линий. Подключение по I2C существенно экономит вводы-выводы общего назначения (GPIO) Raspberry, которые могут понадобиться для подключения других устройств, и никак не мешает наблюдать относительно медленно меняющиеся параметры.
Датчик DHT11 требует для подключения всего один провод линии данных, также не считая питания и земли. Его следует питать напряжением +3,3В. DHT11 имеет собственный протокол обмена данными 1-Wire.
Разберем пошагово установку программного обеспечения и подключение внешних устройств. Мы использовали операционную систему Raspbian Jessie With Pixel, скачанную с сайта raspberrypi.org и плату Raspberry Pi 3 Model B.
Шаг первый.
Подготовим Raspberry к установке необходимого программного обеспечения. Если у вас свежая версия Raspbian, то, скорее всего, необходимые модули уже установлены. Но, на всякий случай, лучше застраховаться.
Откройте терминал и наберите следующие команды:
sudo apt-get update <Enter>
sudo apt-get upgrade <Enter>
Первая команда синхронизирует и обновит индексные файлы установленных в системе пакетов, вторая – обновит все установленное на данный момент программное обеспечение. Это занимает некоторое время.
Шаг второй.
Разрешим, если это еще не сделано, использование в системе протоколов I2C и 1-Wire. Для этого введем команду
sudo raspi-config
в открывшемся меню с помощью стрелок вверх/вниз и клавиши Enter зайдем в Interfacing Options, последовательно откроем соответствующие пункты меня и разрешим (выбрав “Y” при запросе) использование I2C и 1-Wire. Клавишей Tab установим маркер на <Back>, нажатием на Enter выйдем в меню верхнего уровня, выберем <Finis>, нажмем Enter. Для выхода на предыдущий уровень меню также можно использовать клавишу <Esc>. После выхода в терминал необходимо перезагрузить систему. Это можно сделать, введя команду
sudo reboot
После перезагрузки необходимо изменить файл конфигурации модулей так, чтобы необходимые модули попали в автозагрузку. Для этого необходимо открыть в редакторе nano файл modules:
sudo nano /etc/modules
Добавьте в открывшийся для редактирования файл к имеющимся строкам еще две строки:
i2c-dev
i2c-bcm2708
Если какая-либо из этих строк уже имеется в файле, ее добавлять не надо.
Выйдем из редактора, нажав <Ctrl-X> и ответив “Y” на вопрос о сохранении файла.
Шаг третий.
Теперь необходимо установить библиотеки smbus и I2C для Python. Для этого последовательно введите в терминале команды:
sudo apt-get update (еще раз обновим индексные файлы)
sudo apt-get install –y python-smbus i2c-tools (собственно установка библиотеки)
sudo reboot (перезагрузка)
Проверим, установилась ли библиотека? Наберем в терминале
lsmod | grep i2c <Enter>
Если в появившемся отклике системы есть строка i2c_bcm2708, то это значит, что библиотека установлена успешно.
Шаг четвертый.
Настало время подключить датчики к выводам GPIO Raspberry. Повторим схему разъема GPIO для наглядности. Перед подключением внешних устройств обязательно отключите Raspberry от питания!
Подключим LCD-экран и датчик DHT11 в соответствии со следующей таблицей:
Контакты I2C LCD | Контакты GPIO Raspberry | Описание |
GND | 6 | Земля |
VCC | 2 | +5В |
SDA | 3 | GPIO 2 (I2C1_SDA) |
SCL | 5 | GPIO 3 (I2C1_SCL) |
Контакты DHT11 | Контакты GPIO Raspberry | Описание |
GND | 9 | Земля |
DATA | 8 | GPIO 14 |
VCC | 1 | +3,3 В |
Шаг пятый.
Включим питание Raspberry и проверим, обнаруживает ли операционная система устройство, подключенное по шине I2С? Введем в терминале команду (она входит в установленную на третьем шаге утилиту i2c-tools):
sudo i2cdetect 1
В ответ система выдаст такую информацию:
На пересечении строки, помеченной цифрой 20, и столбца 7 мы видим адрес единственного подключенного устройства – 27 (в системе счисления по основанию 16). Теоретически, адрес может быть и другим. Запомним его, он нам понадобится в дальнейшем. Если на одного адреса не отображается, это означает, что либо устройство не подключено, либо оно подключено неверно, либо необходимое программное обеспечение не установлено.
Шаг шестой.
Все предварительные действия закончены. На этом шаге мы настроим и запустим программу на языке Python, которая отобразит температуру и влажность, полученные с датчика DHT11 на дисплее. Загрузим файлы из файлового хранилища: dht11.py и raspi-dht11-i2clcd.py. Первый из них является драйвером датчика DHT11. Он используется в основной программе, которая находится во втором файле.
Введем в терминале
sudo wget https://masterkit.ru/zip/dht11.py ,
затем
sudo wget https://masterkit.ru/zip/raspi-dht11-i2clcd.py
Команды можно объединить в одну (имена файлов указываются через пробел):
sudo wget https://masterkit.ru/zip/dht11.py https://masterkit.ru/zip/raspi-dht11-i2clcd.py
Файлы будут загружены в рабочий каталог /home/pi.
После загрузки необходимо отредактировать адрес LCD-дисплея на шине I2C, который мы наши пятом шаге, в нашем случае он равен 27. Занесем его в основной файл программы. Откроем файл raspi-dht11-i2clcd.py на редактирование в редакторе nano:
sudo nano /home/pi/ raspi-dht11-i2clcd.py
По умолчанию адрес 27 задан в переменной I2C_ADDR = 0x27. Если адрес на пятом шаге не равен 27, следует подставить его значение.
Сохраняем изменения Ctrl-O, закрываем редактор Ctrl-X.
Изменить файл можно и более привычным (для пользователей Windows) способом в редакторе среды программирования Python двойным кликом на файле основной программы:
Редактируем и сохраняем файл.
Запустить программу можно из терминала, из среды программирования, а также автозагрузкой при включении питания. Последний способ нужен, если мы планируем использовать Raspberry автономно: без подключения мыши, клавиатуры или удаленного управления.
Запуск из терминала:
sudo python raspi-dht11-i2clcd.py
Запуск из редактора среды программирования Python (см.рис 9):
Run->Run Module или F5.
Автозапуск:
Введите в терминале команду, открывающую на редактирование новый файл dht11-lcd.desktop:
sudo nano /etc/xdg/autostart/dht11-lcd.desktop
В открывшемся окне редактора nano введите 8 строк:
[Desktop Entry]
Version=1.0
Encoding=UTF-8
Name=dht11-lcd
Comment=
Exec=sudo python /home/pi/raspi-dht11-i2clcd.py
Terminal=false
Type=Application
и сохраните.
Теперь при включении питания будет автоматически запускаться интерпретатор Python с файлом raspi-dht11-i2clcd.py, что приведет к исполнению нашей программы.
Недорогие модульные датчики для Arduino и Raspberry Pi
Подбирая датчик, можно заметить, что чаще всего упоминается совместимость с Arduino и не упоминается совместимость с Raspberry Pi. Если датчик выдает цифровой сигнал, то его можно подключать к GPIO-портам Raspberry Pi. Если датчик выдает цифровой сигнал, то его можно подключать к GPIO-портам Raspberry Pi. Если же датчик выдает аналоговый сигнал – подключить напрямую такой датчик к Raspberry Pi можно только с помощью аналого-цифрового преобразователя (АЦП), который часто включают в платы расширения Raspberry Pi.
Датчик наклона SW-520D
Датчик наклона SW-520D – это капсула с металлическим шариком внутри. Шарик перекатывается в капсуле и замыкает или размыкает цепь. Датчики наклона применяются в бытовой технике, например, в утюгах, различных детских игрушках, робототехнике.
Датчик температуры DS18B20
Датчик температуры воздуха с цифровым представлением данных на выходе DS18B20 предназначен для работы совместно с контроллерами Arduino и Raspberry Pi. Диапазон измерения температуры -55…125°С. Модуль датчика применяется для измерения температуры воздуха в помещении и на открытом воздухе.
Датчики звука на чипе LM386
Модуль обеспечивает простой способ обнаружения звука. Он использует микрофон, который подает входной сигнал на усилитель. Когда датчик обнаруживает звук, он обрабатывает сигнал напряжения на выходе, затем посылает его в микроконтроллер. Этот модуль может быть использован в устройствах безопасности и мониторинга. Датчик позволяет разработать устройства управления с активацией по голосу или с помощью громкого хлопка.
Датчик наличия пара, воды, дождя.
Этот датчик может быть подключен непосредственно к вводам-выводам Arduino или может быть использован в любом проекте, где необходимо получить данные о дожде или интенсивности пара.
Смысл устройства очень прост: если капли воды попадают на сенсорную часть датчика для Arduino, на плате контроля загорается индикатор, а напряжение на цифровом выходе стремится к нулю. Напряжение на аналоговом выходе пропорционально размеру капель на датчике и может быть использовано для определения интенсивности дождя.
Область применения: простой датчик дождя, недорогой сигнализатор уровня пара, сенсорный датчик на основе влажности.
Опубликовано: 15. 06.2016
Несколько датчиков на Raspberry Pi GPIO
Я работаю над пакетом датчиков для моего PI. Я уже добавил датчик температуры TMP102 от Sparkfun. На GPIO он питается от контакта 1, заземленного на выводе 6, а контакты 3 и 5 обрабатывают последовательные данные. Я написал сценарий python для чтения данных, и все работает нормально.
Моя проблема заключается в том, что теперь я хочу добавить второй датчик к GPIO, датчику давления BMP085, также находящемуся на пробойной плате от Sparkfun. Те примеры проводки, которые я нашел, предполагают, что он должен подключаться к тем же GPIO контактам, что и TMP102. Они оба должны регистрироваться как последовательные устройства, но я не уверен, как соединить все вместе.
Я программист в душе, так что подключение электроники заставляет нервничать. 🙂
Любые предложения будут высоко оценены.
Спасибо.
raspberry-pi sensor gpioПоделиться Источник codingCat 16 июля 2013 в 21:14
2 ответа
- Использование контактов GPIO Raspberry Pi с нуля?
Как я могу взаимодействовать с выводами GPIO raspberry Pi без использования уже реализованной библиотеки? Я попытался пройти через код одной из реализованных библиотек (RPI.GPIO), но на самом деле я не зашел так далеко. Отображаются ли контакты GPIO как устройство в Pi? Если да, то где я могу…
- Питание на Raspberry Pi с Arduino
Я работаю над проектом, который включает в себя включение / выключение питания Raspberry Pi с Arduino. На самом деле проект содержит несколько датчиков, таких как датчик движения, и Arduino будет поставляться с батареей 10 мА. Датчик движения подключен к устройству Arduino. Как только датчик…
6
Если ваши датчики используют I2C, и это похоже на TMP102 и BMP085, вам повезло.
I2C предназначен для использования нескольких устройств с одним и тем же 2-проводным интерфейсом. Однако каждое устройство должно иметь отдельный адрес, поэтому вам нужно убедиться, что ваши устройства не конфликтуют. Вам придется прочитать технические характеристики или другую документацию для ваших датчиков, чтобы узнать, как установить адрес.
Как только вы настроите адрес для каждого датчика, вы сможете подключить оба устройства к одним и тем же контактам SDA и SDL.
Поделиться Craig 16 июля 2013 в 21:34
2
Да, к шине i2c может быть подключено более одного датчика, если нет конфликта адресов. Одно предостережение: ряд датчиков на небольших платах (пробойных платах) имеют подтягивающие резисторы на линиях SDA и SLC. Поскольку теоретически возможно добавить до 128 датчиков на этой шине, множество подтягивающих резисторов станет проблемой. Один требуется, два-это определенно OK, но я не знаю, сколько вы можете добавить после этого. Нужно будет снять их с пробивных досок.
Поделиться BreezyKen 24 февраля 2014 в 00:04
Похожие вопросы:
как дистанционно управлять raspberry pi gpio
Я занимаюсь проектом распознавания лиц, который использует opencv и python для распознавания лица человека на компьютере. Теперь моя цель состоит в том, чтобы использовать raspberry pi для доступа к…
Raspberry pi GPIO не работает
Я использую порты GPIO от raspberry pi до python (в режиме ожидания). Я установил GPIO контактов высоко в коде и скомпилировал его. Код компилируется, но светодиод, прикрепленный к контактам, не…
Имитация сигнала Raspberry Pi GPIO
Я новичок в Raspberry Pi, и я хотел бы знать, как мы можем имитировать/издеваться над датчиками (или GPIO), чтобы я мог протестировать только свой код python, издеваясь над максимумами и минимумами. ..
Использование контактов GPIO Raspberry Pi с нуля?
Как я могу взаимодействовать с выводами GPIO raspberry Pi без использования уже реализованной библиотеки? Я попытался пройти через код одной из реализованных библиотек (RPI.GPIO), но на самом деле я…
Питание на Raspberry Pi с Arduino
Я работаю над проектом, который включает в себя включение / выключение питания Raspberry Pi с Arduino. На самом деле проект содержит несколько датчиков, таких как датчик движения, и Arduino будет…
Напишите GPIO Raspberry PI 2 B+
Я новичок в Raspberry Pi. Мне нужно читать и писать на контакты GPIO на Raspberry Pi. Я пытаюсь выполнить эту операцию в php, python и командной строке. Нужно ли мне загружать какую-либо библиотеку,…
Docker доступ к Raspberry Pi выводам GPIO
При запуске Docker на Raspberry Pi 2, как мы можем выставить GPIO контактов в контейнер Docker?
Ошибка импорта Raspberry Pi GPIO
Я использую a Raspberry Pi 2 B и пытаюсь запустить проект на следующем веб-сайте: https://learn.adafruit.com/raspberry-pi-face-recognition-treasure-box/ обзор Однако, когда я пытаюсь запустить файл…
Как использовать GPIO из raspberry pi в приложении electron?
Я пытаюсь создать приложение для raspberry pi 3 (b), используя electronJs. Я не могу использовать модуль onoff nodejs для связи с GPIO из raspberry pi. Когда я импортирую его в основной процесс и…
Raspberry pi 4 Управление GPIO с java
Я хочу управлять жидкокристаллическим дисплеем 16*2 на моем raspberry pi4 с помощью java. Проблема в том, что Pi4J – решение для модификации gpios с помощью java не обновляется до pi4. Есть ли…
Набор датчиков и модулей для Raspberry Pi 16 шт
Описание
Набор датчиков и модулей для Raspberry Pi – 16 шт
1. Датчик влажности и температуры DHT11Сенсор цифрового типа для измерения температуры, а также влажности, данный датчик позволяет осуществлять калибровку цифрового сигнала на выходе.
Представляет собой емкостный датчик влажности и термистор.
И еще можно отметить, что данный сенсор включает в себя АЦП который может преобразовывать аналоговые значения температуры и влажности.
Характеристики:
- Определение влажности: 20-90% RH ± 5%(макс.)
- Определение температуры: 0-50 ºC ± 2%(макс.)
- Частота опроса: не более 1 Гц
- Размеры 15.5 x 12 x 5.5 мм
- 4 вывода с расстоянием между контактами 0.1″
Позволит осуществлять обнаружение движения на расстоянии до 7 метров человека или домашних питомцев на расстоянии до 7 метров (Вы можете самостоятельно настраивать дистанцию). На датчике предусмотрено два входа питания (+5В / земля) а также цифровой выход, через который снимаются данные. При условии, что нет помех – (3.3В), если есть – (0В).
Характеристики:
- дистанция обнаружения: от 0 до 7 м
- угол обзора: 110° до 7 м
- время задержки: 0.3 – 300 секунд (регулируемое)
- питание: 4.5 – 12 В
- выходное напряжение: 0 – 3.3 В
- метод срабатывания: L неповторяемое переключение; H повторяемое переключение
- потребляемый ток: 65 мA
- рабочие температуры: -20° – +50°
- размеры: 32х24 мм
Модуль используется для учета даты, времени, дня недели и т.д.
Датчик времени реализован на базе чипа DS1302. Доступны следующие возможности:
- Секунды;
- Минуты;
- Часы AM/PM;
- День;
- Месяц;
- Год (с учетом високосных лет).
Также предусмотрен календарь до 2100 года. Взаимодействие c контролером происходит через последовательный интерфейс.
Характеристики:
- Напряжение внешнего питания: 5 – 5,5 В
- Напряжение питания батареи: 2,0 – 3,5 В
- Тип батарейки: CR2032
- Потребляемый ток: 300 нА
- Размеры: (Д х Ш х В): 44 х 23 х 11 мм
Данный модуль предназначен для реагирования на капли дождя, влаги и снега, которая в дальнейшем обрабатывает сигнал и передает его на управляющий контроллер в цифровом и аналоговом исполнении.
Для визуального информирования, на плате предусмотрено 2 светодиода – питание и передача данных, так же есть регулируемый резистор, для настройки чувствительности.
Характеристики:
- Питание 3.3 – 5В
- Выводы: питание, земля, цифровой выход (TTL), аналоговый ывход
- Размеры чувствительного сенсора 1.7 х 60 х 39 мм
- Вес 7 гр
При появлении звукового источника сигнальном контакте появляется логический ноль и при этом на плате датчика загорается сигнальный светодиод.
Датчики имеют 2 вывода питания, а также 1 дискретный сигнальный выход.
Часто применяют данное решение совместно с системами «умный дом»: например, управление освещением с помощью хлопков ладонями, а также множество других проектов.
Технические характеристики
- Напряжение питания: +3.3 В ~ +5.5 В
- Ток потребления: 1.4 мА
- Интерфейс или тип выходного сигнала: цифровой TTL
- Рабочая температура: от 0 ° C ~ + 70 ° C
- Размеры: 47 x 18.5 x 10 мм
- Вес: 3гр.
Принцип работы данного сенсора – это излучение короткого ультразвукового импульса (в момент времени 0), который отражается от объекта и возвращается к датчику. Сенсор получает сигнал, и выдаёт определенное расстояние (Echo).
Данный сенсор может служить прекрасным решением для робототехники, с помощью которого роботизированный механизм сможет получать данные расстояния до объектов, осуществять объезды препятствий, а также формировать карту помещений.
Также данный сенсор используют как элемент систем безопасности (в качестве охраны периметров – который срабатывает при пресечении охраняемого объекта).
Характеристики
- Напряжение питания: 5 В
- Потребление в режиме тишины: 2 мА
- Потребление при работе: 15 мА
- Диапазон расстояний: 2–400 см
- Эффективный угол наблюдения: 15°
- Рабочий угол наблюдения: 30°
Датчик огня может улавливать огонь или другой свет с длинной волны 760 – 1100нм. Этот сенсор огня имеет два выхода – аналоговый и цифровой и достаточно просто подключается к мини-компьютерам Raspberry Pi, или другим микроконтроллерам.
На плате предусмотрено два светодиода – питания и выхода с сравнивающего устройства при обнаружении огня. Датчик реализован на базе микросхемы LM393. При отсутствии пламени на аналоговом выходе имеется напряжение 4,2 В, а при появлении огня на расстоянии 1 метр, на аналоговом выходе – 0,2 В (при напряжении питания 5 В).
Характеристики:
- Угол обнаружения пламени: 60°;
- Расстояние обнаружения пламени в пределах 0,8 м, если интенсивность пламени высока, расстояние обнаружения будет увеличено;
- Напряжение питания, В: 3- 5.5;
- Размеры (длина x ширина), мм: 36 x 16.
Данный сенсор содержит лазерный светодиод с цилиндрическим радиатором и пассивные компоненты, которые обеспечивают режим работы светодиода. Модуль лазера KY-008 создает небольшую световое пятно на противоположно расположенном объекте благодаря особым свойствам лазерного излучения. Луч видно в задымленном или пыльном помещении.
Модуль лазера (красный) применяется как излучающий компонент в фотореле, в которых между источником света и фотоприемником расстояние измеряется в метрах. Такая схема расположения фотоприборов используется при подсчете перемещаемых крупных объектов между источником и приемником. В охранных системах это получило название “световой барьер”. Среди других применений – лазерная указка, установления световых эффектов, где световое пятно перемещается с помощью зеркала.
Характеристики:
- Напряжение: 5 В;
- Ток 30 мА;
- Длина волны излучения 650 нм;
- Оттенок света: рубиновый;
- Светоотдача: 2-5 мВт;
- размер: 24 x 15 x 8 мм;
- вес: 2 г.
Оптический ИК датчик обхода препятствий для Raspberry Pi – это возможность определять наличие предметов, контроль расстояний, габаритов, а также уровень объектов.
Модуль часто используется для автоматизации передвижных роботов (для обхода препятствий) а также в охранных системах – например для обнаружения посторонних объектов на охраняемой территории.
Принцип работы следующий: датчик излучает инфракрасное излучение на определенное расстояние, при условии, что на данной дистанции излучения появляется объект, который отражает инфракрасное излучение, приёмник передает сигнал на компаратор, который определяет дистанцию до объекта и подает на выход датчика соответствующий расстоянию цифровой сигнал низкого или высокого уровня.
Технические характеристики:
- Угол обнаружения 35°
- Дальность обнаружения 2-60 см
- Может быть подключен напрямую к реле
- Питание 3-5V
- Построен на базе LM393
- Габариты 3,1*1,5 см
10. Датчик влажности почвы YL-69
Этот датчик позволяет измерять влажность почвы, а также других сыпучих смесей. Может быть задействован в домашних целях, теплицах, а также системах автоматического полива и в многих других сферах. Имеет антикоррозийное покрытие, что увеличивает его долговечность.
Датчик комплектуется зондом и отдельной платой с электроникой, которые соединяются проводами.
Характеристики:
- Напряжение питания: 3.3-5 В;
- Ток потребления 35 мА;
- Выход: цифровой и аналоговый;
- Размер модуля: 16×30 мм;
- Размер щупа: 20×60 мм;
- Общий вес: 7.5 г.
Оптимальное решение для управления светом, установлен простой фоторезистор датчик освещенности, который имеет как аналоговые, так и цифровые выходы. Цифровой выход имеет настройку потенциометром, который используется чтобы установить триггер уровня освещенности.
Характеристики
- Рабочее напряжение: 3.3 – 5 В
- Использован компаратор: LM393, выход компаратора более 15 мА
- Чувствительность сенсора регулируется потенциометром
- Размер платы: 32 х 14 мм.ф
12. Датчик вибрации SW-420
Используется для определения возможных вибраций, часто используется в охранных системах и сигнализациях, а также как устройства определяющие землетрясения.
На плате датчика предусмотрено два светодиода. Красный подключен к выводу питания и горит, когда на модуль подается напряжение питания. Зеленый подключен к цифровому выходу и горит, когда датчик срабатывает. Чувствительность можно регулировать подстроечным резистором, расположенным на плате. На выходе D0 присутствует логическая 1, если нет срабатывания и логический 0, если датчик сработал.
Характеристики:
- напряжение питания: от 3.3 до 5В
- выход: цифровой
- имеется монтажное отверстие для крепления
- размеры платы: 3.2×1.4 см
- в качестве компаратора используется LM393
Модуль представляет собой датчик дыма MQ-2, расположенный на плате с потенциометром и 4 выводами. Служит для детектирования горючего газа и дыма.
Модуль MQ-2 Gas Sensor реагирует на наличие в воздухе примесей различных газов, испарений, а также дыма. Среди них:
- Пропан
- Метан
- Бутан
- Спирт
- Водород
- Дым
- LPG
Характеристики:
- Диапазон чувствительности 300-10000 ppm ,
- Rs (сопротивление чувствительного элемента) 1…20 кОм 50ppm толуол
- Время отклика ≤ 10с
- Чувствительность (R в воздухе)/(R в присутствии характерного газа) ≥ 5с
- Rh (сопротивление нагревателя) 31Ω±3Ω
- Ih (ток нагревателя) ≤180мА
- Vh (напряжение нагревателя) 5В±0,2В
- Ph (мощность нагревателя) ≤900мВт
- Vc (напряжение схемы) ≤24В
- Стандартные рабочие условия Температура: -10 ~ +50°C, влажность: ≤95%RH, концентрация кислорода: 21% (стандартные условия)
- Условия хранения Температура: -20 ~ +70°C, влажность: ≤70%RH
Радио передатчик и приемник 315 МГц на 20-200 метров для дистанционного управления электроникой на базе Raspberry Pi
Частое применение: Сигнализация, двери, ворота, защитные роллеты (и т. д.) дистанционного управления.
Характеристики:
- Частота 315МГц
- Скорость передачи: 4KB /с
- Мощность передачи: 10 мВт
- Выход приемника: логическая единица 1/2 напряжения питания, логический ноль 0,7В
- Питание передатчика: 3-12В
- Размер передатчика: 19х19мм
- Размер приемника: 30х13мм
Если в зоне действия нет других источников передачи, работающих на частоте 315 МГц, можно использовать радио пару: прием/передача как прямое кабельное соединение.
15. Датчик наклонаС помощью датчика наклона совместно с Raspberry Pi можно реализовать несложные проекты, в которых требуется отследить уровень наклона. Одно из возможных применений: разнообразные охранные системы или автоматизацию процесса.
Корпус датчика оснащён двумя светодиодами. Красный светодиод соединён с выводом питания, загорается при подаче на модуль напряжения питания. Зелёный светодиод соединён с цифровым выходом, светится при срабатывании датчика. Также корпус датчика оборудован переменным резистором C-01. С его помощью производят настройку чувствительности датчика.
Характеристики:
- Основа датчика: сенсор SW-420 и компаратор LM393;
- Напряжения питания: от 3,3 до 5 В;
- Выходной сигнал: цифровой;
- Габариты: 3,2 х 1,4 см;
- Вес датчика: 3 г.
Представляет собой датчик отражения инфракрасного излучения близко расположенным препятствием. Благодаря работе фотоэлемента в инфракрасном диапазоне излучения восприятие оттенков становится более контрастным, чем в видимом диапазоне света. Это облегчает применять модуль ky-033 для различения белых и черных участков поверхности. Конструктивные особенности позволяют использовать модуль датчика линии в классической задаче учебной робототехники – движение вдоль линии на полу. Если нанести полоски на вращающийся диск, то датчик можно использовать для измерения скорости оборотов вала двигателя, колеса и других вращающихся деталей.
Характеристики
- Питание
- Напряжение 3,3 – 5,5 В
- Ток 20 мА
- Угол обзора 35 °
- Рабочая температура 0 – 50 C°
- Размеры 77 x 48 x 12 мм
Датчики Arduino: описание возможностей / Амперка
Любая автоматизация начинается с подбора датчиков — именно на основе их показаний строится вся логика управления. Сенсоры помогают решить различные инженерные задачи, чтобы сделать ваш проект ещё точнее и «умнее». Сегодня мы расскажем, какие виды датчиков наиболее часто используются в связке с Arduino-совместимыми контроллерами и одноплатными компьютерами наподобие Raspberry Pi.
Датчики положения
Если вы строите робота, способного самостоятельно перемещаться в пространстве, ему понадобится некая система ориентации, иначе он будет неуклюже упираться в препятствия и требовать вашей помощи. Конечно, на лавры Boston Dynamics мы не претендуем, но дадим пару советов.
Основные параметры, которые можно измерить датчиками положения, — это линейная и угловая скорость перемещения. По ним уже можно составить представление, каково положение нашего детища в пространстве, и что с ним происходит. Для этого используются несколько видов сенсоров.
Датчики пространства
Машинное зрение с распознаванием объектов — это, конечно, хорошо, но мы привыкли искать решения попроще. Задачу ориентирования можно элегантно решить, если свести «зрение» робота к простейшей функции обнаружения препятствий. Для этого ему понадобится сенсор пространства, который определяет дистанцию до объектов, или хотя бы их наличие поблизости. Тогда он перестанет врезаться и научится строить маршрут в обход препятствий — не без вашей программной помощи.
Тактильные сенсоры
Кнопки, потенциометры и тому подобные штучки — это тактильные сенсоры, которые превращают наши манипуляции в электрический сигнал. Хотите сделать собственный геймпад или микшерный пульт? Вам понадобится целая куча кнопок и других органов управления.
Климатические сенсоры
Климатические сенсоры температуры, влажности и других параметров нужны, например, чтобы построить систему управления климатом умного дома, автоматизированную теплицу или любительский метеозонд. В конце концов, кто не любит наблюдать за красивыми графиками?
Сенсоры света и цвета
Некоторые роботы рождены, чтобы участвовать в гонках, а не ползать. Им главное — мчать по трассе, не сбавляя скорости. Чтобы не сбиваться с намеченного пути, робот обычно считывает трассу, проложенную линией. Для подобных целей тоже существуют особые датчики света и цвета.
Датчики звука
Звуковые волны — полезный источник информации, если знать, что с ними делать. Чуть выше мы уже рассказывали про ультразвуковой дальномер, который использует эхолокацию. С датчиками звука вы можете придумать не менее интересные применения своему проекту.
Датчики механического воздействия
В некоторых электронных системах нужно иметь чёткое представление о физических силах, которые действуют на объект. Неудивительно, что для этого придуманы специальные датчики механического воздействия.
Датчики газа
Собрать газоанализатор на Arduino — вполне реально, если подобрать подходящий датчик газа. Полученная система сможет измерять концентрацию газов и летучих веществ, кроме того, она поможет обнаруживать утечки газа в помещении и создать сигнализацию с детектором дыма. Среди измеряемых субстанций есть как природный газ, угарный / углекислый газ, пропан, бутан, метан, так и более специфичные: водород, аммиак и пары спирта.
Датчики воды
Спасти жилище от затопления, создать систему автоматического полива в теплице или автопоилку для животных невозможно без датчиков воды. Они помогут оценить уровень и расход воды, чтобы вовремя подать управляющие сигналы насосу и другим модулям. А ещё с ними вы точно не забудете закрыть кран дома!
В заключение
Теперь вы познакомились с основными видами датчиков, их возможностями и предназначением. Как видите, с помощью сенсоров контроллер можно научить управлять практически любым процессом, если грамотно учесть специфику проекта и подключить немного фантазии!
- Выбирайте подходящие модули в разделе датчиков.
- Найти более глубокую справочную информацию с примерами использования сенсоров вы сможете на нашей Вики.
50 наиболее важных датчиков и компонентов Raspberry Pi
Одним из многих преимуществ Raspberry Pi является то, что можно подключить почти все стандартные датчики и компоненты Arduino и Raspberry Pi к различным GPIO. Кроме того, вы можете оценивать и / или обрабатывать значения с помощью программ и другого программного обеспечения. Этот аксессуар можно использовать в таких проектах, как Умный дом (домашняя автоматизация), комплекты роботов или метеостанции и т. Д.
В этой статье описаны и обобщены более 50 наиболее важных датчиков и компонентов для Raspberry Pi, а также для Arduinos, а также представлен полный список датчиков Raspberry Pi.
Меню
Описанные датчики, модули и компоненты Raspberry Pi делятся на следующие категории:
Температура / Влажность / Давление воздуха / Газ
Датчики DHT11 и DHT22 могут измерять как влажность, так и температуру. Используется только один GPIO. Разница между ними в основном заключается в диапазоне измерения и точности. Белый DHT22 может измерять влажность во всех диапазонах от 0 до 100% с точностью до 2%.Для сравнения, DHT11 (синий) может измерять только области с влажностью 20-90%, и, прежде всего, точность значительно хуже с 5%. Голубой датчик DHT11 имеет небольшое ценовое преимущество (около одного доллара).
Цена: примерно 3-4 $ / ок. £ 3
DS18B20 и DS18S20 представляют собой очень простой датчик. Эти датчики Raspberry Pi адресуются через так называемую 1-проводную шину. Преимущество состоит в том, что множество различных 1-проводных компонентов могут быть соединены последовательно и считаны одним GPIO.Однако эти модули не могут измерять дополнительную информацию, такую как влажность и / или давление воздуха. DS18B20 особенно подходит для использования на открытом воздухе, так как доступны также водонепроницаемые версии. Благодаря диапазону измерения от -55 ° C до + 125 ° C он хорошо подходит даже для не повседневных задач.
Цена: около 4 $ / ок. 2
фунтов стерлинговОпределение давления воздуха может иметь значение в метеостанциях и подобных проектах. Лучше всего это сделать с помощью BMP180, который управляется через I2C на Raspberry Pi.Помимо атмосферного давления, можно считывать температуру и высоту. Однако последнее значение не очень точное. Если вам нужна высота, вы должны прочитать значения с помощью GPS-приемника.
Цена: около 5-6 $ / ок. 3–4 фунта стерлингов
Этот аналоговый датчик влажности отлично подходит для систем автоматического полива. Он помещается в землю и измеряет влажность по току, протекающему между прядями. Чем влажнее земля между ними, тем выше (аналоговый) сигнал.Чтобы прочитать значение с помощью Raspberry Pi, необходим MCP3008 (Arduinos может распознавать аналоговые сигналы напрямую).
Цена: около 4-5 $ / ок. 2–3 фунта стерлингов
Проблема с аналоговыми датчиками влажности заключается в том, что они со временем разрушаются и не всегда очень точны. Емкостные датчики предотвращают эти проблемы. Относительная влажность рассчитывается с помощью частоты. Однако делитель частоты также подходит для использования с Raspberry Pi.
Цена: 5-7 €
Датчики газа MQ могут обнаруживать различные газы при комнатной температуре.В зависимости от модели поддерживаются другие газы. MQ-2 может распознавать метан, бутан, сжиженный нефтяной газ и дым, MQ3 обнаруживает, например, алкоголь, этанол, дым и т. Д. Здесь вы можете найти список всех датчиков MQ и поддерживаемых ими газов.
Вы должны позаботиться о том, чтобы эти датчики могли быть очень горячими, и к ним нельзя было прикасаться напрямую. Поскольку эти модули также работают аналогично с 5 В, вам также понадобится MCP3008, а также TTL 3,3-5 В для считывания сигналов.Цена: около 2 $ / ок. 2
фунтов стерлингов
Датчик движения
Эти датчики Raspberry Pi можно использовать для обнаружения движения, но не все из них являются «настоящими» датчиками движения.
Датчик движения PIR имеет ряд преимуществ перед другими аналогичными изделиями: помимо невысокой цены, сигнал отправляется только в том случае, если что-то движется. Это позволяет вам ждать флангов сигнала с помощью GPIO. Кроме того, сопротивление можно изменять так, чтобы сигнал отправлялся только тогда, когда движение близко, или воспринимаются изменения, которые уже далеки.
В дополнение к проектам на открытом воздухе, PIR также можно использовать в зданиях – для включения освещения или, как я использую, для включения моего сенсорного экрана для домашней автоматизации, как только кто-то приближается к нему.Цена: около 2 $ / ок. 1–2 фунта стерлингов
Датчик HC-SR04 – это не датчик расстояния / движения, а ультразвуковой датчик. Тем не менее, с помощью небольшого трюка можно измерить расстояния. Измеряя время, прошедшее между передачей и получением ультразвукового сигнала, вы можете определить расстояние, поскольку скорость звука в воздухе известна. В учебнике я объясняю детали. Однако следует учитывать широкий угол раскрытия: поскольку ультразвук распространяется не только по прямой линии, но и под углом около 15 °, сигнал сначала отражается от ближайшей точки в этой области, что может быть также внешней точкой.
В качестве приблизительной оценки или для движущихся роботов он все же полезен, в том числе из-за невысокой цены.Цена: около 3 $ / ок. 2
фунтов стерлинговС помощью магнитных датчиков / герконов вы можете проверить двоичные состояния. Магнитное реле размыкается, как только поблизости оказывается магнит. В противном случае доступ закрыт. Таким образом, если напряжение будет пропущено, вы можете проверить состояние.
В частности, эти магнитные датчики подходят для осмотра окон и дверей, устанавливая их на раму и проверяя, открыта или закрыта дверь / окно.Цена: около 2-3 $ / ок. 2
фунтов стерлинговИнфракрасный дальномер GP2Y0A02YK позволяет выполнять гораздо более точные измерения, например, модель HC-SR04. Модуль ограничен диапазоном 20-150 см. В качестве альтернативы можно использовать аналогичный датчик GP2Y0A710K0F, который имеет диапазон от 100 до 500 см.
Цена: около 8-12 $ / ок. £ 10
RFID-RC522 – Индуктивный считыватель карт RFID
RFID-RC522 – это устройство для чтения чековых карт.Сигнал передается по шине данных SPI, как только карта приближается на несколько сантиметров. У каждой карты свой код, который вы можете прочитать. Так, например, могут быть реализованы замки и / или двери, которые открываются бесконтактно – кунжутное открытие
Цена: около 4-5 $ / ок. 3–4 фунта стерлингов
Навигационные модули
Самый распространенный и известный GPS-приемник – это модуль NEO-6M. Все данные GPS-положения могут быть определены с помощью орбитальных спутников.Кроме того, он совместим с пакетами Raspberry Pi
minicom
иgpsd
, что упрощает считывание координат.Цена: около 10 $ / ок. £ 8
USB-приемник GPS
В качестве альтернативы модулям GPS, которые подключаются через GPIO, также можно использовать USB-приемники GPS. У них есть то преимущество, что (почти) все они совместимы с Windows, Linux и Mac, и дополнительное подключение не требуется.С другой стороны, эти модули обычно дороже, но по точности не уступают. Поэтому какой тип приемника предпочтительнее – это индивидуальный вопрос.
Цена: около 15 $ / ок. £ 14
HMC5883L / GY-271 Компас
Как и в случае с аналоговыми компасами, указатель направления может считываться в цифровом виде. Для этой цели подходит датчик HMC5883L, считываемый через I2C и возвращающий угол в радианах.Как и в случае с обычным компасом, значение может быть искажено металлическими предметами около
.Цена: около 4-5 $ / ок. 2–3 фунта стерлингов
DS1307 RTC
Если Raspberry Pi подключен к Интернету, он может запрашивать точное время. Это может быть проблемой в приложениях, где нет (постоянного) подключения к Интернету, но важны дата и точное время (автомобильный компьютер, метеостанция и т. Д.). Так называемый модуль Realtime Clock (RTC) может помочь: после инициализации он сохраняет текущее время – даже при отсутствии источника питания – благодаря небольшой батарее.На материнских платах компьютеров такой модуль установлен, поэтому время компьютера не нужно перенастраивать при каждой перезагрузке. Поскольку Raspberry Pi / Arduino не имеет модуля RTC изнутри, его можно дооснастить.
Цена: около 2-3 $ / ок. 2
фунтов стерлингов
Датчики Raspberry Pi – беспроводной / инфракрасный (ИК) / Bluetooth
Одним из самых простых способов передачи сигналов по радио являются передатчик и приемник 433 МГц.Поскольку эти наборы очень дешевые, они используются во многих проектах. Так, например, вы можете позволить нескольким Raspberry Pi общаться друг с другом.
Многие другие устройства также работают с радиосигналами 433 МГц, например, гаражные ворота или радиоуправляемые розетки, и эти коды могут быть записаны и отправлены для конкретных задач.Цена: около 2-3 $ / ок. 2
фунтов стерлингов2,4 ГГц NRF24L01 + Modul
Более продвинутый метод беспроводной связи – использование 2.Частота 4 ГГц. Преимущества по сравнению со скоростью передачи 433 МГц в основном заключаются в том, что за один раз можно передать больший объем данных. Таким образом, целые предложения и команды могут быть отправлены с пакетом сигнал / данные. Второй Raspberry Pi или Arduino также может быть оснащен приемником / передатчиком 2,4 ГГц и, таким образом, получать команды от «базовой станции» и отправлять обратно данные.
Цена: примерно 3-4 $ / ок. £ 3
В области домашней автоматизации беспроводные розетки стали почти стандартом.Подавляющее большинство этих устройств работают с радиосигналами 433 МГц. Считывая коды пульта ДУ с помощью приемника на Raspberry Pi, можно переключать эти радиоразъемы по отдельности.
Существуют разные модели, как правило, просто переключаемые радиоразъемы, но также предлагаются (регулируемые) патроны для ламп.
Следует обратить внимание на один критерий: есть модели с так называемым «родовым» кодом, т.е. на этих моделях код генерируется случайным образом и изменяется. Эти частоты трудно прочитать.С другой стороны, те сокеты, в которых код можно свободно выбирать, очень легко контролировать.Цена: около 10-15 $ / ок. 10 фунтов стерлингов +
Si4703 Радиоприемник
Модуль Si470x предлагает возможность обновления Pi до радиоприемника, что может быть очень интересно в автомобильных ПК или музыкальных автоматах Raspberry Pi. Как и в случае с обычными радиостанциями, частоту и некоторые параметры можно настроить (с помощью программного обеспечения). Если этого недостаточно, вы также можете использовать Pi в качестве радиостанции.
Цена: около 10 $ / ок. £ 8
Адаптер Bluetooth
Raspberry Pi не всегда имел встроенный модуль Bluetooth. До выхода модели 3 на борту не было ни Bluetooth, ни WiFi. Недорогая модель Zero также поставляется без адаптера Bluetooth. Поскольку почти каждый мобильный телефон поддерживает этот метод связи в стандартной комплектации, обмениваться изображениями и другими файлами между смартфоном и Raspberry Pi очень просто.Также возможны другие проекты, такие как управление Pi с помощью команд Bluetooth.
Цена: около 7-10 $ / ок. 7-8 фунтов стерлингов
Raspberry Pi используется во многих проектах на открытом воздухе, например. в качестве метеостанции или для наблюдения за определенными вещами. Однако, даже если сигнал WIFI отсутствует (или доступен только слабый), многие функции ограничены. Если вы все еще хотите иметь доступ к Pi, а также получать данные такого внешнего проекта, необходимо подключение к Интернету.Мобильные палочки для серфинга, которые также часто доступны в качестве подарков по контрактам на скорость передачи данных, могут быть полезны. С такой флешкой и SIM-картой с объемом данных Pi может постоянно находиться в сети. Кроме того, также можно использовать флешку для отправки и получения SMS, например, для удаленного управления Raspberry Pi с мобильного телефона.
Цена: около 25-30 $ / ок. 20–25 фунтов стерлингов
В большинстве пультов дистанционного управления для передачи сигналов используются инфракрасные светодиоды. Эти коды можно легко прочитать и сохранить с помощью инфракрасного приемника.С помощью программы LIRC также можно отправлять эти коды с помощью диода ИК-передатчика. Например, телевизором можно управлять с помощью Raspberry Pi.
Кроме того, есть еще ИК-светодиоды, которые можно использовать в качестве светового барьера.Цена: около 3 $ / ок. 2
фунтов стерлинговЛазерный модуль
Хотя стандартные лазерные модули не обладают большой функциональностью (их можно включать и выключать), они используются в различных интересных проектах. Так, например, есть проекты дальномеров, использующих камеру и лазерный модуль.Лазер включается и выключается очень быстро, и записываются изображения. Затем расстояние можно рассчитать с помощью набора лучей.
Благодаря сменным зеркалам в головке лазерных модулей возможны различные рисунки, например, сетки.Цена: около 2 $ / ок. 2
фунтов стерлингов
Двигатели
В отличие от обычных двигателей, серводвигателями можно управлять индивидуально. Для перемещения двигателя необходимо только указание угла поворота.На двигатель отправляются сигналы ШИМ (широтно-импульсная модуляция). Raspberry Pi может использовать этот метод передачи. Особенно просто использовать библиотеку Python GPIO или WiringPi.
Цена: около 2-3 $ / ок. 2
фунтов стерлинговШаговые двигатели – это двигатели, которые могут «сделать» определенное количество шагов за один оборот. Встроены два электромагнита, которые перемещают ось через разные полюса. Как выглядит полярность, написано в паспорте двигателя.
Одним из самых популярных шаговых двигателей (поскольку он имеет много ступеней и, тем не менее, дешев) является модель 28BYJ-48.Этот двигатель имеет 512 шагов, каждый шаг состоит из 8 последовательностей. Это означает, что полный оборот имеет 4096 шагов (или один шаг делается на 0,087 °).Цена: около 2-3 $ / ок. 2
фунтов стерлинговPCA9685 Сервоплата
Используя ШИМ, сервоприводы можно управлять непосредственно с Raspberry Pi. Однако, как только вы захотите управлять несколькими серводвигателями, либо GPIO может не хватить, либо вам потребуется больше мощности. Плата сервопривода PCA9685 идеально подходит для этой цели, поскольку вы можете управлять до 16 двигателями на одну плату через I2C.И мало. Возможно даже подключить несколько плат друг за другом. Кроме того, можно легко подключить внешний источник питания. Например, если вы хотите использовать манипулятор робота, это оптимальная доска.
Цена: около 4-5 $ / ок. 2–3 фунта стерлингов
Эти шаговые двигатели 28BYJ-48 часто поставляются с платой драйвера. Поставляемая плата обычно имеет микросхему ULN2003, которая удерживает напряжение для двигателя 5 В, но может управляться с помощью 3,3 В. Это важно, потому что GPIO защищены и не требуются транзисторы или реле.
Цена: примерно 3-4 $ / ок. 2–3 фунта стерлингов
Альтернативная микросхема драйвера – L293D. Преимущество этого модуля по сравнению с ULN2003 заключается в том, что он также может использоваться с более высокими напряжениями, чем 5 В. Поскольку многие альтернативные шаговые двигатели (например, меньшее количество шагов для более быстрого вращения или более высокое тяговое усилие) требуют напряжения более 5 В, они должны питаться от внешнего источника тока. Микросхема L293 идеально подходит для управления этими двигателями. Кстати, можно даже управлять двумя моторами одновременно (по отдельности).
Цена: около 2 $ / ок. 2
фунтов стерлинговA4988
Эта ИС – еще один способ управления шаговыми двигателями. Он специально разработан для двигателей в 3D-принтерах и может выдерживать напряжение от 8 В до 35 В при токе в один ампер. Поскольку он может очень быстро нагреваться, на микросхеме коммутационной платы имеется охлаждающий радиатор.
Цена: около $ 6 / ок. £ 5
Аналогичные датчики Raspberry Pi
MCP3008 Аналого-цифровой преобразователь
В отличие от Arduino, Raspberry Pi не имеет собственных аналоговых контактов ввода-вывода.Это означает, что вы не можете просто считывать аналоговые модули. Модуль MCP3008 поможет вам: он позволяет использовать аналоговые модули с Raspberry Pi, и поэтому этот цифровой преобразователь требуется для всех аналоговых модулей на Raspberry Pi.
Цена: около 5 $ / ок. £ 4
Джойстик
Один из этих аналоговых модулей представляет собой 2-осевой джойстик. Установлены два потенциометра (см. Ниже) для осей X и Y, которые позволяют пропускать большее или меньшее напряжение через механизм.Если преобразовать аналоговое значение в цифровое, получатся числа от 0 (без напряжения) до 1023 (полное напряжение). В центре цифровое значение прибл. 512 возвращается по обеим осям.
Цена: около 4-6 $ / ок. £ 3
Потенциометр / поворотный переключатель
Потенциометры – это в основном вращающиеся резисторы. Вы можете легко изменить номинал резистора, поворачивая ручку управления. Каждый модуль имеет максимальное сопротивление (минимум – ноль).В дополнение к джойстикам можно найти потенциометры, например, в регуляторах яркости или громкости.
Цена: примерно 3-4 $ / ок. 2–3 фунта стерлингов
Датчик дождя
Чтобы определить, идет ли дождь или сколько идет дождь, можно использовать датчик дождевой воды. Он работает аналогично и может быть прочитан с MCP3008. В зависимости от количества воды емкость увеличивается и считывается более сильный аналоговый сигнал.
Цена: около 2 $ / ок.2
фунтов стерлинговС помощью датчика пульса можно считать частоту сердечных сокращений на Raspberry Pi. Аналогично обнаруженное значение изменяется в зависимости от биения пульса. Он снова преобразуется с помощью АЦП, и импульс определяется на основе последних измеренных значений.
Цена: около $ 6-7 / ок. 4–5 фунтов стерлингов
Блок питания / тока
GPIO Raspberry Pi работают с 3.3В, хотя есть еще и вывод 5В. Однако для многих устройств требуется более высокое напряжение. Чтобы не объединять схемы, можно использовать реле, которые по сути являются переключателями. Это имеет то преимущество, что вы также можете переключать цепи с более высоким напряжением с помощью Raspberry Pi, не рискуя чем-то.
Цена: примерно 3-4 $ / ок. 2-3 £ (в зависимости от суммы)
С модулями LM2596 (и аналогичными) более высокие напряжения можно регулировать в сторону понижения. Например, вы можете регулировать ток (перезаряжаемых) батарей до необходимого входного напряжения USB 5 В.Однако не допускается использование переменного тока (AC), а только постоянный ток (DC), питаемый батареями.
Цена: около 3 $ / ок. 2–3 фунта стерлингов
3.3V – 5V TTL I2C преобразователь логического уровня
Некоторые модули и датчики для сигналов Arduino выводят 5 В, но это приведет к повреждению GPIO, поскольку они работают с 3,3 В. Здесь преобразователь уровня может использоваться для дальнейшего управления сигналами.
Важно убедиться, что приобретены двунаправленные преобразователи уровня, чтобы вы могли также отправлять и принимать сигналы.Цена: около 2 $ / ок. 1–2 фунта стерлингов
Дисплеи
В сентябре 2015 года Raspberry Pi Foundation спустя долгое время представила официальный сенсорный дисплей. Он имеет 7 дюймов при разрешении 800 × 480 пикселей. Емкостный сенсорный экран с 10 точками подключения подключается через порт DSI и не занимает никаких USB-портов или GPIO. Первоначальный запуск очень прост, и вам даже не нужно дополнительное программное обеспечение (только актуальная версия Raspbian или NOOBS).
Цена: около 65-75 $ / ок. £ 70
Другое 7 ″ сенсорный экран
До того, как Raspberry Pi Foundation представила свой модуль сенсорного экрана, многие другие компании разработали сенсорные дисплеи для Pi. Преимуществами являются в основном лучшее разрешение, а иногда и больший размер (10 дюймов или больше). Хотя большинство из них не используют порт DSI, поэтому будут использоваться порт HDMI и USB (для сенсорного ввода) и / или несколько контактов GPIO. Кроме того, обычно требуется отдельный драйвер.
Цена: около 50 $ / ок. £ 40
Сенсорный экран 3,2 ″
Не всем нужны дисплеи с диагональю 7 дюймов или больше, иногда достаточно сенсорного экрана меньшего размера, но выбор относительно велик. Размеры от 2,4 до 4,3 дюйма очень распространены, но эти модули имеют почти исключительно резистивное касание. Вы можете подключать их, в зависимости от модели, через GPIO или (если есть) напрямую через HDMI.
Цена: около 10 $ / ок. 8–10 фунтов стерлингов
Помимо сенсорных экранов, существуют также чисто символьные дисплеи.Наиболее распространены дисплеи 16 × 02 и 20 × 04, которые определяют количество символов в строке и количество строк. Почти все эти дисплеи имеют контроллер HD44780, к которому можно легко получить доступ с Raspberry Pi.
Цена: около 4-5 $ / ок. 3–4 фунта стерлингов
7-сегментные дисплеи часто используются для отображения чисел и, как следует из названия, имеют семь светящихся сегментов, к которым можно обращаться индивидуально. Чтобы не занимать слишком много GPIO, обычно берут такой контроллер, как MAX7219.
В дополнение к обычным 7-сегментным дисплеям есть также модели, которые содержат 15 управляемых сегментов, с помощью которых также можно отображать буквы (даже если это выглядит не так красиво).Цена: около 3 $ / ок. £ 3
Другие модули, компоненты и датчики Raspberry Pi
Квадратные светодиодные матрицы 8 × 8 доступны в красном и зеленом цветах. Можно управлять каждым отдельным светодиодом с помощью микросхемы MAX7219.Кроме того, многие из этих модулей можно соединить вместе, в результате чего на дисплее появится большой точечный дисплей. Сигнал отправляется через SPI. Я написал библиотеку, которая позволяет вам легко управлять этими матрицами.
Цена: примерно 3-5 $ / ок. 2–3 фунта стерлингов
- Датчик отпечатков пальцев
можно использовать для реализации приложений, важных для безопасности. Например, хранятся отпечатки пальцев разных людей и им предоставляются права авторизации. Могут быть построены электронные сейфы или дверные замки. Пароль также можно запросить вместе с цифровой клавиатурой.
Опрос датчика на удивление точен и происходит с помощью функций. После прочтения или сохранения отпечатка его можно даже экспортировать как изображение.Цена: около 30 $ / ок. £ 25
Ардуино
Raspberry Pi также можно использовать в качестве микроконтроллера, но у него гораздо больше функций, поскольку он запускает операционную систему. Настоящий микроконтроллер – это, например, Ардуино. Он может, например, также считывать аналоговые датчики.Arduino также может очень легко работать с Raspberry Pi, например через USB или радио 433 МГц или 2,4 ГГц. Поскольку Arduinos дешевле обычных Raspberry Pis, они могут служить либо расширениями для GPIO, либо вызывной станцией для определенных датчиков, данные которых передаются по беспроводной сети. Поскольку проектов для Arduino больше, чем для Raspberry Pi, вы также можете реализовать и запустить эти проекты на Raspberry Pi (через обход Arduino).
Цена: около 5-6 $ / ок.4 фунта стерлингов (нано-модель)
ESP8266 NodeMCU
ESP8266 NodeMCU – это микроконтроллер со встроенным модулем Wi-Fi. Благодаря этому и очень низкой цене он явно более привлекателен, чем Arduino. Программирование происходит через последовательный порт, может выполняться либо через Arduino IDE, либо через другие программы (LUA). Если кто-то распространил метеостанцию или другие устройства IoT, которые находятся в той же сети WLAN, вы можете отправить их данные на «материнскую станцию» Raspberry Pi через Wi-Fi.ESP8266 доступен в разных версиях, хотя наиболее подходящий вариант (ESP-01) имеет только два контакта GPIO. Другие модели, такие как ESP-12, предлагают гораздо больше контактов за небольшую дополнительную плату.
Цена: около 4 $ / ок. 2 фунта стерлингов (ESP-01)
Числовое поле ввода необходимо для проектов хранилища или кодового замка. Для этого есть собственные модули, которые выглядят как цифровая клавиатура на клавиатуре ПК. Эти модули доступны в разных размерах (3 × 4, 4 × 4 и т. Д.), И их можно читать прямо на Raspberry Pi.Вводя определенные числовые коды / комбинации, вы можете выполнять секретные действия 😉
Цена: около 2-3 $ / ок. 2–3 фунта стерлингов
Магнитный клапан
Электромагнитный клапан предназначен для прерывания потока жидкостей или газов. Между двумя трубами или шлангами можно построить своего рода «открывалку». В идеале используются магнитные клапаны, которые работают от 12 вольт. Все, что вам нужно, это внешний источник питания и реле на Raspberry Pi, которое переключает соленоид.
Вы можете использовать эти клапаны, например на открытом воздухе (ключевое слово: автоматический полив) или также в небольших проектах, таких как интеллектуальные кофеварки и т. д.
Цена: около 13 $ / ок. £ 12
Расходомер воды
С помощью расходомеров воды (датчиков на эффекте Холла) на Raspberry Pi можно определить количество воды, протекающей через трубку в минуту / секунду. Существуют различные датчики, которые имеют более высокую точность или более высокий расход и максимальное давление воды.Эти средства измерения особенно интересны на открытом воздухе и в саду. Например, можно определить количество осадков во время грозы (дренажный канал) или проверить полив растений.
Цена: около 10 $ / ок. £ 8
Устройство MCP 23017 представляет собой расширитель портов ввода-вывода. Поскольку Pi имеет только ограниченное количество GPIO, они могут легко закончиться для более крупных проектов или нескольких подключенных модулей. Расширитель портов управляется I2C и увеличивает количество контактов ввода-вывода.У вас есть (на каждый расширитель порта) дополнительные 16 контактов, которые вы можете объявить как вход или выход. Вы также можете подключить несколько расширителей портов и управлять ими одновременно.
Цена: около 4 $ / ок. 2–3 фунта стерлингов
Используя датчик HX711, Raspberry Pi также может взвешивать предметы. Для этого требуется LoadCell (США | Великобритания), который необходимо подключить и откалибровать один раз. В зависимости от модели точность и максимальный измеряемый вес будут различаться.
Цена: около 5 $ / ок.4–5 фунтов стерлингов
ENC28J60 Модуль Ethernet
Если вы называете Raspberry Pi Zero своим собственным, вы, вероятно, знаете проблему: поскольку существует только один (микро) USB-порт, подключение к Интернету возможно только через Wi-Fi, потому что – в отличие от Raspberry Pi 3 – у него нет встроенный WiFi-адаптер. Если вы хотите использовать другое устройство USB, необходим концентратор USB. Здесь можно использовать модуль ENC28J60: он подключается к GPIO и обеспечивает проводное соединение Ethernet.Таким образом, не требуется внешний Wi-Fi-адаптер и USB-концентратор.
Цена: примерно 3-4 $ / ок. £ 3
Во многих проектах Raspberry Pi также используются камеры. В этом случае можно использовать обычные USB-веб-камеры, но их качество часто не очень хорошее, а также они занимают USB-порт. Лучшей альтернативой является официальный модуль камеры Raspberry Pi Foundation, который можно напрямую подключить через порт CSI. Модуль доступен в двух версиях: с инфракрасным фильтром (зеленый) и без (черный).Отсутствие инфракрасного фильтра обеспечивает более высокую светочувствительность, что приводит к лучшим изображениям в сумерках / ночью.
Цена: около 15-20 $ / ок. £ 20
6DOF Рука робота
Несколько сервоприводов позволяют управлять многоосевой роботизированной рукой с помощью Raspberry Pi. Существуют разные версии, из которых наиболее известна версия с 6 двигателями. Каждым отдельным сервоприводом можно управлять индивидуально, что обеспечивает высокую точность.Помимо серводвигателей, очень полезна плата драйвера, такая как PCA9685.
Цена: около 40 $ / ок. £ 30
Фоторезисторы
Помимо обычных резисторов и потенциометров есть еще фоторезисторы. Они имеют светочувствительную поверхность и разное значение сопротивления в зависимости от интенсивности света. Их можно использовать, например, для обнаружения дня / ночи или для создания световых барьеров.
Цена: около $ 1 / ок.£ 1
Светодиодные ленты WS2801 содержат множество управляемых светодиодов RGB, к которым можно обращаться индивидуально. В зависимости от модели есть варианты с 30/60/144 светодиодами на метр. С помощью этих светодиодных лент проекты Ambilight могут быть реализованы очень хорошо. В отличие от более дешевых моделей WS2812B (которые имеют только одну линию передачи данных), к светодиодным лентам WS2801B RGB можно обращаться напрямую с Raspberry Pi, что означает, что не требуется дополнительных Arduino в качестве промежуточного хранилища.
Цена: около 20 $ / ок. £ 19 (в зависимости от длины и плотности)
Светодиодные ленты WS2812 имеют преимущество в виде лучшего соотношения цена / качество. Однако либо в качестве промежуточного сегмента необходимо использовать Arduino, либо встроенный звук отключен, в результате чего эта полоса также доступна напрямую. Однако, поскольку Raspberry Pi не отправляет сигналы в реальном времени и частота не такая высокая, эта полоска подходит не для всех проектов. Однако WS2812 имеет некоторые преимущества.
Цена: около 10 $ / ок. 10 фунтов стерлингов (в зависимости от длины и плотности)
Если вы думаете, что по-прежнему отсутствуют важные датчики Raspberry Pi, я был бы рад комментарию и добавлю его в список.
Как измерить влажность и температуру с помощью Raspberry Pi (DHT11 / DHT22)
С помощью Raspberry Pi и некоторых датчиков легко измерить температуру без особых усилий.Однако, кроме того, влажность в определенных ситуациях или проектах (например, метеостанция) может быть поучительной. Такие датчики, как DHT11 и DHT22, доступны не только за несколько евро, но и могут измерять как температуру, так и влажность.
Принадлежности
Поскольку датчики уже несут (почти) все, кроме резистора, не требуется много дополнительных аксессуаров. Я использовал это:
Здесь вы можете увидеть разницу между DHT11 и DHT22.В результате DHT11 (синий) дешевле, но DHT22 (белый) точнее и работает дольше. Для приложений в «экстремальных» областях (влажность 0-20% или 80-100%) следует использовать DHT22, поскольку он также поддерживает эти области в отличие от DHT11. Например, у меня в холодильнике есть датчик DHT22 для измерения и регистрации температуры и влажности. В общем, модели 11er тоже должно хватить.
Настройка датчика влажности Raspberry Pi
Левый контакт датчика подключен к 3V3 Pi (контакт1), второй контакт датчика через подтягивающий резистор (4.7 кОм – 10 кОм) со свободным GPIO малины (GPIO4, pin7), а правый старший контакт приходит на GND (Pin6) от Pi. Второй штифт справа от датчика остается свободным.
Структура идентична для DHT11 или DHT22, поскольку контакты назначаются одинаково.
Установка и тестирование программного обеспечения Raspberry Pi Humidity
Прежде всего, необходимо установить несколько пакетов:
sudo apt-get update sudo apt-get install build-essential python-dev python-openssl git
Библиотека датчиков теперь может быть загружена.Использую готовую библиотеку от Adafruit, поддерживающую различные датчики
sudo pip3 установить adafruit-circuitpython-dht sudo apt-get установить libgpiod2
Затем мы создаем новый файл с нашим кодом:
судо нано dht_example.py
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 18 19 20 21 22 23 24 25 26 27 28 29 30 000 000 34 35 | import time import board import adafruit_dht # Инициируйте устройство dht, подключив контакт данных к: # dhtDevice = adafruit_dht.DHT22 (board.D4) # вы можете передать DHT22 use_pulseio = False, если не хотите использовать pulseio. # Это может быть необходимо на одноплатном компьютере Linux, таком как Raspberry Pi, #, но это не будет работать в CircuitPython. dhtDevice = adafruit_dht.DHT22 (board.D4, use_pulseio = False) while True: try: # Распечатать значения в последовательный порт temperature_c = dhtDevice.температура температура_f = температура_c * (9/5) + 32 влажность = dhtDevice.humidity печать ( “Температура: {: .1f} F / {: .1f} C Влажность: {}%”. format ( temperature_f, temperature_c, влажность ) ) за исключением RuntimeError as error: # Ошибки случаются довольно часто, DHT трудно читать, просто продолжайте print (error.args [0]) time.sleep (2.0) continue except Exception as error: dhtDevice.exit () raise error time.sleep (2.0) |
Обратите внимание, что вы замените adafruit_dht.DHT22
на adafruit_dht.DHT11
, если вы используете датчик температуры DHT11.
Сохраняем файл с помощью CTRL + O и выходим из редактора с помощью CTRL + X.Затем выполняем наш код:
sudo python dht_example.py
Более ранняя версия
Есть еще один репозиторий от Adafruit, который больше не следует использовать. Для полноты картины все равно покажу здесь (можете пропустить эту часть, если раньше все работало):
sudo apt-get update sudo apt-get install build-essential python-dev python-openssl git
Теперь можно загружать библиотеку датчиков. Я использую предварительно созданную библиотеку Adafruit, которая поддерживает различные датчики:
git clone https: // github.ru / adafruit / Adafruit_Python_DHT.git && cd Adafruit_Python_DHT sudo python setup.py установить
Это создает библиотеку Python, которую мы можем легко интегрировать в наши проекты.
Если все прошло хорошо, мы уже можем прочитать температуру и влажность. Самый простой способ – сначала использовать демонстрационные файлы:
примеров cd sudo ./AdafruitDHT.py 11 4
Первый параметр (11) указывает, какой датчик использовался (22 для DHT22), а второй – к какому GPIO он подключен ( не номер контакта, а номер GPIO).Это дает следующий результат:
$ sudo ./AdafruitDHT.py 11 4 Температура = 24,0 * Влажность = 41,0%
Внимание: датчики готовы только каждые две секунды. Будьте осторожны, чтобы не запускать запрос каждую секунду.
Для интеграции библиотеки влажности Raspberry Pi в другие проекты (Python) вам понадобится только следующее:
импорт Adafruit_DHT … датчик = Adafruit_DHT.DHT11 контакт = 4 влажность, температура = Adafruit_DHT.read_retry (датчик, контакт) … |
Данные журнала постоянно
Для метеостанций и аналогичных проектов по мониторингу температуры и влажности полезно сохранять эти значения через регулярные промежутки времени, чтобы их можно было анализировать позже. Одна из возможностей – сохранить в локальной базе данных, но это имеет тот недостаток, что при определенных обстоятельствах с SD-карты может взиматься слишком большая плата.
Поэтому я выбрал другой метод хранения данных на внешнем сервере. Эта услуга бесплатна для обычного использования, и ее очень легко сохранить, как показано здесь:
Создайте датчик двери / окна Raspberry Pi с помощью Reed Relais
Помимо камеры наблюдения и датчиков движения, информация об открытых окнах и дверях также представляет интерес для самостоятельно созданной системы наблюдения. Проверка с помощью инфракрасных световых барьеров или других методов, безусловно, возможна, но в этом случае это намного сложнее.
В этом руководстве будет показано, как легко проверить, например, состояние окна с магнитным переключателем.
Необходимые компоненты оборудования
К счастью, для крепления переключателя не так уж много, и большинство деталей, вероятно, уже присутствует в ящиках большинства любителей. Я использовал эти компоненты:
Настройка
Настройка показана на рисунке. В качестве входного вывода я использовал GPIO 17 (вывод платы 11):
Проводной модуль позволяет напряжению проходить через соответствующий магнит.
Не имеет значения, какой из двух кабелей магнитного переключателя подключен к базе транзистора. Свободный конец следует прикрепить к окну / двери, а конец с кабелем – к неподвижной дверной / оконной раме.
Если две части находятся слишком далеко друг от друга, возможно, что через транзистор будет проходить очень небольшое количество электричества, которого недостаточно для переключения. В этом случае вы можете попробовать сделать соединение Pi 5 В вместо 3,3 В, но тогда вам обязательно нужно установить сопротивление между эмиттером транзистора и GPIO.
Конечно, вы можете построить эту схему как подтягивающий резистор и, таким образом, иметь ВЫСОКИЙ сигнал только при открытом окне.
Элементы управления
Элементы управления очень просты и могут использоваться в такой форме во многих проектах. Вместо моего последующего кода Python можно также использовать аналогичный код, например. в C ++ (с использованием WiringPi).
А теперь к коду:
судо питон
импортных RPi.GPIO как GPIO GPIO.setmode (GPIO.BCM) # Номера GPIO вместо номеров плат MAGNET_GPIO = 17 GPIO.setup (MAGNET_GPIO, GPIO.IN) # GPIO Назначить режим печати . вход (MAGNET_GPIO) |
Пока окно и, следовательно, магнитный переключатель закрыты, на контакте отображается 1. Как только контакт прерывается, транзистор больше не переключается и на GPIO отображается ноль.Это позволит вам узнать, открыто ли окно / дверь.
Если вы хотите дождаться изменения состояния, вы можете использовать следующую функцию:
GPIO.add_event_detect (MAGNET_GPIO, GPIO.BOTH, callback = my_callback) |
В этом случае должна присутствовать функция с именем my_callback ()
, которая затем вызывается. Вот состояния GPIO.ПОДЪЕМ
и GPIO. ПАДЕНИЕ
вместо GPIO. ОБЕ
.
Изображение: Toby Golding / Flickr (CC BY 2.0)
Подключение и управление датчиком движения Raspberry Pi PIR
Благодаря своей конструкции модуль датчика движения PIR очень прост в использовании, поскольку в нем уже установлены компоненты. Детекторы движения Raspberry Pi в домашней автоматизации и / или на открытом воздухе (как классический наружный детектор движения) внедрить проще, чем когда-либо.В этом уроке я покажу ввод в эксплуатацию.
Этот датчик движения Arduino / Raspberry Pi реагирует и перемещается, при этом «сила» движения контролируется регулируемым резистором (потенциометром). Таким образом, вы можете установить датчик движения очень чувствительным или попытаться избежать «шума». Как только что-то движется, отправляется сигнал, который может быть получен и обработан Raspberry Pi.
Необходимые компоненты оборудования
Настройка
Настройка очень проста, поскольку во время движения должен быть активирован только один вывод.Контакты на PIR имеют маркировку:
.- VCC к контакту 2 (5 В)
- OUT на контакт 16 (GPIO 23)
- GND контакт 6 (земля)
Программа для управления детектором движения Raspberry Pi
Для выполнения кода создадим новый файл
судо нано пир.py
со следующим содержанием:
1 2 3 4 5 6 7 8 9 10 11 12 13 140002 14 18 19 | импортных RPi.GPIO как GPIO время импорта SENSOR_PIN = 23 GPIO.setmode (GPIO.BCM) GPIO.setup (SENSOR_PIN, GPIO.IN) (def my_call) # Здесь также можно запустить приложение / команду и т. Д.print (‘Произошло движение!’) try: GPIO.add_event_detect (SENSOR_PIN, GPIO.RISING, callback = my_callback) while True: time.sleep (100) за исключением KeyboardInterrupt: print “Finish …” GPIO.cleanup () |
Здесь функция устанавливается через GPIO.add_event_detect
, который вызывается, как только течет электричество. Точный функционал можно прочитать здесь. В противном случае вы также можете объявить бесконечный цикл, в котором состояние вывода GPIO запрашивается при каждом вызове.
После сохранения и выхода (CTRL + O, CTRL + X) файл может быть запущен:
судо питон пир.py
Если вы хотите остановить сценарий, вы можете сделать это с помощью CTRL + C.
Мне пришлось немного повернуть потенциометры и проверить, какая настройка работает лучше всего.
Теперь доступно множество приложений или команд, которые запускаются или выполняются, как только детектор движения Raspberry Pi обнаруживает активность. Примерами этого являются системы сигнализации или, в сочетании с официальным модулем сенсорного экрана, автоматическое включение дисплея, как только кто-то приближается к нему.
Один из способов запустить сценарий через автозапуск, я показал здесь.
10+ Руководства по работе с датчиками Raspberry Pi
Вы можете создать несколько удивительных интеллектуальных устройств, которые могут собирать, обрабатывать и отображать данные.
На этой странице вы найдете широкий спектр руководств по некоторым из самых популярных датчиков, которые можно подключить к Raspberry Pi. Каждый датчик обычно подключается по-разному, поэтому важно дважды проверить правильность построения схемы.
Теперь каждый датчик обычно включает в себя немного кода Python, поэтому вы можете извлечь из него правильные данные. Если вы хотите пропустить часть кодирования, то что-то вроде MyDevices Cayenne – отличный способ создавать интеллектуальные приложения с помощью простого интерфейса перетаскивания.
Существует всего тонна датчиков Raspberry Pi, которые вы можете подключить к своему Pi. Сюда входят такие датчики, как фоторезистор, температура, влажность и многое другое. В ближайшем будущем у меня запланировано еще несколько уроков по датчикам.
С помощью датчиков можно создавать широкий спектр проектов Raspberry Pi. Он включает в себя такие проекты, как метеостанция, домашняя автоматизация, регистрация данных, обнаружение движения и многое другое. Теперь, если вам не очень нравятся учебные пособия по датчикам, у меня также есть постоянно растущий диапазон проектов и учебных пособий, которые вы можете делать с Pi. Если вам интересно, то обязательно ознакомьтесь с ними.
Защита вашего Pi очень важна, если вы обнаружите, что он находится в области, где он может быть поврежден.Вы также можете просто захотеть, чтобы он хорошо выглядел. Это ситуации, когда пригодится прочный корпус Raspberry Pi. Существует также широкий спектр других аксессуаров Pi, которые могут вас заинтересовать, чтобы добавить немного больше функциональности к вашему Pi.
Если вы новичок в Pi, возможно, вам будет интересно взглянуть на некоторые из руководств по началу работы с Raspberry Pi. Они познакомят вас с основами настройки и правильной работы Pi. Он будет включать такие темы, как настройка чего-то вроде Raspberry Pi Cayenne для датчиков Pi.
Если вы хотите быть в курсе всех моих последних руководств, проектов, руководств, обзоров и многого другого, не забудьте подписаться на меня в любой из основных социальных сетей. Вы можете найти ссылки на все наиболее важные социальные сети прямо внизу, если вы используете мобильный телефон, или на боковой панели, если вы за компьютером.
Я надеюсь, что вы найдете эти руководства по датчикам Raspberry Pi полезными и что вы сможете правильно подключить датчик без каких-либо проблем.Если все же возникнут проблемы, обязательно оставьте комментарий к соответствующему руководству.
Как использовать датчики температуры и света Raspberry Pi – журнал MagPi
Проекты датчиков температуры и света: вам понадобится
Оба проекта в этом руководстве используют библиотеку PiAnalog Python, которая позволяет подключать аналоговые датчики к Raspberry Pi без специального оборудования.
Хотя эти проекты определяют температуру и свет, вы можете легко адаптировать их для использования других типов или резистивных датчиков, включая датчики напряжения, переменные резисторы и даже некоторые типы датчиков газа.
Проект термометра : Установить код
Перед тем, как получить код из Интернета, вы должны запустить Mu, который вы найдете в разделе «Программирование» главного меню. Если его там нет, обновите свою систему до последней версии Raspbian.
Running Mu обеспечивает создание каталога mu_code, в который мы теперь скопируем программный код. Для этого откройте окно Терминала и выполните команды:
wget http: // monkmakes.ru / downloads / pb1.sh
sh pb1.sh
Это скопирует программы, используемые в этом руководстве, в каталог mu_code вместе с некоторыми другими.Поместите компоненты на макетную плату
Используя рисунок 1 в качестве ориентира, вставьте перемычки в макетную плату в показанных местах. Согните ножки резистора так, чтобы они вошли в отверстия.
Пять отверстий в каждом ряду на макетной плате соединены вместе под пластиком, поэтому очень важно получить правильный ряд для ножки компонента.В этом проекте ни один из компонентов не должен быть особым образом.
Подключите макет к Raspberry Pi
Опять же, используя рисунок 1 в качестве образца, подключите контакты GPIO на Raspberry Pi к макетной плате. Шаблон GPIO упростит эту задачу – если у вас его нет, вам нужно будет тщательно подсчитать положение контактов. Не имеет значения, какого цвета перемычки вы используете, но если вы будете придерживаться цветов, указанных на схеме, будет легче проверить правильность подключения.Запуск программы
Загрузите и запустите программу 05_thermometer.py с помощью Mu.
# 05_thermometer.py
# Из кода набора Box 1 для Raspberry Pi от MonkMakes.com
из импорта PiAnalog *
из приложения Guizero Import, текст
время импорта
p = PiAnalog ()
# Обновить показания температуры
def update_temp ():
температура = p.read_temp_c ()
temperature = "% .2f"% temperature # Округлите температуру до 2 d.p.
temp_text.value = температура
temp_text.после (1000, update_temp)
# Создать графический интерфейс
app = App (title = "Термометр" ,,)
Текст (app, text = "Temp C", size = 32)
temp_text = Текст (app, text = "0.00", size = 110)
temp_text.after (1000, update_temp) # Используется для обновления показаний температуры
app.display ()
Код настроен для термистора, входящего в комплект MonkMakes Project Box 1. Если вы посмотрите в верхнюю часть файла, вы увидите строку:
температура = p.read_temp_c ().
Если вы используете свой собственный термистор, вам нужно будет добавить два новых параметра к вызову метода.Первый параметр – это значение Beta для термистора, а второй – значение R25 (сопротивление при 25 ° C). Вы найдете оба этих значения в техническом описании термистора. Например, если Beta – 3800, а R25 – 1 кОм, вы должны использовать: p.read_temp_c (3800, 1000).
Через несколько секунд появится окно, подобное изображенному на Рисунке 2, в котором отображается температура. Если вы предпочитаете, чтобы температура отображалась в градусах Фаренгейта, запустите программу 05_thermometer_f.py.
Изменение температуры
Самый простой способ изменить температуру термистора – это зажать его между пальцами, чтобы тепло вашего тела согревало его. Когда вы отпустите термистор, вы должны увидеть, как температура постоянно увеличивается, а затем снова падает до комнатной.
Проект люксметра : Отсоедините макетную плату
Этот проект имеет почти такую же компоновку, что и термометр, и мы просто собираемся заменить термистор на фототранзистор, но все же неплохо было бы отключить макетную плату от вашего Raspberry Pi.Сначала снимите перемычки с контактов GPIO на Raspberry Pi, а затем снимите термистор с макета.
Поместите фототранзистор на макетную плату.
На этот раз, руководствуясь рисунком 3, вставьте ножки фототранзистора в макетную плату. Фототранзистор должен идти правильной дорогой: более длинная нога должна переходить в 4 ряд.
Подключите макет к Raspberry Pi
Используя рисунок 3 в качестве образца, подключите контакты GPIO на Raspberry Pi к макетной плате с помощью трех перемычек «мама-папа».
Запуск программы
Чтобы использовать экспонометр, загрузите и запустите программу 08_light_meter.py в Mu.
# 08_light_meter.py
# Из кода набора Box 1 для Raspberry Pi от MonkMakes.com
из приложения Guizero Import, текст
из импорта PiAnalog *
время импорта, математика
p = PiAnalog ()
def light_from_r (R):
# Регистрируем показания, чтобы сжать диапазон
вернуть math.log (1000000.0 / R) * 10.0
# сгруппируйте вместе весь код GUI
# Обновить чтение
def update_reading ():
свет = light_from_r (стр.read_resistance ())
read_str = "{: .0f}". формат (светлый)
light_text.value = чтение_стр
light_text.after (200, update_reading)
app = App (title = "Light Meter" ,,)
Текст (app, text = "Light", size = 32)
light_text = Текст (app, text = "0", size = 110)
light_text.after (200, update_reading)
app.display ()
При запуске программы появится окно, подобное изображенному на Рисунке 4, показывающее уровень освещенности. Попробуйте затенить фототранзистор рукой или посветить на него светом, чтобы увидеть, как меняются показания.
Использование датчиков с Raspberry Pi
Помимо управления выходами с помощью контактов GPIO, Raspberry Pi может собирать данные о внешнем мире с помощью датчиков, давайте рассмотрим некоторые из них.
Одной из мощных функций Raspberry Pi является ряд контактов GPIO (ввода / вывода общего назначения) вдоль верхнего края платы. Эти контакты представляют собой физический интерфейс между Pi и внешним миром. На самом простом уровне вы можете думать о них как о переключателях, которые вы можете включать или выключать (ввод) или что Pi может включать или выключать (вывод).Кнопка – это входной компонент, который вы можете добавить к контактам Raspberry Pi GPIO. Он замкнет цепь при нажатии кнопки. Это означает, что ток не будет течь по кнопке, пока она не будет нажата. Когда он будет выпущен, цепь будет «разорвана». Датчики – это еще один тип входа, который можно подключить к Raspberry Pi. Они могут собирать данные, например, об условиях освещения или температуры, но в основном они работают аналогично кнопке: они предоставляют различные входные данные для Pi в зависимости от того, что происходит снаружи.Другие датчики могут быть добавлены к контактам либо в виде отдельных компонентов, подключенных к контактам GPIO, либо через дополнительную плату, называемую HAT – это название означает «Оборудование, добавленное сверху». Вот несколько других популярных датчиков:Датчики отдельных компонентов
- Пассивный инфракрасный датчик или PIR обнаруживает движение. Вы, наверное, видели это раньше. Чаще всего их можно встретить в углах помещений охранной сигнализации. Каждый объект, температура которого выше абсолютного нуля, излучает инфракрасное (ИК) излучение.Датчик измеряет ИК-сигнатуру комнаты, в которой он находится, а затем отслеживает любые изменения. Любой объект, движущийся по комнате, нарушит ИК-сигнатуру и вызовет изменение, которое будет замечено модулем ИК-излучения.
- A Светозависимый резистор или фотоэлемент – это компонент, сопротивление которого будет изменяться в зависимости от интенсивности падающего на него света. Поэтому его можно использовать для обнаружения изменений в освещении. Они обычно используются с уличным освещением, чтобы включить фонари, когда стемнеет ночью, и выключить, когда становится светло утром.
- Датчик качества воздуха используется для определения качества воздуха путем обнаружения загрязняющих газов. Когда воздух попадает в датчик, он получает питание от небольшого нагревателя, который позволяет измерять его электрическое сопротивление. Это достигается за счет пропускания электричества низкого уровня через небольшой промежуток с воздухом под напряжением. Чем более загрязнен воздух, тем меньше у него сопротивления и тем лучше он будет проводить электричество. Таким образом, выходной сигнал датчика представляет собой аналоговое напряжение, которое повышается и понижается в зависимости от степени загрязнения воздуха.Чем больше загрязняющих веществ, тем ниже разность потенциалов (напряжение) на датчике.
Sense HAT
Плата Sense HAT для Raspberry Pi способна определять широкий спектр условий и обеспечивать вывод через встроенную светодиодную матрицу. Он был разработан специально для Raspberry Pi в рамках образовательной программы Astro Pi, и на борту Международной космической станции есть два, которые могут быть запрограммированы победителями конкурса из разных стран-членов ЕКА. Sense HAT имеет следующие датчики:- Гироскоп измеряет ориентацию объекта.Возможно, вы видели большую настольную игрушку. Он имеет три отдельные оси, указывающие в разных направлениях, поэтому он может обнаруживать поворот во всех трех направлениях. На лодке эти направления называются тангажом (передняя часть лодки качается вверх и вниз), рысканием (передняя часть лодки качается влево и вправо) и крен (лодка катится так, что правая сторона выше или ниже левого).
- Акселерометр измеряет увеличение скорости объекта (ускорение).В состоянии покоя он будет измерять направление и силу тяжести, но в движении он измеряет направление и силу действующего на него ускорения – как если бы вы вращали его вокруг головы на веревке. Поскольку акселерометры могут определять направление силы тяжести, их часто можно найти в устройствах, которым необходимо знать, когда они направлены вниз, например в мобильных телефонах или планшетах. Когда вы поворачиваете экран в сторону, акселерометр внутри определяет, что направление силы тяжести изменилось, и, следовательно, меняет ориентацию экрана.
- Магнитометр используется для измерения силы и направления магнитного поля. Чаще всего их используют для измерения магнитного поля Земли, чтобы определить направление на север. Если в вашем телефоне или планшете есть компас, он, вероятно, будет использовать магнитометр, чтобы найти север. Они также используются для обнаружения возмущений в магнитном поле Земли, вызванных чем-либо магнитным или металлическим; Сканеры в аэропортах используют их, например, для обнаружения металла в скрытом оружии.
- Датчик температуры используется для измерения тепла и холода. Это точно так же, как термометр, который вы кладете в рот, чтобы измерить собственную температуру, за исключением того, что он является электронным, встроенным в Sense HAT и сообщает температуру в виде числа в градусах Цельсия.
- Датчик влажности измеряет количество водяного пара в воздухе. Есть несколько способов его измерения, но наиболее распространенным является относительная влажность. Одно из свойств воздуха состоит в том, что чем он горячее, тем больше водяного пара может находиться в нем во взвешенном состоянии.Таким образом, относительная влажность – это соотношение, обычно в процентах, между фактическим количеством взвешенного водяного пара и максимальным количеством, которое может быть взвешено при текущей температуре. Относительная влажность 100% означает, что воздух полностью насыщен водяным паром и больше не может удерживаться.
- Датчик давления (иногда называемый барометром) измеряет силу, прилагаемую крошечными молекулами воздуха, которым мы дышим. Между молекулами воздуха много пустого пространства, поэтому их можно сжать, чтобы они поместились в меньшее пространство; чем больше воздуха вжимается в пространство, и чем меньше пространство, тем выше давление.Вот что происходит, когда вы надуваете воздушный шар. Воздух внутри воздушного шара слегка сжимается, поэтому молекулы воздуха выталкиваются наружу на эластичную кожу; Вот почему он остается накачанным и кажется твердым, когда вы его сжимаете. Точно так же, если вы всасываете весь воздух из пластиковой бутылки, вы уменьшаете давление внутри нее, и поэтому более высокое давление снаружи раздавливает бутылку.