Communication entre une carte arduino et une RPI par Mudbus

Bonjour à tous,

J’ai une question. Actuellement, j’ai une carte Arduino uno 2 avec un shield ethernet et une RPI 3B+.

Je souhaite faire communiquer les 2 cartes ensembles par ethernet via le protocole Mudbus.

Je souhaite allumer des Led qui sont brancher sur la carte arduino et qui communique par le port TinkerKit. J’arrive à les allumer sur la carte arduino.

Sur la RPI, je dois utiliser le logiciel Codesys avec la bibliotèques RPI.

Ce que je souhaite faire c’est que la carte arduino arrive à lire ce que envoie la RPI par le logiciel Codesys.

Je n’arrive pas à faire cette étape…

Le programme dans la RPI est le suivant : Une led s’allume pendant 5s, et l’autre s’éteint. Au bout des 5s, la première led s’éteint et l’autre s’allume pendant 5s.

Le programme dans la carte arduino :

Quote

#include <Ethernet2.h>
#include <SPI.h>
#include “Mudbus.h”

Mudbus Mb;
int In22=22;

void setup() {
// put your setup code here, to run once:
uint8_t mac = { 0xA8, 0x61, 0x0A, 0xAE, 0x27, 0x40 };
uint8_t ip = { 192, 168, 4, 3 };
uint8_t gateway = { 192, 168, 4, 1 };
uint8_t subnet = { 255, 255, 255, 0 };
Ethernet.begin(mac, ip, gateway, subnet);

//Avoid pins 4,10,11,12,13 when using ethernet shield
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
pinMode(A3, INPUT);
}

void loop() {
// put your main code here, to run repeatedly:
Mb.R[1]=0;

Mb.Run();

Mb.R[1]=0x01;
delay(20);

if (Mb.R[1] == 0000)
{
digitalWrite(5, HIGH); // set the LED on;
}
else
{
digitalWrite(5, LOW); // set the LED on;
}
if (Mb.R[1] == 0001)
{
digitalWrite(6, HIGH);
//digitalWrite(5, LOW);// set the LED on
}
else
{
digitalWrite(6, LOW); // set the LED on;
}
}

Voici la configuration dans la RPI avec le logiciel codesys :

Pour info, j’arrive à pinger les 2 cartes et j’ai mis toutes les bibliothèques nécessaire dans la carte arduino.

Bonne fêtes !

Merci pour votre réponse !

Cordialement,

Moi

vous avez déjà un fil ouvert sur le sujet. et aussi en anglais.. Pas de double post SVP

je sais mais on m'a conseillé de le mettre dans le forum français :slight_smile: et je viens de le supprimer