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

Резистивный датчик давления и Arduino

Резистивные датчики давления (Force Sensitive Resistors(FSRs)) – это датчики, которые позволяют вам оценить уровень давления, силу нажатия и вес.

Они просты в использовании и недорого стоят. Ниже приведено фото датчика силы от Interlink, модель 402. Чувствительный элемент – окружность диаметром 1/2 дюйма.

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

Резистивные датчики давления по по сути являются резисторами, которые меняют значение своего сопротивления (в Ом) в зависимости от силы нажатия на чувствительный элемент. Эти сенсоры недорогие, легки в использовании, но не очень точные. Разброс в точности показаний подобных датчиков давления может составлять до 10%. То есть, подобные датчики не помогут вам точно определить силу (или вес), но однозначно дадут понять, приложено ли усилие на чувствительный элемент.

В любом случае, такие датчики силы отлично подойдут для проектов на Arduino вроде “была ли приложена нагрузка и примерно какая она была”.

Основные технические характеристики резистивных датчиков давления

Эти характеристики относятся к модели датчика давления Interlink 402, но практически все остальные датчики (недорогой Китай в том числе) обладают похожими параметрами. Естественно, уточнение характеристик по даташиту вашей модели не помешает.

  • Размер: 1/2″ (12.5 мм) чувствительной поверхности. Толщина – 0.02″ (Interlink выпускает некоторые модели, размер которых составляет 1.5″x1.5″)
  • Цена: около 7 долларов от западных производителей. 2-3 доллара в Китае.
  • Диапазон сопротивлений: бесконечность/разомкнутая цепь (нет внешнего давления), от 100 КОм (легкое давление) до 200 Ом (максимальное давление)
  • Диапазон силы: от 0 до 20 lb. (0 – 100 Ньютонов) на каждый 0.125 квадратный дюйм поверхности
  • Источник питания: любой! Использует силу тока менее 1 мА (зависит от резисторов и напряжения питания)

Как измерять силу/давление с помощью резистивного датчика давления

Как было сказано выше, сопротивление резистивного датчика давления меняется в зависимости от приложенного давления. Когда внешняя нагрузка отсутствует, сенсор представляет из себя резистор с бесконечным сопротивлением (не замкнутая цепь). С увеличением давления, сопротивление уменьшается. На графике ниже приведены приблизительные значения сопротивления датчика в зависимости от приложенной силы (обратите внимание, что сила не измеряется в граммах. Эти значения соответствуют Н*100!).

Вы заметили, что зависимость нелинейная? То есть, при измерении небольшой силы, значения очень быстро переходят от бесконечности к 100 КОм.

Проверка резистивного датчика давления

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

Подключение резистивного датчика давления

Так как резистивные датчики давления по сути являются резисторами, у них нет полярности. Это значит, что вы вы можете подключать контакты, не выясняя, где минус, а где плюс.

Резистивные датчики давления часто изготавливаются из полимера с токопроводящим покрытием. Один из самых лучших и простых вариантов – установить сенсор на монтажную плату:

Можно использовать клипсы (“крокодилы”) или разъемы мама-мама:

Еще один вариант – блок терминалов как на рисунке снизу:

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

Использование резистивного датчика давления с Arduino

Считывание аналоговых значений

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

В примере на рисунке выше используется источник питания 5 В с Arduino. Не забывайте, что вы с тем же успехом можете использовать контакт 3.3 В. В нашем примере аналоговые значения напряжения будут находится в диапазоне от 0 В (земля) до 5 В (такое же значение, что и напряжение источника питания).

Работает это следующим образом: когда сопротивление резистивного датчика давления уменьшается, общее сопротивление датчика и понижающего резистора уменьшается от 100 КОм до 10 КОм. Это значит, что ток, проходящий через оба резистора, увеличивается. Соответственно, будет увеличиваться и напряжение на резисторе 10 КОм.

В таблице выше приведены приблизительные значения аналогового напряжения при работе резистивного датчика давления с питанием от 5 В и понижающим резистором 10 КОм в электрической цепи.

Обратите внимание, что приведенная методика использует линейную зависимость сопротивления, но не обеспечивает линейную характеристику изменения напряжения! Это происходит из-за того, что уравнение для расчета напряжения имеет вид:

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

Простой пример использования резистивного датчика давления с Arduino

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

В скетче, который приведен ниже, считываются аналоговые значения с резистивного датчика давления и используются для управления яркостью светодиода на 11 пине Arduino. Чем сильнее вы будете давить на сенсор, тем ярче будет гореть светодиод! Обратите внимание, что светодиод необходимо подключать к ШИМ контакту на Arduino. 11 – ШИМ на Arduino Uno.

