[Programmation] ARDUINO Exercice comptage et LED - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 35 sur 35

ARDUINO Exercice comptage et LED



  1. #31
    antek

    Re : ARDUINO Exercice comptage et LED


    ------

    Citation Envoyé par Chtulhu Voir le message
    Non revoyez vos bases, le type boolean n'existe pas en C ANSI, c'est un type créer à partir d'un octet donc un char.
    Et du C++ pour un µC 8 bits c'est du grand n'importe quoi également.
    Ce n'est ni du C ANSI ni vraiment du C++.
    C'est du C++ mode arduino et ça ne concerne pas un µC mais le système arduino.

    -----

  2. #32
    Chtulhu

    Re : ARDUINO Exercice comptage et LED

    Ca je sais bien que ce n'est pas du C ANSI, ni du C++ ça se saurait c'est ce que je dis depuis le début, c'est du patois.
    Système arduino?
    C++ mode arduino?
    Vous ne devez pas trop savoir de quoi vous parlez monsieur, un programme tel que celui-ci concerne un µC et devrait donc être compatible en terme de portabilité, il n'y a aucune notion de "système" ici.
    Dernière modification par Chtulhu ; 22/11/2017 à 14h10.

  3. #33
    freepicbasic

    Re : ARDUINO Exercice comptage et LED

    Programme compilé et testé OK

    La logique est, le contact de masse valide le bouton donc mettre une pull up.

    bouion1 : pin 3 incrémente
    bouion2 : pin 4 décrémente
    bouion3 : pin 5 fonction Mode/Run

    Led pin 9

    Il y a 2 modes qui programment ;
    1) mode "Flash" , le nombre de flash
    2) mode "Temps" ,le temps allumé ET éteint.

    En mode 2. L'appui sur le bouton 3 (Mode/Run) lance la séquence ainsi programmé,
    Puis à la fin de la séquence on repasse en mode 1.

    La base de temps est de 500ms, donc le chiffre affiche sera x 500 dans le delay(MyTemps)

    Il ne faut pas trop faire confiance au pull up ou pull down interne.
    Le fait de mettre le doigt sur le fil (pourtant bien isolé) fait basculer .
    Une 10k est nécessaire !

    Code:
    #define bouton1  digitalRead(3)
    #define bouton2  digitalRead(4)
    #define bouton3  digitalRead(5)
    #define LED 10
    #define LED2 9
    #define LED3 11
    
    int comptage = 1;
    int temps = 1;
    boolean mode =0;
    
    void Run(void);
    
    
    
    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600);
      Serial.println("Start");
      pinMode (bouton1, INPUT_PULLUP);
      pinMode (bouton2, INPUT_PULLUP);
      pinMode (bouton3, INPUT_PULLUP);
     
      digitalWrite (LED, LOW);
      digitalWrite (LED2, LOW);
      digitalWrite (LED3, LOW);
     
      pinMode (LED, OUTPUT);
      pinMode (LED2, OUTPUT);
      pinMode (LED3, OUTPUT);
      digitalWrite (LED, HIGH);
      digitalWrite (LED2, HIGH);
      digitalWrite (LED3, HIGH);
    
     
     delay(1000);
      digitalWrite (LED, LOW);
      digitalWrite (LED2, LOW);
      digitalWrite (LED3, LOW);
    
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
    if (mode==0) {
      if (bouton1==LOW) {
          comptage++;
          Serial.println("flash");
          Serial.println(comptage);
          delay(200);
          if (comptage>10) comptage=8;
    
      //     digitalWrite (LED, HIGH); // test
           while (bouton1==LOW) ;
         }
    
      if (bouton2==LOW) {
          comptage--;
          Serial.println("flash");
          Serial.println(comptage);
          delay(200);
          if (comptage<1) comptage=1;
    //       digitalWrite (LED, LOW); //test
          while (bouton2==LOW) ;
         }
     }
     else {
      if (bouton1==LOW) {
          temps++;
          Serial.println("temps");
          Serial.println(temps);
          delay(200);
          if (comptage>10) comptage=8;
          while (bouton1==LOW) ;
         }
    
      if (bouton2==LOW) {
          temps--;
          Serial.println("temps");
          Serial.println(temps);
          delay(200);
          if (comptage<1) comptage=1;
          while (bouton2==LOW) ;
         }
    
     }
     
       if (bouton3==LOW) { 
        delay(200);
        if (mode==1) {
           Run();
           mode = 0;
           Serial.println("Mode flash");
           }
        else {
           mode =1;
           Serial.println("Mode Temps");
           }
        while (bouton3==LOW) ;
        }
         
     }
    
    void Run(void) {
      int i;
      int MyTemps;
          MyTemps = temps * 500;
      
          Serial.print("Run\r\n Compte:");
          Serial.print(comptage);
          Serial.print(", Temps : ");
          Serial.println(temps);
      
        for (i = 0; i < comptage; i++) {
          digitalWrite (LED, HIGH);
          delay(MyTemps);
          digitalWrite (LED, LOW);
          delay(MyTemps);
        }
          Serial.print("End");
    }
    Dernière modification par freepicbasic ; 22/11/2017 à 15h57.
    A+, pat

  4. #34
    antek

    Re : ARDUINO Exercice comptage et LED

    Citation Envoyé par Chtulhu Voir le message
    Vous ne devez pas trop savoir de quoi vous parlez monsieur, un programme tel que celui-ci concerne un µC et devrait donc être compatible en terme de portabilité, il n'y a aucune notion de "système" ici.
    C'est un langage propriétaire fortement inspiré C++.
    Non, ce langage ne concerne pas un µC mais le système arduino; il est compatible avec les cartes arduino quel que soit le µC utilisé.

    Système arduino = carte arduino + langage arduino + IDE arduino

  5. #35
    Enora44

    Re : ARDUINO Exercice comptage et LED

    S'il vous plaît messieurs pas de débat de langage, simplement une aide pour mon exo.

    Citation Envoyé par freepicbasic Voir le message
    Arduino Boolean;
    https://www.arduino.cc/reference/en/...types/boolean/
    L'exemple a été compiler OK, Donc avec un truc qui n'existe pas ça serait difficile LOL.
    Il faut le compléter 'essayer...

    Le type Boolean existe C++ !
    Arduino c'est du C++ pas du C !

    0 = false
    1 = true

    Si le but est d'apprendre, il suffit d'appliquer les conseils et les exemples que j'ai donné.
    Merci freepicbasic. Je vais continuer.

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. [Programmation] Comptage/Decomptage Arduino Code Difficulté
    Par armelito60 dans le forum Électronique
    Réponses: 2
    Dernier message: 14/11/2017, 16h42
  2. [Programmation] fonction comptage de temps arduino
    Par kaky951357 dans le forum Électronique
    Réponses: 0
    Dernier message: 13/02/2016, 13h50
  3. Carte Arduino UNO R3 ou Arduino Mega 2560 R3 ?
    Par theoze dans le forum Électronique
    Réponses: 10
    Dernier message: 11/03/2015, 15h36
  4. Communication arduino-arduino avec module Xbee
    Par TPESI22012 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/12/2013, 17h24
Découvrez nos comparatifs produits sur l'informatique et les technologies.