Auteur Sujet: Rétrosignalisation S88 et UNO  (Lu 6144 fois)

brice45

  • Newbie
  • *
  • Messages: 38
    • Voir le profil
Rétrosignalisation S88 et UNO
« le: octobre 10, 2024, 02:41:22 pm »
Bonjour à tous,

Je m'intéresse actuellement sur la rétrosignalisation avec un bus S88 et mon arduino Uno.

J'ai téléchargé la bibliothèque UNO_S88.

J'ai copier le code de l'article138 dans l'IDE, quand je le compile une erreur de compilation pour la carte Arduino Uno.

J'ai dû raté quelque chose, alors si quelqu'un peut m'aider ça me permettrai d'avancer sur le sujet.

Je vous remercie, et vous souhaite une bonne journée.

Cordialement Brice45

 
Centrale z21 blanche
multimaus rouge
Retro LDT HSI-88-USB
Logiciel wdp2021
Arduino
Réseau Ho

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3056
  • 100% Arduino et N
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #1 le: octobre 11, 2024, 02:09:34 pm »
Peut-être faudrait-il recopier le texte de l’erreur (on ne peut pas deviner), quelle version d’IDE et si vous avez bien les bonnes bibliothèques et leurs versions.

C’est sûrement la que ça se passe !

Plus un schéma de votre installation
Cordialement,
Dominique

brice45

  • Newbie
  • *
  • Messages: 38
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #2 le: octobre 11, 2024, 06:37:28 pm »
Merci pour votre réponse, je vais regardé, ça va m'aider.

Cordialement
Centrale z21 blanche
multimaus rouge
Retro LDT HSI-88-USB
Logiciel wdp2021
Arduino
Réseau Ho

brice45

  • Newbie
  • *
  • Messages: 38
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #3 le: octobre 11, 2024, 07:03:16 pm »
le code erreur est : erreur de compilation pour la carte Arduino Uno.

pour l'instant je n'ai pas de circuit de test, je souhaite simplement compiler le programme.

Merci
Centrale z21 blanche
multimaus rouge
Retro LDT HSI-88-USB
Logiciel wdp2021
Arduino
Réseau Ho

lebelge2

  • Jr. Member
  • **
  • Messages: 80
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #4 le: octobre 11, 2024, 07:19:39 pm »
Chez moi, ça compile correctement !

#include <UNO_S88.h>    // la librairie S88 pour les UNO/Nano

void setup() {
  S88_Setup(16);        // on donne le nombre capteur 8 ou 16
}

void loop() {
  S88_Loop();           // boucle sur les capteurs
}

Le croquis utilise 1614 octets (5%) de l'espace de stockage de programmes. Le maximum est de 32256 octets.
Les variables globales utilisent 27 octets (1%) de mémoire dynamique, ce qui laisse 2021 octets pour les variables locales. Le maximum est de 2048 octets.

trimarco232

  • Sr. Member
  • ****
  • Messages: 353
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #5 le: octobre 11, 2024, 11:26:50 pm »
Bonjour,
peut-être la librairie doit encore être installée ?

nopxor

  • Full Member
  • ***
  • Messages: 195
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #6 le: octobre 12, 2024, 08:08:48 am »

brice45

  • Newbie
  • *
  • Messages: 38
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #7 le: octobre 15, 2024, 10:46:59 am »
Bonjour,
Je vous remercie de vos réponses, j'ai un peu de temps aujourd'hui donc je me penche dessus mais avec votre aide le problème va être réglé.
Cordialement
brice45
Centrale z21 blanche
multimaus rouge
Retro LDT HSI-88-USB
Logiciel wdp2021
Arduino
Réseau Ho

brice45

  • Newbie
  • *
  • Messages: 38
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #8 le: octobre 15, 2024, 11:32:09 am »
Rebonjour,
Pour faire cours, j'utilise Arduino IDE 2.3.3 je copie le code du site Locoduino de l'article 138 dont voici le code que je je voudrais vérifier :

#include <UNO_S88.h>    // la librairie S88 pour les UNO/Nano

void setup() {
  S88_Setup(16);        // on donne le nombre capteur 8 ou 16
}

void loop() {
  S88_Loop();           // boucle sur les capteurs
}
#include <Arduino.h>
void S88_Setup(int nb_sensors);
void S88_Loop();

#include "UNO_S88.h"
#include <Arduino.h>

const byte clockS88 = 2;      // clock S88 pin = 2
int clockCounter=0;           // 16 tops
const byte PSS88 = 3;         // PS S88 pin = 3
long loopCounter=0;           //for reset from ECOS
const byte dataIn=0;          //data input from next Arduino in S88 chain pin = 0
const byte dataOut=1;         //data output pin=1
unsigned int sensors=0;       // sensor 8/16 bits
unsigned int data=0xffff;     // buffer
int nbsensors;                // nb sensors 8 or 16
int beginPin = 4;             // first pin
int endPin8 = 12;             // last pin for 8 sensors
int endPin16 = 21;            // last pin for 16 sensors
int endPin;


void PS() {
    clockCounter=0;
    data=sensors;
    sensors=0;
    loopCounter++;
}