/* проверка работы датчика силы.

Подключите один контакт датчика силы к 5 В, второй – к аналоговому пина Arduino Analog 0.

Потом подключите один конец резистора 10 КОм между аналоговым пином 0 и землей. Подключите светодиод через резистор к земле.

Для более детальной информации смотрите статью на сайте: www.ladyada.net/learn/sensors/fsr.html */

int fsrAnalogPin = 0; // датчик силы подключен к пину analog 0

int LEDpin = 11; // подключаем красный светодиод к контакту 11 (ШИМ выход)

int fsrReading; // аналоговые значения с датчика силы

Serial.begin(9600); // будем отправлять информацию в серийный монитор в Arduino IDE

// надо масштабировать диапазон аналоговых значений (0-1023) к диапазону,

// который используется функцией analogWrite (0-255) с помощью команды map!

LEDbrightness = map(fsrReading, 0, 1023, 0, 255);

// светодиод горят ярче, если вы прилагаете большую нагрузку

Простой скетч для измерения аналоговых значений с резистивного датчика давления

Ниже приведен скетч для снятия аналоговых значений с резистивного датчика давления с использованием Arduino Uno.

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

/* простой скетч для проверки работоспособности датчика силы

Подключите один контакт датчика силы к источнику питания, второй – к контакту Analog 0 на Arduino.

После этого подключите резистор на 10 КОм от пина Analog 0 к пину GND

Более детальная информация на: /arduino-rezistivnyy-datchik-davleniya */

int fsrPin = 0; // датчик силы и понижающий резистор на 10 КОм подключены к a0

int fsrReading; // переменная для хранения аналоговых значений с датчика силы

// передаем информацию на серийный монитор Arduino IDE

Serial.print(fsrReading); // последовательность аналоговых значений

// выставляем несколько диапазонов с соответствующими сообщениями

Включение светодиода кнопкой Ардуино

Ардуино кнопка и светодиод ► рассмотрим несколько примеров: включение и выключение светодиода от кнопки, управление яркостью и мигание светодиода Arduino.

Включение светодиода кнопкой Ардуино можно осуществить различными способами — можно управлять светодиодом одной или двумя кнопками, а можно плавно менять яркость светодиода. Рассмотрим, все варианты подключения кнопки и светодиода к плате Arduino Uno с примерами программ. Рассмотрев представленные скетчи, вы сможете использовать в своих проектах тактовые кнопки для управления Ардуино.

Подключение кнопки и светодиода к Ардуино

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

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

Как подключить кнопку и светодиод к Ардуино

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • светодиод;
  • 2 резистора 220 Ом;
  • 2 тактовых кнопки;
  • провода «папа-папа».

Схема для включения/выключения светодиода кнопкой от Ардуино

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

Скетч. Управление светодиодом Ардуино через кнопку

Пояснения к коду:

  1. boolean — это глобальная переменная Ардуино, которая может принимать всего два значения – true (истина) и false (ложь);
  2. задержка delay(10); в программе позволяет избежать «дребезг контактов» кнопки и исключить ложное срабатывание.

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

Скетч. Управление двумя кнопками одним светодиодом

Пояснения к коду:

  1. данный пример программы позволяет включать светодиод нажатием одной кнопки и выключать светодиод нажатием второй кнопки;
  2. задержка Ардуино delay(10); позволяет избежать «дребезг контактов» кнопки и исключить возможность ложного срабатывания.

Следующий пример тоже потребует для подключения к Ардуино две кнопки, два светодиода, как на предыдущей схеме. Но вместо простого включения/выключения диода, мы будем увеличивать и уменьшать яркость светодиода с помощью ШИМ сигнала микроконтроллера. Загрузите пример программы для «Светодиод и кнопка Ардуино ШИМ», чтобы получить понятие о принципе работы кнопки с Arduino Uno.

Скетч. Управление яркостью светодиода кнопкой Ардуино

Пояснения к коду:

  1. для подключения светодиода следует использовать пин с ШИМ модуляцией;
  2. начальное значение яркости int brightness равен ста, в программе прирост и уменьшение яркости (20) можно поменять по своему усмотрению.

Заключение. Мы рассмотрели сразу несколько примеров для управления светодиодом Ардуино с помощью кнопки. Вы узнали, что светодиодом можно управлять с помощью одной кнопки, или производить включение/выключение двумя кнопками. Кроме того, можно менять яркость с помощью кнопки и ШИМ сигнала. Все рассмотренные примеры можно использовать в различных проектах на Arduino для начинающих.

Подключение светодиода к Ардуино

Как подключить светодиод к Ардуино ► через резистор. Подробная инструкция по началу работы с микроконтроллером и скетч для мигания светодиода на Arduino UNO.

