Está en la página 1de 6

27/11/2017 Hacer un encoder óptico con un optointerruptor y Arduino

       

LUIS LLAMAS
Ingeniería, informática y diseño

TUTORIALES ARDUINO TUTORIALES ARDUINO INTERMEDIOS

HACER UN ENCODER ÓPTICO CON UN


OPTOINTERRUPTOR Y ARDUINO

10 JUNIO, 2016

     

¿QUÉ ES UN OPTOINTERRUPTOR?
Un optointerruptor es un sensor con forma de “U” que permite
detectar un objeto que atraviesa el dispositivo por la ranura interior.

Los optointerruptores son sensores sencillos. Uno de los extremos


contiene un diodo emisor de infrarrojos, mientras que el otro contiene un
fototransitor que recibe la señal. Cuando un objeto pasa por la ranura

https://www.luisllamas.es/usar-un-optointerruptor-con-arduino/ 1/6
27/11/2017 Hacer un encoder óptico con un optointerruptor y Arduino

interrumpe el rayo de luz infrarroja, lo que es detectado por el


fototransitor.

Los optointerruptores son muy empleados como encoder para


detectar la velocidad de giro y posición del eje de un motor. Para ello se
emplea un disco con ranuras acoplado al eje. También es posible emplear
una lámina transparente sobre la que se imprimen franjas negras, algo que
encontramos frecuentemente en impresoras.

Además de como encoder, un optointerruptor puede ser empleado


para detectar cualquier tipo de objecto que interrumpa el rayo como, por
ejemplo, para detectar el cierre de una puerta, o como n de carrera óptico
en el desplazamiento de una máquina.

Otro sensor ampliamente empleado para realizar encoders y

 tacómetros es un sensor hall, como vimos en la entrada Detectar


cambos magnéticos con Arduino y sensor hall A3144

PRECIO
Podemos encontrar placas con optoacoplador por unos por 0,60€ en
vendedores internacionales de eBay y AliExpress.

No son componentes fáciles de encontrar porque cada vendedor le


pone un nombre diferente y las traducciones de estas páginas son
bastante malas. Probar buscando “photo interrupter” o “sensor velocidad
arduino” o “sensor ranurado arduino”

https://www.luisllamas.es/usar-un-optointerruptor-con-arduino/ 2/6
27/11/2017 Hacer un encoder óptico con un optointerruptor y Arduino

También podemos encontrar optointerruptores en montajes de 2 o 4


canales. En general suelen ser más caros que comprarlos sueltos y no
hay ninguna ventaja en tenerlos en un mismo dispositivo así que, en
general, no son recomendables.

Al ser un sensor sencillo también podemos montarlo nosotros


mismos. En general no merece la pena ya que sólo los componentes nos
costarían más, sin contar el tiempo necesario y la calidad que podríamos
obtener, por lo que lo normal es que usemos un modelo comercial.

Ensamblar nuestro propio sensor solo tiene sentido cuando, por la


ubicación en la que tenga que ser montado el sensor, no dispongamos de
espacio para alojar una placa comercial y nos veamos obligados a integrar
el componente.

ESQUEMA ELÉCTRICO
Si usáis una placa comercial, que como hemos dicho en general es
recomendable, el montaje de un optointerruptor a Arduino es realmente
sencillo. Alimentamos el módulo a través de Vcc y GND conectándolos,
respectivamente, a la salida de 5V y GND en Arduino.

Por otro lado conectamos la salida digital del sensor a una entrada
digital para leer el estado del sensor.

https://www.luisllamas.es/usar-un-optointerruptor-con-arduino/ 3/6
27/11/2017 Hacer un encoder óptico con un optointerruptor y Arduino

Si os decidís por hacer todo el montaje vosotros mismos, el esquema


eléctrico tampoco es complicado. Simplemente necesitamos alimentar el
módulo correctamente, respetando el esquema del componente. Como
véis, el sentido de alimentación de ambas ramas suele estar invertido.
Consultar el Datasheet de vuestro optoacoplador para veri car su patillaje.

Alimentamos al fotodiodo a través de una resistencia para limitar su


corriente, como vimos en Encender un Led con Arduino. En la rama del
fototransistor empleamos una resistencia de pull-down para leer el estado
del sensor, como vimos en Leer un pulsador con Arduino

EJEMPLOS DE CÓDIGO
Tenemos varias opciones para leer un optointerruptor con Arduino. Si
estamos detectando la presencia de un objeto, simplemente leemos el

https://www.luisllamas.es/usar-un-optointerruptor-con-arduino/ 4/6
27/11/2017 Hacer un encoder óptico con un optointerruptor y Arduino

estado de la entrada digital, tal y como vimos en la entrada Entradas


digitales en Arduino.

Cuando el sensor se dispara, ejecutamos las acciones necesarias,


cómo incrementar un contador, o medir el tiempo entre disparos.

1 const int sensorPin = 9;


2
3 void setup() {
4 Serial.begin(9600); //iniciar puerto serie
5 pinMode(pin, INPUT); //definir pin como entrada
6 }
7
8 void loop(){
9 int value = 0;
10 value = digitalRead(sensorPin ); //lectura digital de pin
11
12 if (value == LOW) {
13 Serial.println("Optointerruptor activado");
14 }
15 delay(1000);
16 }

Sin embargo, en el caso de usar el optointerruptor como encoder lo


normal es que empleemos las interrupciones de Arduino, lo que nos
simpli cará considerablemente el código. El punto negativo es que
tendremos que hacer debounce a las entradas y que Arduino UNO y Nano
solo tenemos dos interrupciones externas, lo cuál en algunos vehículos se
nos quedará corto.

Para más información consultar la entrada Qué son y cómo usar


 interrupciones en Arduino y Leer un pulsador con interrupciones en
Arduino

Si te ha gustado esta entrada y quieres leer más sobre Arduino


 puedes consultar la sección Tutoriales de Arduino

 Arduino,Arduino intermedio,Movimiento,Optico,Sensores

PREVIOUS

CONTROLAR UN SERVO CON ARDUINO

NEXT

MEDIR DISTANCIAS CON ARDUINO Y SENSOR SHARP


GP2Y0A02YK0F

TAMBIÉN TE PUEDE GUSTAR


https://www.luisllamas.es/usar-un-optointerruptor-con-arduino/ 5/6
27/11/2017 Hacer un encoder óptico con un optointerruptor y Arduino

LIBRERÍA ARDUINO ASYNCSTEPPER

TORRETA SERVO CONTROLADA POR ARDUINO: PROGRAMACIÓN

LIBRERÍA ARDUINO SIMPLESTEPPER

https://www.luisllamas.es/usar-un-optointerruptor-con-arduino/ 6/6

También podría gustarte