Interrupción externa mediante sensor de efecto hall con PLC basado en Arduino

21 de marzo de 2019 por
Interrupción externa mediante sensor de efecto hall con PLC basado en Arduino
Bernat Garcia

Introducción

El sensor de efecto hall M8 de 3 polos es un sensor utilizado para detectar campos metálicos y magnéticos.  Este sensor es digital, y normalmente debe ser manejado con interrupciones. En este caso se muestra un ejemplo de cómo utilizar este sensor utilizando interrupciones externas con controladores basados en Arduino.

Requisitos


Conexiones

Conexión final: 

Odoo CMS - a big picture

Software

Este sencillo boceto nos permite realizar el conteo de lectura digital del sensor de Hall Effect cada 1 s. Para ello hemos utilizado la entrada I0.5 de nuestro M-Duino 21+. I0.5 permiten la funcionalidad de interrupción externa,  por lo que debemos añadir la función attachInterrupt() para establecer la funcionalidad de interrupción.
 

Como prueba comprobaremos el resultado monitoreado por el serial port, abriremos el  serial monitor para ver los niveles de conteo.

/*
   Copyright (c) 2018 Boot&Work Corp., S.L. All rights reserved

   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU Lesser General Public License as published by
   the Free Software Foundation, either version 3 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU Lesser General Public License for more details.

   You should have received a copy of the GNU Lesser General Public License
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

////////////////////////////////////////////////////////////

volatile int counter = 0;

void setup() {
   Serial.begin(9600L);
   attachInterrupt(digitalPinToInterrupt(I0_5), count, RISING);
   Serial.println('Hall Effect Sensor started');
}

////////////////////////////////////////////////////////////

void loop() {
  Serial.println(counter);
  delay(1000); 
}

void count() {
  counter+=1;
}

Buscar en nuestro blog

Interrupción externa mediante sensor de efecto hall con PLC basado en Arduino
Bernat Garcia 21 de marzo de 2019
Compartir

¿Estás buscando tu Controlador Lógico Programable ideal?

Echa un vistazo a esta comparativa de producto de varios controladores industriales basados en Arduino.

Comparamos entradas, salidas, comunicaciones y otras especificaciones con las de los equipos de otras marcas destacadas.


Industrial PLC comparison >>>