Рассмотрим, как подключить светодиод к Ардуино через резистор. Мигание светодиодом — это самая простая программа (скетч) для начала работы с микроконтроллером. Далее размещена подробная инструкция по сборке схемы со светодиодом и резистором, правила загрузки программы в плату Arduino UNO и приведен скетч для мигания светодиода на Arduino UNO с комментариями.

Назначение и устройство светодиода

Светодиоды — это полупроводниковые элементы, которые служат для индикации и освещения. Они имеют полярность (+ и ) и чувствуют направление движения постоянного тока. Если подключить светодиод неправильно, то постоянный ток не пройдет и прибор не засветится. Кроме того, светодиод может выйти из строя при неправильном подключении. Анод (длинная ножка светодиода) подключается к плюсу.

Фото. Устройство светодиода и резистора в разрезе

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

Как подключить светодиод к Arduino

Для занятия нам понадобятся следующие детали:

  • плата Arduino Uno / Arduino Nano / Arduino Mega;
  • макетная плата;
  • 2 светодиода и 2 резистора 220 Ом;
  • провода «папа-папа».

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

Быстрая сборка схем на макетной плате

Соберите схему подключения светодиода к Arduino, как на фото ниже

Для чего светодиод включают к Ардуино с резистором? Дело в том, что в светодиоде стоит кристалл который боится больших токов. Резистор призван ограничивать силу тока (Амперы), чтобы светодиод не перегорел. Большой ток губителен для светодиода, меньший ток (благодаря подключению резистора) обеспечивает длительную работу. Чтобы подключить светодиод к Ардуино без резистора, используйте 13 порт.

Подключите плату Arduino к компьютеру при помощи USB провода

Если у вас не установлена программа Arduino IDE, то скачайте последнюю версию на официальном сайте www.arduino.cc. С помощью USB кабеля производится запись программ, также плата получает питание от компьютера. Если требуется автономная работа электронного устройства, то плату можно запитать от батарейки или блока питания на 7-12 В. При подаче питания на плате загорится светодиод индикации.

Откройте программу Arduino IDE и проверьте подключение платы

Шаг 1. Зайдите в основном меню «Инструменты -> Плата». Если плата Arduino определилась неправильно, то выберите необходимый тип, например, Arduino Uno.

Шаг 2. Установите порт (кроме COM1) подключения в меню «Инструменты -> Порт», так как при подключении Ардуино к ПК создается виртуальный COM-порт.

Убедитесь, что программа определила порт подключения Ардуино

Скетч для включения светодиода от Ардуино

Скопируйте код под фото и вставьте свой первый скетч в программу

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

Загрузите скетч в Arduino, нажав на кнопку «Вгрузить» (смотри фото)

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

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

Датчик давления Arduino: используем как переключатель

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

Комплектующие

Для осуществления проекта датчика давления с Ардуино нам пригодится набор деталей.

  • 1х – Датчик давления IEFSR
  • 1х – Cветодиод
  • 1х – Резистор 547 Ом
  • 1х – Резистор 10k
  • 5х – Провода
  • 1х – Arduino
  • 1х – Макетная плата

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

Как всё подключено вы можете посмотреть на фото выше. Подключите датчик давления к источнику питания 5В Arduino, затем подключите другой штырь к резистору 10к, а затем к земле (GND).

Подключите тот же контакт к A0.

Затем подключите другой резистор к одному из цифровых портов (в нашем случае использован 6-ой без особых причин). Соедините светодиод последовательно, а затем подключите его к земле (GND). Все основные соединения датчика давления и Ардуино настроены.

Программирование

После настройки схемы откройте программу Arduino IDE на своем компьютере и убедитесь, что выбран правильный Arduino, а также COM-порт.

Вы можете скопировать или скачать код ниже.

Основная идея заключается в том, что Arduino будет настраивать контакты как OUTPUT и INPUT, а также использовать информацию, поступающую с пина A0, чтобы сообщить на выход 6, что делать. К сожалению, этот урок не покажет вам, как сделать светодиод ярче относительно давления, но сделает светодиод ярче с течением времени, пока датчик нажат.

Тестирование

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

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

Источники:

http://xn--18-6kcdusowgbt1a4b.xn--p1ai/%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81%D0%B2%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D0%BE%D0%B4%D0%B0-%D0%BA%D0%BD%D0%BE%D0%BF%D0%BA%D0%BE%D0%B9/

http://xn--18-6kcdusowgbt1a4b.xn--p1ai/%D1%81%D0%B2%D0%B5%D1%82%D0%BE%D0%B4%D0%B8%D0%BE%D0%B4-%D0%B0%D1%80%D0%B4%D1%83%D0%B8%D0%BD%D0%BE/

http://arduinoplus.ru/arduino-datchik-davlenia/

http://roboforum.ru/forum86/topic9497.html

Ссылка на основную публикацию