35 KiB
Взаимодействие с физическим миром с помощью датчиков и исполнительных механизмов
Скетчноут от Nitya Narasimhan. Нажмите на изображение, чтобы увидеть его в большем размере.
Этот урок был проведен в рамках серии Hello IoT от Microsoft Reactor. Урок состоял из двух видео: часового занятия и часового офисного часа, где более подробно рассматривались части урока и отвечались вопросы.
🎥 Нажмите на изображения выше, чтобы посмотреть видео
Предварительный тест
Введение
Этот урок знакомит вас с двумя важными концепциями для вашего IoT-устройства — датчиками и исполнительными механизмами. Вы также получите практический опыт работы с ними, добавив датчик света в ваш IoT-проект, а затем светодиод, управляемый уровнем освещенности, фактически создавая ночник.
В этом уроке мы рассмотрим:
- Что такое датчики?
- Использование датчика
- Типы датчиков
- Что такое исполнительные механизмы?
- Использование исполнительного механизма
- Типы исполнительных механизмов
Что такое датчики?
Датчики — это аппаратные устройства, которые воспринимают физический мир, то есть измеряют одно или несколько свойств вокруг них и передают информацию на IoT-устройство. Существует огромное количество датчиков, так как можно измерять множество вещей — от природных свойств, таких как температура воздуха, до физических взаимодействий, таких как движение.
Некоторые распространенные датчики включают:
- Датчики температуры — измеряют температуру воздуха или объекта, в который они погружены. Для любителей и разработчиков такие датчики часто объединяют с датчиками давления и влажности в одном устройстве.
- Кнопки — фиксируют момент нажатия.
- Датчики света — определяют уровень освещенности и могут быть настроены на определенные цвета, ультрафиолетовый свет, инфракрасный свет или общий видимый свет.
- Камеры — фиксируют визуальное представление мира, делая фотографии или транслируя видео.
- Акселерометры — измеряют движение в нескольких направлениях.
- Микрофоны — фиксируют звук, будь то общий уровень шума или направленный звук.
✅ Проведите исследование. Какие датчики есть в вашем телефоне?
Все датчики имеют одну общую черту — они преобразуют то, что фиксируют, в электрический сигнал, который может быть интерпретирован IoT-устройством. То, как этот сигнал интерпретируется, зависит от датчика, а также от протокола связи, используемого для взаимодействия с IoT-устройством.
Использование датчика
Следуйте соответствующему руководству ниже, чтобы добавить датчик в ваше IoT-устройство:
- Arduino - Wio Terminal
- Одноплатный компьютер - Raspberry Pi
- Одноплатный компьютер - Виртуальное устройство
Типы датчиков
Датчики бывают аналоговыми и цифровыми.
Аналоговые датчики
Некоторые из самых простых датчиков являются аналоговыми. Эти датчики получают напряжение от IoT-устройства, компоненты датчика изменяют это напряжение, и напряжение, возвращаемое датчиком, измеряется для получения значения датчика.
🎓 Напряжение — это мера того, насколько сильно электричество "толкается" из одного места в другое, например, от положительного контакта батареи к отрицательному. Например, стандартная батарея AA имеет напряжение 1,5 В (В — символ вольт) и может "толкать" электричество с силой 1,5 В от положительного контакта к отрицательному. Различное электрическое оборудование требует разного напряжения для работы, например, светодиод может светиться при напряжении от 2 до 3 В, а лампа накаливания мощностью 100 Вт потребует 240 В. Подробнее о напряжении можно прочитать на странице Википедии о напряжении.
Примером аналогового датчика является потенциометр. Это ручка, которую можно вращать между двумя положениями, и датчик измеряет угол поворота.
IoT-устройство отправляет электрический сигнал на потенциометр с определенным напряжением, например, 5 В (5 вольт). Когда потенциометр регулируется, он изменяет напряжение, выходящее с другой стороны. Представьте, что у вас есть потенциометр, обозначенный как ручка, которая вращается от 0 до 11, например, ручка громкости на усилителе. Когда потенциометр находится в полностью выключенном положении (0), то выходит 0 В (0 вольт). Когда он находится в полностью включенном положении (11), выходит 5 В (5 вольт).
🎓 Это упрощенное объяснение, подробнее о потенциометрах и переменных резисторах можно прочитать на странице Википедии о потенциометрах.
Напряжение, выходящее из датчика, затем считывается IoT-устройством, и устройство может на него реагировать. В зависимости от датчика это напряжение может быть произвольным значением или соответствовать стандартной единице измерения. Например, аналоговый датчик температуры на основе термистора изменяет свое сопротивление в зависимости от температуры. Выходное напряжение затем может быть преобразовано в температуру в Кельвинах, а затем в °C или °F с помощью расчетов в коде.
✅ Как вы думаете, что произойдет, если датчик вернет напряжение выше, чем было отправлено (например, от внешнего источника питания)? ⛔️ НЕ тестируйте это.
Преобразование аналогового сигнала в цифровой
IoT-устройства являются цифровыми — они не могут работать с аналоговыми значениями, только с 0 и 1. Это означает, что значения аналоговых датчиков должны быть преобразованы в цифровой сигнал перед обработкой. Многие IoT-устройства имеют аналого-цифровые преобразователи (ADC) для преобразования аналоговых входов в цифровые представления их значений. Датчики также могут работать с ADC через соединительную плату. Например, в экосистеме Seeed Grove с Raspberry Pi аналоговые датчики подключаются к определенным портам на "шляпе", которая устанавливается на Pi и подключается к его GPIO-контактам. Эта "шляпа" имеет ADC для преобразования напряжения в цифровой сигнал, который может быть отправлен через GPIO-контакты Pi.
Представьте, что у вас есть аналоговый датчик света, подключенный к IoT-устройству, которое использует 3,3 В и возвращает значение 1 В. Это 1 В ничего не значит в цифровом мире, поэтому его нужно преобразовать. Напряжение будет преобразовано в аналоговое значение с использованием шкалы, зависящей от устройства и датчика. Например, датчик света Seeed Grove выдает значения от 0 до 1023. Для этого датчика, работающего на 3,3 В, выходное напряжение 1 В будет соответствовать значению 300. IoT-устройство не может работать с 300 как с аналоговым значением, поэтому значение будет преобразовано в 0000000100101100
, двоичное представление числа 300, "шляпой" Grove. Это значение затем будет обработано IoT-устройством.
✅ Если вы не знаете, что такое двоичный код, проведите небольшое исследование, чтобы узнать, как числа представляются с помощью 0 и 1. Урок BBC Bitesize о введении в двоичный код — отличное место для начала.
С точки зрения программирования, все это обычно обрабатывается библиотеками, которые поставляются с датчиками, поэтому вам не нужно беспокоиться о преобразовании самостоятельно. Для датчика света Grove вы бы использовали библиотеку Python и вызвали свойство light
, или использовали библиотеку Arduino и вызвали analogRead
, чтобы получить значение 300.
Цифровые датчики
Цифровые датчики, как и аналоговые, фиксируют окружающий мир, используя изменения электрического напряжения. Разница в том, что они выдают цифровой сигнал, либо измеряя только два состояния, либо используя встроенный ADC. Цифровые датчики становятся все более популярными, чтобы избежать необходимости использования ADC либо в соединительной плате, либо в самом IoT-устройстве.
Самый простой цифровой датчик — это кнопка или переключатель. Это датчик с двумя состояниями: включено или выключено.
Контакты на IoT-устройствах, такие как GPIO, могут измерять этот сигнал напрямую как 0 или 1. Если напряжение, отправленное, совпадает с напряжением, возвращенным, значение считывается как 1, в противном случае — как 0. Нет необходимости преобразовывать сигнал, он может быть только 1 или 0.
💁 Напряжение никогда не бывает точным, особенно поскольку компоненты датчика имеют некоторое сопротивление, поэтому обычно существует допуск. Например, GPIO-контакты Raspberry Pi работают на 3,3 В и считывают возвращенный сигнал выше 1,8 В как 1, ниже 1,8 В как 0.
- 3,3 В подается на кнопку. Кнопка выключена, поэтому возвращается 0 В, значение 0.
- 3,3 В подается на кнопку. Кнопка включена, поэтому возвращается 3,3 В, значение 1.
Более сложные цифровые датчики считывают аналоговые значения, а затем преобразуют их с помощью встроенных ADC в цифровые сигналы. Например, цифровой датчик температуры все еще будет использовать термопару так же, как аналоговый датчик, и все еще будет измерять изменение напряжения, вызванное сопротивлением термопары при текущей температуре. Вместо того чтобы возвращать аналоговое значение и полагаться на устройство или соединительную плату для преобразования в цифровой сигнал, встроенный в датчик ADC преобразует значение и отправляет его в виде серии 0 и 1 на IoT-устройство. Эти 0 и 1 отправляются так же, как цифровой сигнал для кнопки, где 1 — это полное напряжение, а 0 — 0 В.
Отправка цифровых данных позволяет датчикам становиться более сложными и передавать более детализированные данные, даже зашифрованные данные для безопасных датчиков. Примером является камера. Это датчик, который фиксирует изображение и отправляет его в виде цифровых данных, содержащих это изображение, обычно в сжатом формате, таком как JPEG, для считывания IoT-устройством. Она может даже транслировать видео, фиксируя изображения и отправляя либо полное изображение кадр за кадром, либо сжатый видеопоток.
Что такое исполнительные механизмы?
Исполнительные механизмы — это противоположность датчиков. Они преобразуют электрический сигнал от вашего IoT-устройства в взаимодействие с физическим миром, например, излучение света или звука, или движение мотора.
Некоторые распространенные исполнительные механизмы включают:
- Светодиоды (LED) — излучают свет при включении.
- Динамики — излучают звук на основе переданного сигнала, от простого зуммера до аудиодинамика, который может воспроизводить музыку.
- Шаговые двигатели — преобразуют сигнал в определенное количество вращения, например, поворот ручки на 90°.
- Реле — это переключатели, которые можно включать или выключать электрическим сигналом. Они позволяют малому напряжению от IoT-устройства включать более высокие напряжения.
- Экраны — более сложные исполнительные механизмы, которые отображают информацию на многосегментном дисплее. Экраны варьируются от простых светодиодных дисплеев до высококачественных видеомониторов.
✅ Проведите исследование. Какие исполнительные механизмы есть в вашем телефоне?
Использование исполнительного механизма
Следуйте соответствующему руководству ниже, чтобы добавить исполнительный механизм в ваше IoT-устройство, управляемый датчиком, чтобы создать IoT-ночник. Он будет собирать уровни освещенности с датчика света и использовать исполнительный механизм в виде светодиода для излучения света, когда обнаруженный уровень освещенности слишком низкий.
- Arduino - Wio Terminal
- Одноплатный компьютер - Raspberry Pi
- Одноплатный компьютер - Виртуальное устройство
Типы исполнительных механизмов
Как и датчики, исполнительные механизмы бывают аналоговыми и цифровыми.
Аналоговые исполнительные механизмы
Аналоговые исполнительные механизмы принимают аналоговый сигнал и преобразуют его в какое-либо взаимодействие, где взаимодействие изменяется в зависимости от подаваемого напряжения.
Примером является регулируемый свет, такой как те, что могут быть в вашем доме. Количество подаваемого напряжения определяет яркость света.
Как и с датчиками, настоящее IoT-устройство работает с цифровыми сигналами, а не аналоговыми. Это означает, что для отправки аналогового сигнала IoT-устройству нужен преобразователь цифрового сигнала в аналоговый (DAC), либо встроенный в само устройство, либо на плате-коннекторе. Он преобразует 0 и 1 от IoT-устройства в аналоговое напряжение, которое может использовать исполнительный механизм.
✅ Как вы думаете, что произойдет, если IoT-устройство отправит напряжение выше, чем может выдержать исполнительный механизм?
⛔️ НЕ тестируйте это.
Широтно-импульсная модуляция
Другой способ преобразования цифровых сигналов IoT-устройства в аналоговый сигнал — это широтно-импульсная модуляция (PWM). Она заключается в отправке множества коротких цифровых импульсов, которые ведут себя как аналоговый сигнал.
Например, с помощью PWM можно управлять скоростью двигателя.
Представьте, что вы управляете двигателем с питанием 5В. Вы отправляете короткий импульс на двигатель, переключая напряжение на высокий уровень (5В) на две сотых секунды (0,02с). За это время двигатель может повернуться на одну десятую оборота, или 36°. Затем сигнал делает паузу на две сотых секунды (0,02с), отправляя низкий сигнал (0В). Каждый цикл включения и выключения длится 0,04с. Цикл повторяется.
Это означает, что за одну секунду вы отправляете 25 импульсов напряжения 5В длительностью 0,02с, которые вращают двигатель, каждый из которых сопровождается паузой 0,02с с напряжением 0В, когда двигатель не вращается. Каждый импульс поворачивает двигатель на одну десятую оборота, что означает, что двигатель завершает 2,5 оборота в секунду. Вы использовали цифровой сигнал, чтобы вращать двигатель со скоростью 2,5 оборота в секунду, или 150 оборотов в минуту (нестандартная мера угловой скорости).
25 pulses per second x 0.1 rotations per pulse = 2.5 rotations per second
2.5 rotations per second x 60 seconds in a minute = 150rpm
🎓 Когда сигнал PWM включен половину времени, а выключен другую половину, это называется рабочим циклом 50%. Рабочие циклы измеряются как процент времени, когда сигнал находится в состоянии включения, по сравнению с состоянием выключения.
Вы можете изменить скорость двигателя, изменив размер импульсов. Например, с тем же двигателем вы можете сохранить тот же цикл времени 0,04с, уменьшив импульс включения до 0,01с и увеличив паузу выключения до 0,03с. У вас будет то же количество импульсов в секунду (25), но каждый импульс включения будет вдвое короче. Импульс половинной длины поворачивает двигатель на одну двадцатую оборота, и при 25 импульсах в секунду двигатель завершает 1,25 оборота в секунду или 75 об/мин. Изменяя скорость импульсов цифрового сигнала, вы уменьшили скорость аналогового двигателя вдвое.
25 pulses per second x 0.05 rotations per pulse = 1.25 rotations per second
1.25 rotations per second x 60 seconds in a minute = 75rpm
✅ Как бы вы обеспечили плавное вращение двигателя, особенно на низких скоростях? Вы бы использовали небольшое количество длинных импульсов с длинными паузами или множество очень коротких импульсов с очень короткими паузами?
💁 Некоторые датчики также используют PWM для преобразования аналоговых сигналов в цифровые.
🎓 Вы можете узнать больше о широтно-импульсной модуляции на странице Wikipedia о широтно-импульсной модуляции.
Цифровые исполнительные механизмы
Цифровые исполнительные механизмы, как и цифровые датчики, либо имеют два состояния, управляемые высоким или низким напряжением, либо имеют встроенный DAC, который может преобразовывать цифровой сигнал в аналоговый.
Простой цифровой исполнительный механизм — это светодиод. Когда устройство отправляет цифровой сигнал 1, подается высокое напряжение, которое зажигает светодиод. Когда отправляется цифровой сигнал 0, напряжение падает до 0В, и светодиод выключается.
✅ Какие еще простые двухсостояния исполнительные механизмы вы можете придумать? Один пример — это соленоид, который является электромагнитом, который можно активировать для выполнения таких действий, как перемещение дверного болта для блокировки/разблокировки двери.
Более сложные цифровые исполнительные механизмы, такие как экраны, требуют отправки цифровых данных в определенных форматах. Обычно они поставляются с библиотеками, которые упрощают отправку правильных данных для их управления.
🚀 Задание
Задание из последних двух уроков заключалось в том, чтобы перечислить как можно больше IoT-устройств, которые находятся у вас дома, в школе или на рабочем месте, и определить, построены ли они на микроконтроллерах или одноплатных компьютерах, или даже на их смеси.
Для каждого устройства, которое вы перечислили, какие датчики и исполнительные механизмы к ним подключены? Какова цель каждого датчика и исполнительного механизма, подключенного к этим устройствам?
Викторина после лекции
Обзор и самостоятельное изучение
- Ознакомьтесь с электричеством и схемами на ThingLearn.
- Узнайте о различных типах датчиков температуры в руководстве по датчикам температуры от Seeed Studios.
- Прочитайте о светодиодах на странице Wikipedia о светодиодах.
Задание
Исследуйте датчики и исполнительные механизмы
Отказ от ответственности:
Этот документ был переведен с помощью сервиса автоматического перевода Co-op Translator. Несмотря на наши усилия обеспечить точность, автоматические переводы могут содержать ошибки или неточности. Оригинальный документ на его родном языке следует считать авторитетным источником. Для получения критически важной информации рекомендуется профессиональный перевод человеком. Мы не несем ответственности за любые недоразумения или неправильные интерпретации, возникшие в результате использования данного перевода.