Lexique des commandes

Bonjour,

J'ai déjà fait des montages à base d'arduino sans comprendre le fonctionnement mais maintenant j'aimerais mieux comprendre et même en créer.

Existe t-il un lexique des différentes commandes avec des exemples?

Par exemple, je voudrais savoir ce que veut dire:
int taree = 6; //pour cette ligne, c'est de déclarer une constante connectée à la broche D6 mais pour la seconde...
float b =0;

Merci pour votre aide.

Diiity

Non pas vraiment, ce que tu appel des commandes est en fait un langage, en l'occurrence le C/C++(oui il en existe d'autre utilisable sur Arduino).
Le mieux que l'on puisse conseiller est de suivre le site de l'eskimon
Si tu as des questions après avoir lu ce site, n'hésite pas à nous demander des détailles.

int taree = 6; 

Cette instruction déclare une variable non constante de type int, c'est à dire que la variable peu prendre une valeur -32768 à 32757(attention ceci est valable sur le microprocesseur 8bits).
La variable étant initialisé avec la valeur 6.
Tel quel, il n'y ait fait aucun référence à un numéro de broche, par contre la variable peut être utiliser pour préciser la valeur d'une broche(D6) à une focntion.

float b =0;

Du coup c'est instruction est quasiment identique, la variable b est un nombre à virgule flottante initialiser avec la valeur 0.

Il y a ça :

Oups, j'avais tout faux.

Je reviens sur b, il signifie quoi au jute, a t il un rapport avec la ligne int taree = 6?

Bien, merci à vous 2
Diiity

Bonjour

b n'a aucune signification a part faire référence a un nom donné a la variable.
on pourrait aussi bien mettre Toto a condition de remplacer partout b par Toto

par contre il est interdit de nommer une variable par un mot réservé du langage !

int taree = 6

taree ne veut rien dire puisque c'est une variable ..

mettons nous dans la tête de celui qui a écris le programme

si c'est une programme de balance ca peut dans son esprit représenter la tare ...

s'il compte des fous dans un asile taree prend une toute autre signification

il est préférable d'utiliser des variables parlantes ...

int cette_variable_je_sais_a_quoi_ca_correspont_cest_le_prix_du_lait = 2;

faut pas non plus exagérer !

un bouquin de programmation en C++ ou le cours en ligne de openclassrooms par exemple

le b n'apparait que sur cette ligne, c'est bizarre...

bizarre non pas vraiment, il s'agit peut être d'un oubli dans la suppression de code.

bien je peux donc le commenter, on ne sais jamais

Comme tu ne donne pas ton code, impossible d'être sur.
Donc surement, après tu peux toujours supprimer les trucs qui te semble inutile, souvent cela génère une erreur à la compilation, des fois cela change le comportement de ton application

Le voici, j'ai commenté et vérifié ça passe

//Viral Science www.viralsciencecreativity.com www.youtube.com/c/viralscience
//Arduino Digital Weight Scale HX711 Load Cell Module
#include <HX711_ADC.h> // https://github.com/olkal/HX711_ADC
#include <Wire.h>
#include <LiquidCrystal_I2C.h>                   // LiquidCrystal_I2C library
HX711_ADC LoadCell(4, 5); // dt pin, sck pin
LiquidCrystal_I2C lcd(0x27, 16, 2);              // LCD HEX address 0x27
int taree = 6;                                   // taree pin D6
//int a = 0;
//float b = 0;

void setup() {
  pinMode (taree, INPUT_PULLUP);
  LoadCell.begin();                              // démarrer la connexion au HX711
  LoadCell.start(1000);                          // les cellules de charge ont 1000 ms de temps pour se stabiliser

  //ETALONNAGE
  LoadCell.setCalFactor(353.8);                  // 375 d'origine.Étalonnez votre CELLULE DE CHARGE avec un poids de 100                                            //g et modifiez la valeur en fonction des lectures
  //
  
  lcd.init();                                    // commence la connexion au module LCD
  lcd.backlight();                               // allume le rétroéclairage
  lcd.setCursor(0, 0);                           // placer le curseur sur la première ligne, avant (1 ,0)
  lcd.print("BANC DE TRACTION");                 // imprimer sur LCD   
  lcd.setCursor(1, 1);                           // placer le curseur sur la première ligne
  lcd.print(" 5KG MAXIMUM ");                    // imprimer sur LCD
delay(3000);
lcd.clear();
}
void loop() { 
  lcd.setCursor(0, 0);                            // placer le curseur sur la première ligne, avant (1 ,0)
  lcd.print("BANC DE TRACTION ");                 // imprimer sur LCD  
  LoadCell.update();                              // récupère les données de la cellule de pesée
  float i = LoadCell.getData();                   // obtenir la valeur de sortie
 if (i<0)
 {
  i = i * (-1);
  lcd.setCursor(0, 1);
  lcd.print("-");                                 //signe moins de gr
   //lcd.setCursor(8, 1);                         //signe moins de oz
  //lcd.print("-");
 }
 else
 {
   lcd.setCursor(0, 1);
  lcd.print(" ");
   lcd.setCursor(8, 1);
  lcd.print(" ");
 }
  
  lcd.setCursor(4, 1);                           //  placer le curseur sur la.....
  lcd.print(i, 1);                               //imprime la valeur récupérée sur la deuxième ligne. Le second chiffre                                        //indique la précision, soit 0=0, 1=0.1 et rien =0.01 derrière la virgule
  lcd.print("gr ");
  float z = i/28.3495;                           //conversion gr en oz
  //lcd.setCursor(9, 1);                         // suppression de oz
  //lcd.print(z, 2);                             // suppression de oz
  //lcd.print("oz ");                            // suppression de oz

  if (i>=5000)
  {
    i=0;
  lcd.setCursor(0, 0);                           //  placer le curseur sur la.....
  lcd.print("  Surchargé   ");                   //Surchargé 
  delay(200);
  }
  if (digitalRead (taree) == LOW)                //si taree est à l'état bas, tiré à gnd
  {
    lcd.setCursor(0, 1);                         // placer le curseur sur la.....
    lcd.print("   Tarage...    ");
    LoadCell.start(1000);                        //redémarre l'inscription sur le lcd après tarage
    lcd.setCursor(0, 1);                         // placer le curseur sur la.....
    lcd.print("                ");
  }
}

Effectivement, cela semble être des reliquat du code de mise au point.

bien merci
Diiity

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