Control e robótica

tecnoloxia.org

Sensor flex

Descrición

240px-flex_sensor

[By SparkFun Electronics CC BY from Wikimedia]

O sensor flex ou sensor de flexión é un sensor que incrementa a súa resistencia cando é flexionado. Hai que flexionalo co lado raiado por fóra.

Consiste nunha tira de plástico cun revestimento condutor. Cando o sensor está recto o recubrimento ten unha determinada resistencia, pero cando se dobra as partículas do revestimento sepáranse aumentando a súa resistencia.

Pódese utilizar para detectar o movemento dos dedos dentro dunha luva, a posición da bisagra dunha porta, etc.

Montaxe

[tecnoloxia.org CC By-SA]

Necesitamos un sensor flex, unha resistencia de 10kΩ e un servomotor.

O pin do sinal do servo conectarémolo a unha saída dixital pwm (pin 6) e o sensor flex a unha entrada analóxica (A0) coa resistencia de 10kΩ, pudendo utilizar calquera dos dous esquemas da imaxe da dereita (pull-up ou pull-down). No exemplo utilizamos o primeiro:

flex_fritzing

[tecnoloxia.org CC By-SA from Fritzing]

Programas

Na primeira práctica “Valores” imos ver que valores nos dá o sensor con distintos niveis de curvatura. Despois, na práctica “Servo” utilizaremos eses valores para mover un servo en función da flexión do sensor.

1. Valores

Mediante este programa imos ver os valores que nos dá o noso sensor de flexión. Este paso previo é necesario antes de utilizar o sensor para establecer o rango que se pode utilizar. Aquí imos fixarnos nos valores mínimo e máximo, pero pode que para o teu proxecto necesites apuntar outros valores intermedios.

Na proba realizada co sensor do que dispoño, e conectado segundo o esquema 1, o resultado foi o seguinte: mínimo= 760 e máximo= 975

2. Servo

Queremos mover un servo en función da flexión que teña o sensor. Podes repasar aquí e aquí o funcionamento dos servos.

Cando o sensor estea estirado o servo estará na posición de 0º, e cando estea completamente curvado o servo situarase na posición de 180º. Imos utilizar como referencia as medidas tomadas na práctica anterior (mínimo= 760 e máximo= 975).  Cambia estes valores segundo fosen os teus resultados.

Utilizamos a función map(value, fromLow, fromHigh, toLow, toHigh) para establecer a correlación entre os valores do sensor  e o ángulo de xiro do servo.

A función map podería devolver números fóra do rango. Para asegurarnos de que o xiro sempre quede comprendido entre 0 e 180 utilizamos a función constrain(x, a, b). Se o valor queda fóra do rango substitúeo polo valor máis baixo ou máis alto, segundo proceda.

Propostas

  1. LEDs. Fai que a medida que imos curvando un sensor de flexión se vaian acendendo sucesivamente un LEDs. Cando chega á curvatura máxima soa un zumbador de alarma.
  2. Outra idea: Dancing robot
Dancing robot

Dancing robot

 

Tweet about this on TwitterShare on FacebookShare on Google+Email this to someone


     

Deixa unha resposta

Required fields are marked *.