void clock() {
    digitalWrite(dataOut,bitRead(data,clockCounter)); // shift to next
    delayMicroseconds(16);
    bitWrite(data,clockCounter,digitalRead(dataIn)); // shift from previous
    clockCounter =(clockCounter +1) % nbsensors;     // modulo nb sensors
}

void S88_Setup(int nb_sensors) {
    nbsensors = nb_sensors;
    if (nbsensors == 8) {endPin = endPin8;} else {endPin = endPin16;}
    pinMode(clockS88, INPUT_PULLUP);
    attachInterrupt(0,clock,RISING);    //pin 2 = clock interrupt 0
    pinMode(PSS88, INPUT_PULLUP);
    attachInterrupt(1,PS,RISING);       //pin 3 = PS interrupt 1
    pinMode(dataIn,INPUT_PULLUP);       //pin 0 = data in from next Arduino S88 in chain
    pinMode(dataOut, OUTPUT);           //pin 1 = data out to ECoS or to previous Arduino in S88 chain
    for (int i = beginPin; i< endPin;i++) {pinMode(i,INPUT_PULLUP);}  // init sensors
}

void S88_Loop() {
    if (loopCounter==20){bitSet(sensors,0);}  // reset management
    for (int i = 4; i<endPin;i++) {if (!digitalRead(i)){bitSet(sensors,i-4);}} // update sensors
}

donc je ne vois pas d'où vient le problème.

Je serais ravi d'avoir quelques explications et je vous en remercie et vous souhaite une bonne journée.

Cordialement
Brice45
Centrale z21 blanche
multimaus rouge
Retro LDT HSI-88-USB
Logiciel wdp2021
Arduino
Réseau Ho

Dominique

  • Global Moderator
  • Hero Member
  • *****
  • Messages: 3056
  • 100% Arduino et N
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #9 le: octobre 15, 2024, 05:39:44 pm »
Citer
donc je ne vois pas d'où vient le problème.
Citer
le code erreur est : erreur de compilation pour la carte Arduino Uno.

Nous non plus !
Commencez par recopier la totalité du message d'erreur en dessous l'éditeur de l'IDE, pas seulement la dernière ligne  >:(
Cordialement,
Dominique

lebelge2

  • Jr. Member
  • **
  • Messages: 80
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #10 le: octobre 15, 2024, 07:56:47 pm »
Il ne faut pas recopier le code de la librairie dans le .ino !

brice45

  • Newbie
  • *
  • Messages: 38
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #11 le: octobre 16, 2024, 10:15:18 am »
Bonjour, voilà une réponse simple et efficace, il est vrai que j'aurais dû examiner le code plus sérieusement.

Merci lebelge2.

Bonne journée à tous.
brice45
Centrale z21 blanche
multimaus rouge
Retro LDT HSI-88-USB
Logiciel wdp2021
Arduino
Réseau Ho

nopxor

  • Full Member
  • ***
  • Messages: 195
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #12 le: octobre 16, 2024, 11:26:02 am »
Bonjour,

Il faut installer la librairie, pas la copier colller.
Elle est fournie en bas de page sous forme de fichier zip à télécharger.
https://www.locoduino.org/spip.php?article138

Relisez si vous ne l'avez déjà fait l'article https://www.locoduino.org/spip.php?article71
Où vous verrez que c'est la Méthode facile 2 qui est recommandée pour l'installer.

le programme qui fait 7 lignes lui est copié collé dans l'éditeur
#include <UNO_S88.h>    // la librairie S88 pour les UNO/Nano

void setup() {
  S88_Setup(16);        // on donne le nombre capteur 8 ou 16
}

void loop() {
  S88_Loop();           // boucle sur les capteurs
}

il fait appel à la librairie par sa première ligne:
#include <UNO_S88.h>    // la librairie S88 pour les UNO/Nano
le compilateur lorsqu'il lit cette ligne, va automatiquement faire appel à la librairie
pour autant qu'elle ait été préalablement convenablement installée.

Pour insérer du code de façon lisible dans le forum, il faut se servir de l'icone  # et coller le code entre les 2 balises

brice45

  • Newbie
  • *
  • Messages: 38
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #13 le: octobre 17, 2024, 01:44:35 pm »
Bonjour,
 Bien évidement j'ai installé la bibliothèque en suivant les explications.
qu'est ce que je fais de UNO_S88.cpp ?

Pas très claire tout ça!!  :-\

Bonne journée
Centrale z21 blanche
multimaus rouge
Retro LDT HSI-88-USB
Logiciel wdp2021
Arduino
Réseau Ho

nopxor

  • Full Member
  • ***
  • Messages: 195
    • Voir le profil
Re : Rétrosignalisation S88 et UNO
« Réponse #14 le: octobre 17, 2024, 02:01:43 pm »
Bonjour,

UNO_S88.cpp fait partie de la librairie.
Une fois la librairie installée, on ne s'en occupe pas.

Les librairies comportent généralement un fichier "en tête" xxx.h et un fichier xxx.cpp

Si la librairie est installée, la compilation du programme devrait s'effectuer normalement.