Problème de librairies ?!

Bonjour à toutes et a tous,

J'ai entrepris de réaliser un dynamomètre à l'aide de composants trouvés sur le net et d'une carte Arduino.

Je suis en train de coder le programme pour afficher la valeur d'effort sur un LCD et l'enregistrer sur une carte SD.

Hier je teste mon capteur et l'écran avec un code trouvé sur le net, tout marche. Aujourd'hui, je recommence, et la les librairies ne sont plus reconnues, donc problème de vérification, d'ou cela peut venir ?

Merci pour votre aide.

Digital_Scale_Vincent.ino (2.46 KB)

Hier je teste mon capteur et l'écran avec un code trouvé sur le net, tout marche. Aujourd'hui, je recommence, et la les librairies ne sont plus reconnues, donc problème de vérification, d'ou cela peut venir ?

généralement c'est que vous avez changé quelque chose entre temps ou que vous n'avez pas vraiment testé

Je penche plutôt pour la seconde hypothèse...

En jetant un oeil au code - Rien que ça comme bibliothèques ?

#include <FastIO.h>
#include <I2CIO.h>
#include <LCD.h>
#include <LiquidCrystal.h>
#include <LiquidCrystal_I2C.h>
#include <LiquidCrystal_I2C_ByVac.h>
#include <LiquidCrystal_SI2C.h>
#include <LiquidCrystal_SR.h>
#include <LiquidCrystal_SR1W.h>
#include <LiquidCrystal_SR2W.h>
#include <LiquidCrystal_SR3W.h>
#include <SI2CIO.h>
#include <SoftI2CMaster.h>

#include <LiquidCrystal_I2C.h>
#include <HX711.h>

//-------------------------------------------------------------------------------------------
//Librairies

#include <HX711_ADC.h> // Insertion bibliothèque HX711
#include <Wire.h>
#include <LiquidCrystal_I2C.h> // LiquidCrystal_I2C library
#include <SPI.h>
#include <SD.h>

ça me parait totalement délirant (et avec des doublons).

Si vous avez besoin d'une carte SD, d'un écran LCD I2C et d'une loadcell HX711il suffit normalement de 3 bibliothèques.. SD est intallée en standard, il faut donc installer LiquidCrystal_I2C et HX711_ADC

vous écrivez un en tête dans un fichier que vous n'avez pas ouvert et qui n'a pas de nom et vous ne touchez pas au fichier dans la loop

vous déclarez CS_PIN qui n'est pas utilisée

au lieu de prendre des codes sur internet et de faire un peu n'importe quoi, pourquoi ne pas commencer par:

  • tester le LCD avec la bibliothèque LiquidCrystal_I2C et comprendre comment ça fonctionne

  • tester la load cell avec la bibliothèque HX711_ADC et comprendre comment ça fonctionne

  • tester la gestion de la carte SD avec la bibliothèque intégrée SD (ou prendre SDFat qui est plus performante) et comprendre comment ça fonctionne

une fois que vous aurez bien compris chacune des bibliothèques vous pourrez faire un sketch qui regroupe les 3 et les #include de votre sketch final devraient être juste

#include <LiquidCrystal_I2C.h>  // https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library
#include <HX711_ADC.h>          // https://github.com/olkal/HX711_ADC
#include <SdFat.h>              // https://github.com/greiman/SdFat

Bonjour,

Merci pour la réponse,

En fait les bibliothèques c'est une boulette, j'ai testé un truc qui as pas marché.

Sinon j'ai déjà joué de manière individuelle avec chaque élément, grouper les trois c'est la ou cela se complique.

Je ne connaissais pas cette bibliothèque pour la SD, qu'est-ce qu'elle apporte ?

Merci.

Le code mis à jour est ce dernier, mais cela ne fonctionne pas. Pourtant je pense utiliser les fonctions présentes dans la librairie ...

De plus je crois utiliser CS pin. Je peux joindre une photo du montage.

J'ai un souci avec la bibliothèque LCD et plus particulièrement la fonction backlight, lorsque j'ouvre et je compile un exemple avec la même fonction, aucun message d'erreur, je ne comprends pas.

Le message d'erreur:

Arduino : 1.8.13 (Windows 10), Carte : "Arduino Uno"

Digital_Scale_Vincent:41:3: error: 'lcd' does not name a type

lcd.clear();

^~~

Digital_Scale_Vincent:42:3: error: 'LoadCell' does not name a type

LoadCell.begin(); // start connection to HX711

^~~~~~~~

Digital_Scale_Vincent:43:3: error: 'LoadCell' does not name a type

LoadCell.start(2000); // load cells gets 2000ms of time to stabilize

^~~~~~~~

Digital_Scale_Vincent:44:3: error: 'LoadCell' does not name a type

LoadCell.setCalFactor(43.5); // calibration factor for load cell => strongly dependent on your individual setup

^~~~~~~~

Digital_Scale_Vincent:45:3: error: 'lcd' does not name a type

lcd.init(); // begins connection to the LCD module

^~~

Digital_Scale_Vincent:46:3: error: 'lcd' does not name a type

lcd.backlight(); // turns on the backlight

^~~

Digital_Scale_Vincent:47:1: error: expected declaration before '}' token

}

^

exit status 1

'lcd' does not name a type

Digital_Scale_Vincent.ino (1.93 KB)

Ah, il y'avait une accolade mal placée et un mauvais nom de fonction, a présent le code fonctionne.

Pour a bibliothèque SD je l'utilise pour tous mes projets avec un carte micro SD et un lecteur elle est très bien je te la conseille normalement tu vas dans Arduino IDE->exemples->exemples pour toutes les cartes et normalement il devrait être déjà installé sinon il faut aller dans gestionnaire de bibliothèque et écrire SD tu installe et c'est fait

davry:
Pour a bibliothèque SD je l'utilise pour tous mes projets avec un carte micro SD et un lecteur elle est très bien je te la conseille

la bibliothèque SD est fonctionnelle et effectivement pré-installée - donc c'est confortable.

Cependant c'est juste une ancienne version figée dans le passé et un peu simplifiée de SdFat qui a continué à évoluer (on en est à la version 2). Personnellement je conseille donc de prendre SdFat pour bénéficier d'une meilleure performance, de plus amples fonctions et des corrections.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.