Оглавление:

Easy Tutorial: Flex Sensors с Arduino: 4 шага
Easy Tutorial: Flex Sensors с Arduino: 4 шага

Видео: Easy Tutorial: Flex Sensors с Arduino: 4 шага

Видео: Easy Tutorial: Flex Sensors с Arduino: 4 шага
Видео: #120 - How to use flex sensor with arduino 2024, Июль
Anonim
Image
Image

Датчики Flex - это круто!

Я постоянно использую их в своих проектах по робототехнике, и я подумал о том, чтобы сделать простые небольшие уроки, чтобы вы, ребята, познакомились с этими гибкими маленькими полосками. Давайте поговорим о том, что такое гибкий датчик и как он работает, как подключить его к Arduino, как написать для него код и, наконец, как протестировать и успешно внедрить его в свой проект. Теперь я знаю, что некоторые из вас не заядлые читатели, а некоторые хотели бы увидеть это в действии. В этом случае посмотрите видео с полным руководством по датчику гибкости в действии внутри Ironman Repulsor, который я сделал.

Шаг 1. Что такое гибкий датчик и как он работает

Что такое гибкий датчик и как он работает
Что такое гибкий датчик и как он работает
Что такое гибкий датчик и как он работает
Что такое гибкий датчик и как он работает

Сенсоры Flex выглядят сложными, но на самом деле это просто проводящая резиновая полоса между двумя металлическими покрытиями. Ага, вот и все!

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

Все просто, а? Подключим.

Шаг 2: подключение к Arduino

Подключение к Arduino
Подключение к Arduino
Подключение к Arduino
Подключение к Arduino
Подключение к Arduino
Подключение к Arduino

На гибком датчике есть 2 контакта, один из которых подключается к 3,3 В или 5 В на Arduino для питания, а другой подключен к земле. Но есть еще кое-что - заземление разделено, и один провод идет к входному контакту Arduino, в моем Arduino uno здесь это A1. Важная часть заключается в том, что между выводом A1 и землей есть резистор. Величина резистора определяет, насколько чувствителен ваш гибкий датчик. Резистор 1 кОм - хорошая отправная точка, но вы можете поиграть со значениями, чтобы достичь нужной чувствительности.

Выполнено. Давайте посмотрим на набросок и проверим нашу гибкость в Ironman Repulsor.

Шаг 3: Код

Код
Код

Следующий код взят из Sparkfun, но его можно изменить:

/ *********************************************** **************************** Flex_Sensor_Example.ino Пример эскиза гибких датчиков SparkFun (https://www.sparkfun.com/products / 10264) Джим Линдблом @ SparkFun Electronics 28 апреля 2016 г.

Создайте схему делителя напряжения, объединяющую датчик изгиба с резистором 47 кОм. - Резистор должен подключаться от A1 к GND. - Датчик изгиба должен подключаться от A1 к 3,3 В. По мере увеличения сопротивления датчика изгиба (то есть он изгибается) напряжение на A1 должно уменьшаться.

Особенности среды разработки: Arduino 1.6.7 **************************************** ************************************

/ const int FLEX_PIN = A1;

// Вывод подключен к выходу делителя напряжения

// Измерьте напряжение при 5 В и фактическое сопротивление вашего

// резистор 47 кОм и введите их ниже: const float VCC = 4.98;

// Измеренное напряжение линии Ardunio 5V const float R_DIV = 47500.0;

// Измеренное сопротивление резистора 3,3 кОм

// Загрузите код, затем попытайтесь настроить эти значения на большее

// точно рассчитать степень изгиба. const float STRAIGHT_RESISTANCE = 37300.0;

// сопротивление при прямой const float BEND_RESISTANCE = 90000.0;

// сопротивление при 90 градусах

установка void ()

{Serial.begin (9600);

pinMode (FLEX_PIN, ВХОД); }

пустой цикл ()

{// Считываем АЦП и вычисляем по нему напряжение и сопротивление

int flexADC = analogRead (FLEX_PIN);

float flexV = flexADC * VCC / 1023.0;

float flexR = R_DIV * (VCC / flexV - 1.0);

Serial.println («Сопротивление:» + String (flexR) + «Ом»);

// Используем рассчитанное сопротивление для оценки датчика

// угол сгиба:

float angle = map (flexR, STRAIGHT_RESISTANCE, BEND_RESISTANCE, 0, 90.0); Serial.println ("Изгиб:" + строка (угол) + "градусы");

Serial.println ();

задержка (500); }

Шаг 4: Тест

Тестовое задание
Тестовое задание

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

Надеюсь, вам понравился этот урок. Отправляйтесь в Fungineers. Есть много Arduino и других проектов, которые вам понравятся:)

Рекомендуемые: