Go Down

Topic: Programme capteur d'humidité (Read 4713 times) previous topic - next topic

Xaras

Apr 28, 2013, 02:04 pm Last Edit: Apr 28, 2013, 02:11 pm by Jean-François Reason: 1
Bonjour à tous je suis nouveau dans ce forum. Dans le cadre d'un projet scolaire j'ai du faire un mini-programme capable d'afficher des messages sur LCD Arduino. Cependant étant novice dans ce domaine, j'ai rencontré des problèmes dont je vais vous en faire part. Je suis actuellement sous Vista 32 bits. Voici le programme.
Code: [Select]

#include <Adafruit_MCP23017.h>
#include <Adafruit_RGBLCDShield.h>

/*********************

Example code for the Adafruit RGB Character LCD Shield and Library

This code displays text on the shield, and also reads the buttons on the keypad.
When a button is pressed, the backlight changes color.

**********************/

// include the library code:
#include <Wire.h>
#include <Adafruit_MCP23017.h>
#include <Adafruit_RGBLCDShield.h>

// The shield uses the I2C SCL and SDA pins. On classic Arduinos
// this is Analog 4 and 5 so you can't use those for analogRead() anymore
// However, you can connect other I2C sensors to the I2C bus and share
// the I2C bus.
Adafruit_RGBLCDShield spf = Adafruit_RGBLCDShield();

// These #defines make it easy to set the backlight color
#define RED 0x1
#define YELLOW 0x3
#define GREEN 0x2
#define TEAL 0x6
#define BLUE 0x4
#define VIOLET 0x5
#define WHITE 0x7

void setup() {
 // Debugging output
 Serial.begin(9600);
 // set up the LCD's number of columns and rows:
 spf.begin(16, 2);

 // Print a message to the LCD. We track how long it takes since
 // this library has been optimized a bit and we're proud of it :)
 int time = millis();
 spf.print("Vous voici dans");
 delay(500);
 spf.clear();
 spf.print("le programme");
 delay(500);
 spf.clear();
 spf.print("Wetkeeper");
 time = millis() - time;
 Serial.print("Took "); Serial.print(time); Serial.println(" ms");
 spf.setBacklight(WHITE);
}

uint8_t i=0;
void loop() {
 // set the cursor to column 0, line 1
 // (note: line 1 is the second row, since counting begins with 0):
 spf.setCursor(0, 1);
 // print the number of seconds since reset:
 spf.print(millis()/1000);

 uint8_t buttons = spf.readButtons();

 if (buttons) {
   spf.clear();
   spf.setCursor(0,0);
   if (buttons & BUTTON_UP) {
     spf.print("UP ");
     spf.setBacklight(RED);
   }
   if (buttons & BUTTON_DOWN) {
     spf.print("DOWN ");
     spf.setBacklight(YELLOW);
   }
   if (buttons & BUTTON_LEFT) {
     spf.print("LEFT ");
     spf.setBacklight(GREEN);
   }
   if (buttons & BUTTON_RIGHT) {
     spf.print("RIGHT ");
     spf.setBacklight(TEAL);
   }
   if (buttons & BUTTON_SELECT) {
     spf.print("SELECT ");
     spf.setBacklight(VIOLET);
   }
 }
}



Et les erreurs lors de la compilation:
In file included from Bienvenue_dans_le_programme_Wetkeeper.ino:1:
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:20: error: 'uint8_t' has not been declared
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:23: error: 'uint8_t' has not been declared
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:23: error: 'uint8_t' has not been declared
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:24: error: 'uint8_t' has not been declared
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:24: error: 'uint8_t' has not been declared
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:25: error: 'uint8_t' has not been declared
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:25: error: 'uint8_t' has not been declared
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:26: error: 'uint8_t' does not name a type
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:28: error: 'uint16_t' has not been declared
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:29: error: 'uint16_t' does not name a type
C:\Users\Xaras\Documents\Arduino\libraries\Adafruit_RGBLCDShield/Adafruit_MCP23017.h:32: error: 'uint8_t' does not name a type

Merci de votre aide.


Jean-François

On commence par le début.....

Pas dans la bonne rubrique, donc déplacé......

Et de nouveau le code pas entre les balises de code....


:smiley-sleep:
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Xaras

#2
Apr 28, 2013, 02:20 pm Last Edit: Apr 28, 2013, 06:37 pm by Xaras Reason: 1
Code: [Select]
#include <Adafruit_MCP23017.h>
#include <Adafruit_RGBLCDShield.h>

/*********************

Example code for the Adafruit RGB Character LCD Shield and Library

This code displays text on the shield, and also reads the buttons on the keypad.
When a button is pressed, the backlight changes color.

**********************/

// include the library code:
#include <Wire.h>
#include <Adafruit_MCP23017.h>
#include <Adafruit_RGBLCDShield.h>

// The shield uses the I2C SCL and SDA pins. On classic Arduinos
// this is Analog 4 and 5 so you can't use those for analogRead() anymore
// However, you can connect other I2C sensors to the I2C bus and share
// the I2C bus.
Adafruit_RGBLCDShield spf = Adafruit_RGBLCDShield();

// These #defines make it easy to set the backlight color
#define RED 0x1
#define YELLOW 0x3
#define GREEN 0x2
#define TEAL 0x6
#define BLUE 0x4
#define VIOLET 0x5
#define WHITE 0x7

void setup() {
  // Debugging output
  Serial.begin(9600);
  // set up the LCD's number of columns and rows:
  spf.begin(16, 2);

  // Print a message to the LCD. We track how long it takes since
  // this library has been optimized a bit and we're proud of it
  int time = millis();
  spf.print("Vous voici dans");
  delay(500);
  spf.clear();
  spf.print("le programme");
  delay(500);
  spf.clear();
  spf.print("Wetkeeper");
  time = millis() - time;
  Serial.print("Took "); Serial.print(time); Serial.println(" ms");
  spf.setBacklight(WHITE);
}

uint8_t i=0;
void loop() {
  // set the cursor to column 0, line 1
  // (note: line 1 is the second row, since counting begins with 0):
  spf.setCursor(0, 1);
  // print the number of seconds since reset:
  spf.print(millis()/1000);

  uint8_t buttons = spf.readButtons();

  if (buttons) {
    spf.clear();
    spf.setCursor(0,0);
    if (buttons & BUTTON_UP) {
      spf.print("UP ");
      spf.setBacklight(RED);
    }
    if (buttons & BUTTON_DOWN) {
      spf.print("DOWN ");
      spf.setBacklight(YELLOW);
    }
    if (buttons & BUTTON_LEFT) {
      spf.print("LEFT ");
      spf.setBacklight(GREEN);
    }
    if (buttons & BUTTON_RIGHT) {
      spf.print("RIGHT ");
      spf.setBacklight(TEAL);
    }
    if (buttons & BUTTON_SELECT) {
      spf.print("SELECT ");
      spf.setBacklight(VIOLET);
    }
  }
}


skywodd

#3
Apr 28, 2013, 02:27 pm Last Edit: Apr 28, 2013, 02:29 pm by skywodd Reason: 1
Bonjour,

Ces deux #include tout en haut du fichier n'ont rien à faire là, ils sont déjà quelques lignes plus bas :
Code: [Select]
#include <Adafruit_MCP23017.h>
#include <Adafruit_RGBLCDShield.h>


@Jean-Francois : ya un doublon ici :
http://arduino.cc/forum/index.php/topic,163249.0.html#new

... ralala c'est nouveaux membres :smiley-mr-green:
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Xaras

#4
Apr 28, 2013, 02:35 pm Last Edit: Apr 28, 2013, 05:00 pm by Xaras Reason: 1
Désolé pour le doublon, je pensais avoir posté le premier mais ne l'ayant plus trouvé sur le forum, je pensais qu'il ne c'était pas affiché. Désolé ...
Par contre est-ce que vous pourrez m'expliquer comment ça marche avec les doublons. J'ai essayé de chercher sur Internet mais je n'ai rien trouvé. Juste histoire de savoir les programmer pour entrer une certaine valeur. Merci

skywodd


Par contre est-ce que vous pourrez m'expliquer comment ça marche avec les doublons. J'ai essayé de chercher sur Internet mais je n'ai rien trouvé. Juste histoire de savoir les programmer pour entrer une certaine valeur. Merci

Hein ? Soit plus clair j'ai rien compris à ta question ...
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Xaras

Excusez-moi avec la panique j'écris trop vite... En fait, je parlais des boutons, je ne sais pas comment les programmer. En fait, dans mon programme ce que je veux c'est demander à l'utilisateur de saisir une certaine valeur avec ces boutons. Après certaines recherches je n'ai rien trouvé...
Merci

skywodd

Je ne sait pas si ça te sera utile mais moi je fait mes "menu" avec des boucles :
https://github.com/skywodd/digital_light_wand/blob/master/digital_light_wand.ino
(regarde la fonction chooseDelay() ligne 184 si tu veut un exemple)
Des news, des tutos et plein de bonnes choses sur http://skyduino.wordpress.com !

Xaras

Mhh à vrai dire je n'ai pas trop compris en fait ... Si vous pouvez être plus précis s'il vous plaît. Sinon pas d'autres moyens plus simple pour saisir directement des valeurs avec les bouton?

Jean-François

Le code il faut le mettre entre les balises code avec le bouton #

Merci d'éditer les messages concerné....
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Xaras

Excusez-moi vous voulez dire quoi par éditer ?

Jean-François

Avec l'option "modify" réouvrir le message et le modifier.
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Xaras

Juste avec vous une idée pour mon problème du coup ? Un moyen de demander à l'utilisateur d'afficher une certaine valeur avec les boutons ?
Merci

Jean-François

Merci pour la forme de politesse en me vouvoyant.... ça ne change pas le fait que le message Nº3 est toujours avec un code hors balise....

Merci de l'éditer !!

XD
MacBook intel core 2 duo  os X snow Leopard 10.6<br/> eMac PPc G4  os X Leopard 10.5<br/>powerbook G4 os X Leopard 10.5
imac PPC G3 os X Pa

Xaras

Re, voilà j'espère l'avoir modifié comme attendu.

Go Up