[RESOLU] Dessiner un rectangle avec DrawRect

Bonjour,

Depuis quelques jours, je travaille sur un compteur Geiger à afficher sur un écran arduino Nokia 5110 LCD. Jusque-là, tout allait bien, jusqu'à ce que je veuille faire une sorte de diagramme horizontale, qui représente les montées et descentes de la radioactivité détectée.

Naturellement, j'ai donc voulu utiliser la formule myGLCD.drawRect, qui est rendue possible par la bibliothèque LCD5110_Graph.h. Seulement voilà, même avec cette bibliothèque installée et incluse dans le code avec #include, le programme m'affiche un message d'erreur disant :

exit status 1
'class LCD5110' has no member named 'drawRect'

Cela fait presque une heure que je cherche une solution, sans succès, d'où mon appel au secours.
Je vous demande également pardon d'avance si l'erreur semble évidente, je ne suis "que" âgée de 13 ans et donc très probablement beaucoup moins expérimentée qu'un bon nombre d'entre vous.

Merci d'avance !

Fenrir06

#include <LCD5110_Basic.h>
#include <LCD5110_Graph.h>


// initialize the library with the numbers of the interface pins
LCD5110 myGLCD(7,6,5,3,4);
extern uint8_t SmallFont[];
extern uint8_t MediumNumbers[];
extern uint8_t BigNumbers[];

// Threshold values for the led bar
#define TH1 45
#define TH2 95
#define TH3 200
#define TH4 400
#define TH5 600

// Conversion factor - CPM to uSV/h
#define CONV_FACTOR 0.00812

// Variables
int ledArray [] = {10,11,12,13,9};
int geiger_input = 2;
long count = 0;
long countPerMinute = 0;
long timePrevious = 0;
long timePreviousMeassure = 0;
long time = 0;
long countPrevious = 0;
float radiationValue = 0.0;

void setup(){
  myGLCD.InitLCD();
  myGLCD.setContrast(70);
  myGLCD.setFont(SmallFont);
  pinMode(geiger_input, INPUT);
  digitalWrite(geiger_input,LOW);
  for (int i=0;i<5;i++){
    pinMode(ledArray[i],OUTPUT);
  }
  myGLCD.setFont(SmallFont);   
   myGLCD.print("COMPTEUR", CENTER,15); 
   myGLCD.print("GEIGER", CENTER,25);
   
    myGLCD.drawRect(0, 26, 56, 32);
 delay(2000);
   myGLCD.clrScr();
}



 void loop(){
     myGLCD.setFont(SmallFont);   
   myGLCD.print("CPM",62,10);
 myGLCD.setFont(MediumNumbers);
  myGLCD.printNumF(radiationValue, 4, LEFT, 20);
     myGLCD.setFont(SmallFont);
     myGLCD.print("uSv/h", 58, 32);
      myGLCD.setFont(MediumNumbers);
    myGLCD.printNumI(countPerMinute,LEFT,0);

  attachInterrupt(0,countPulse,FALLING);
  
  if (millis()-timePreviousMeassure > 10000){
    countPerMinute = 6*count;
    radiationValue = countPerMinute * CONV_FACTOR;
    timePreviousMeassure = millis();
    Serial.print("cpm = "); 
    Serial.print(countPerMinute,DEC);
    Serial.print(" - ");
    Serial.print("uSv/h = ");
    Serial.println(radiationValue,4); 
       myGLCD.setFont(SmallFont);     
     myGLCD.print("CPM",62,10);
       myGLCD.setFont(MediumNumbers);
    myGLCD.printNumI(countPerMinute,LEFT,0);
     myGLCD.printNumF(radiationValue, 4, LEFT, 20);
      myGLCD.setFont(SmallFont);
        myGLCD.print("uSv/h", 58, 32);

    //led var setting  
    if(countPerMinute <= TH1) ledVar(0);
    if((countPerMinute <= TH2)&&(countPerMinute>TH1)) ledVar(1);
    if((countPerMinute <= TH3)&&(countPerMinute>TH2)) ledVar(2);
    if((countPerMinute <= TH4)&&(countPerMinute>TH3)) ledVar(3);
    if((countPerMinute <= TH5)&&(countPerMinute>TH4)) ledVar(4);
    if(countPerMinute>TH5) ledVar(5);

    count = 0;

  }

}

void countPulse(){
  detachInterrupt(0);
  count++;
  while(digitalRead(2)==0){
  }
  attachInterrupt(0,countPulse,FALLING);
}

void ledVar(int value){
  if (value > 0){
    for(int i=0;i<=value;i++){
      digitalWrite(ledArray[i],HIGH);
    }
    for(int i=5;i>value;i--){
      digitalWrite(ledArray[i],LOW);
    }
  }
  else {
    for(int i=5;i>=0;i--){
      digitalWrite(ledArray[i],LOW);
    }
  }
}

bonjour,
pour les urgences, on est dimanche.
ou as tu péché ta lib?
version ide?

regardes ICI

Bonjour, et merci de ta réponse

C'est vrai que pour le "[URGENT]", je me suis montrée un peu trop nécessiteuse, désolée ^^'
Concernant la librairie que tu m'as conseillée, en effet j'ai également réalisé une version du compteur Geiger sur celle-là, donc je vais essayer de faire mon drawRect dessus. Je vais marquer ce topic résolu, et en ouvrirai un autre au besoin si je rencontre un problème sur Adafruit.

Encore merci,

Fenrir06

Je vais marquer ce topic résolu, et en ouvrirai un autre au besoin si je rencontre un problème sur Adafruit.

non autant continuer sur ce topic si c'est le même genre de soucis.