Mod Bus Arduino
Mod Bus Arduino
MIXTECA
MAESTRÍA EN ELECTRÓNICA
OPCIÓN SISTEMAS INTELIGENTES APLICADOS
Materia:
Programación de interfaces
Presenta
César Gabriel Pérez Ibarra
Profesor
Página | 1
Índice
Objetivo. ........................................................................................................................................ 3
Materiales. .................................................................................................................................... 3
Desarrollo. ..................................................................................................................................... 3
Resultados. .................................................................................................................................... 4
Conclusiones. ................................................................................................................................ 4
Anexos ........................................................................................................................................... 5
Página | 2
Objetivo.
Utilizar el protocolo MUDBUS para hacer la lectura de registros de entrada y
escribir una bobina, empleando como maestro la interfaz en LabVIEW y un
arduino como esclavo.
Materiales.
Arduino UNO.
Computadora.
Potenciómetro
Leds
Resistencias
Desarrollo.
Se utilizó la librería Modbus.h y ModbusSerial.h, esta librería facilita la comunicación con el
protocolo MODBUS, es necesario él establecer constantes con los valores de los registros se
habilita en el arduino la lectura analógica (A0), con el uso de la función addHreg el valor
obtenido se almacenara y este será enviado cuando el maestro haga la solicitud de una lectura
de registro. Se habilita una salida digital (pin 13), con la función addIreg, permite la escritura de
bobina cuando el maestro lo indique esta encenderá o apagara un led según sea el caso.
Página | 3
Se empleó la interfaz proporcionada por el profesor para establecer la comunicación entre
LabVIEW y el arduino con usando el protocolo MODBUS.
Se eligió como dirección de los registros de la bobina el 100 y como registro de entrada 200. La
comunicación serial se estableció en 19200 bps.
Resultados.
Se logró establecer la comunicación entre LabVIEW como maestro y el arduino como esclavo.
Al hacer la petición de lectura de registro se obtiene el valor del potenciómetro en ese momento,
se indica el valor que se desea tengo el pin digital (0 , 1) logrando encender o apagar el led.
Conclusiones.
.
Página | 4
Anexos
Código implementado en el arduino para trabajar como esclavo.
#include <Modbus.h>
#include <ModbusSerial.h>
//Used Pins
// ModbusSerial object
ModbusSerial mb;
long ts;
void setup() {
Página | 5
// Set the Slave ID (1-247)
mb.setSlaveId(10);
pinMode(ledPin, OUTPUT);
mb.addHreg(LAMP1_COIL);
mb.addIreg(SENSOR_IREG);
ts = millis();
void loop() {
mb.task();
digitalWrite(ledPin, mb.Hreg(LAMP1_COIL));
ts = millis();
mb.Ireg(SENSOR_IREG, analogRead(sensorPin));
Página | 6