Bonjour à tous,
Je suis sur un projet sur lequel je veux interfacer ma chaudière avec un 2560 et le protocole Modbus. J'utile la librairie modbus-arduino et je voudrais piloter un relais bistable, mais je ne parviens pas à gérer l'impulsion pour celui-ci. J'arrive juste à le faire basculer en continue.(clignoté)
Voici le bout de code avec lequel je me bats, tiré des exemples de la librairie.
#include <SPI.h>
#include <Ethernet2.h>
#include <Modbus.h>
#include <ModbusIP2.h>
// Modbus register offset (0-9999)
const int LAMP1_COIL = 100;
// Used pins
const int ledPin = 9;
// ModbusIP object
ModbusIP mb;
void setup() {
// The media access control (ethernet hardware) address for the shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
// The IP address for the shield
byte ip[] = { 192, 168, 1, 177 };
// Config Modbus IP
mb.config(mac, ip);
// Set ledPin mode
pinMode(ledPin, OUTPUT);
// Add LAMP1_COIL digital output register
mb.addCoil(LAMP1_COIL);
}
void loop() {
// Call once inside loop() - all magic here
mb.task();
// Attach ledPin to LAMP1_COIL register
digitalWrite(ledPin, mb.Coil(LAMP1_COIL) ? HIGH : LOW);
delay(300);
digitalWrite(ledPin, LOW);
}
Il faudrait que je trouve comment écrire dans le registre pour que l'action soit prise en compte, mais mon niveau de compétence est limité.
Merci de votre aide.