ARDUINO: LEER SEÑALES DE MÁS DE 5V



En esta práctica del tema de control de cargas veremos cómo leer señales digitales de más de 5 voltios, hay sensores industriales que envían señales de 12 o 24 voltios, para leer estas señales nos ayudará nuestro optoacoplador.

Materiales:

  • 1x Arduino
  • 1x LED
  • 1x PC817
  • 2x Resistores de 220Ω
  • 1x Resistor de 10K
  • Fuente de 12V
  • 1x Protoboard
  • Jumpers

Esquema de montaje

Como se puede observar en el diagrama de conexión, simulamos un sensor de 12 voltios con la fuente de 12 voltios, cuando se prende o conecta la fuente hace que prenda el led emisor interno del PC817, esto excita la base del fototransistor, la conexión del fototransistor está en forma de pull-down con los 5 voltios del Arduino (si usan más es necesario una fuente externa), esto quiere decir que cuando el led emita o prenda se enviará un pulso alto de 5 voltios al pin 2, al ser detectado en la parte de la función prende y se ejecutará la condición antes mencionada.

Código

Se definen los pines a usar, uno  para leer la señal y otro para enviar un pulso al led, en el loop se llama el método prende, este método es definido más abajo, el cual consiste en leer el pulso enviado al pin 2 del Arduino y con uso de la sentencia de control if, se hace un comparación con el valor almacenado en la variable aux sobre si este valor es alto, o sea si el sensor envía una señal prende el led, en otro caso el led permanece apagado.

 //Definimos los pines a usar
#define Sensor 2
#define LED 3

void setup() {

  //Ponemos el sensor como entrada y el led como salida
  pinMode(Sensor, INPUT);
  pinMode(LED, OUTPUT);

}

void loop() {

  //Metodo prende
  prende();

}

/**
 * Este metodo lee el estado del sensor en una variable 
 * axiliar, si esa variable es 1 o HIGH prende el led
 * en otro caso se mantiene apagado.
 * Leemos 12V
 */
void prende() {

  int aux = digitalRead(Sensor);
  if (aux == HIGH) {
    digitalWrite(LED, HIGH);
  } else {
    digitalWrite(LED, LOW);
  }

}

Así podemos leer señales digitales de mayor voltaje con nuestro Arduino, como siempre se menciona esto es la base del aprendizaje, se le deja al lector que experimente con la debida precaución de no quemar la placa Arduino.