цифровая электроника
вычислительная техника
встраиваемые системы

 

Arduino и датчик изгиба

Автор: Mike(admin) от 20-04-2017, 19:55

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


Arduino и датчик изгиба

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


Запатентованная технология Flex-датчика основана на резистивных углеродных элементах. Благодаря тому, что это переменный печатный резистор, его можно сделать довольно длинным на тонкой гибкой подложке. Когда подложка согнута, на выходе датчика присутствует некоторое сопротивление, соответствующее с радиусу изгиба. Иными словами, гибкие датчики являются аналоговыми резисторами, которые работают в составе переменных аналоговых делителей напряжения. Обычно в конфигурации делителя напряжения и используется гибкий датчик, как это показано ниже.


Arduino и датчик изгиба

Перед работой с датчиком следует учесть один момент. Хотя активная часть датчика (область между черными квадратами) достаточно прочная, ее выводы подвержена излому. Рекомендуется усилить или закрепить эту область (например, зажать или склеить датчик на черном квадрате, расположенном ближе к контактам), чтобы убедиться, что она не сгибается вместе с остальной частью датчика.


Для считывания данных с датчика подойдет обычная функция analogRead(). В данном проекте используются красный, зеленый и синий светодиоды, которые подключены к выводам Arduino под номерами 4, 3 и 2 соответственно. Они позволяют индицировать три уровня изгиба датчика. При отсутствии изгиба датчика светится только синий светодиод, тогда как небольшой изгиб зажигает зеленый светодиод. При большой степени изгиба загорается красный светодиод, а остальные два светодиода гаснут. Вывод с делителя напряжения подключается к линии A1 платы Arduino. Вся схема подключения показана на рисунке ниже.


Arduino и датчик изгиба - схема подключения

Далее приведен код (скетч) для работы Arduino с датчиком изгиба.



#define blue 2
#define green 3
#define red 4
unsigned int f;
void setup()
{
  pinMode(blue,OUTPUT);
  pinMode(green,OUTPUT);
  pinMode(red,OUTPUT);
  Serial.begin(9600);
}
void loop()
{
  f=analogRead(1);
  Serial.println(f);
  if(f>300)                          //Изгиба нет; загорается синий светодиод
    {
      digitalWrite(blue,HIGH);
      digitalWrite(green,LOW);
      digitalWrite(red,LOW);
    }
  else if((f<300)&&(f>260))          // Небольшой изгиб; загорается зеленый светодиод
    {
     digitalWrite(green,HIGH);
     digitalWrite(blue,LOW);
     digitalWrite(red,LOW);
    }
  else                              // Большой изгиб; загорается красный светодиод
    {
      digitalWrite(red,HIGH);
      digitalWrite(green,LOW);
      digitalWrite(blue,LOW);
    }
    delay(50);
}



© digitrode.ru


Теги: Arduino, датчик изгиба



Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий