X

Al usar esta página web, aceptas nuestro uso de cookies. Usamos cookies para ofrecerte una mejor experiencia y para ayudar a que tu página funcione de manera efectiva.

A5A4A3A2A1A0VINGNDGND5V3V3RESETIOREFRX0 0TX0 12- 34- 5- 678- 9- 10- 111213GNDAREF " D0/RXD1/TXD2D3 PWMD4D5 PWMD6 PWMD7D8D9 PWMD10 PWM/SSD11 PWM/MOSID12/MISOD13/SCKRESETRESET2AREFiorefA0A1A2A3A4/SDAA5/SCLN/CGND3V35VVINArduino Uno(Rev3)
MecatrónicaLATAM

ARDUINO OPTOINTERRUPTOR

A continuación se presentan conceptos básicos que serán la base para hacer muchos proyectos, mediante el manejo de un optointerruptor.

El optointerruptor es usado en la bandas trasportadoras de las cajas del supermercado que al bloquear la señal se detiene pero si es una señal limpia avanza la banda o también para tener un conteo de personas u objetos.


USO DEL OPTOINTERRUPTOR CON ARDUINO

MATERIAL
  • 1x Arduino.
  • 2x Resistor(220Ω).
  • 1x Resistor(10KΩ).
  • 1x Protoboard.
  • 1x Fototransistor.
  • 1x Diodo emisor IR.
  • 1x LED.

Esquema de montaje

Las conexiones son muy simples, los valores de las resistencias pueden variar dependiendo de cada caso.

220Ω 220Ω 10KΩ

Circuito esquemático

LED Fototransistor Emisor IR

Código

El funcionamiento es muy simple, definimos dos pines, el led y el optointerruptor al led lo ponemos como OUTPUT y para el optointerruptor lo ponemos como INPUT, también creamos una variable del tipo entero que almacenará el valor enviado por el fototransistor al pin 3, después en el loop hacemos nuestro programa de ejecución, usando digitalRead leemos el valor del pin 3 y lo almacenamos en la variable Opto_lee, después con un if hacemos una comparación lógica, si el valor digital es 1 enciende el led usando digitalWrite, en caso de que sea un valor distinto a 1 permanecerá apagado.

  • #define LED 2
  • #define Opto 3
  • int Opto_lee;
  • void setup()
  • {
    • pinMode(LED, OUTPUT);
    • pinMode(Opto, INPUT);
    }
  • void loop()
  • {
    • Opto_lee = digitalRead(Opto);
    • if(Opto_lee ==1)
      {
      • digitalWrite(LED, HIGH);
      }
    • else
      {
      • digitalWrite(LED, LOW);
      }
    }