IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Arduino Discussion :

Arduino MEGA: commander une sortie +5V sans relais ?


Sujet :

Arduino

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 106
    Points : 41
    Points
    41
    Par défaut Arduino MEGA: commander une sortie +5V sans relais ?
    Bonjour,

    J'ai l'habitude de commander des relais avec mes Arduino (Nano ou Mega), mais aujourd'hui je cherche à pouvoir éteindre/allumer un écran LCD (2x16) à partir de la MEGA.

    Je pourrais bien sûr utiliser la MEGA pour piloter un relais (qui ferait passer ou pas le +5V) et donc allumerait ou pas l'écran LCD, mais je voudrais savoir s'il y a une autre possibilité permettant de se passer de relais ?

    Par exemple, y a-t-il possibilité de sortir du +5V directement sur une pin de la MEGA qui permettrait d'alimenter un LCD sans relais ?

    Merci pour vos réponses,

  2. #2
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Nounours18200

    Avec la librairie LiquidCrystal_I2C.h il y a les fonctions:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    lcd.noBacklight();
    // et
    lcd.backlight();
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 106
    Points : 41
    Points
    41
    Par défaut
    Ah superbe piste !

    Dans mon programme actuel qui pilote un écran LCD DFRobot DFR0555 (2x16), j'ai utilisé les librairies suivantes:

    #include <Wire.h> // librairy requise pour l'écran LCD, incluse dans l'IDE Arduino

    #include "DFRobot_LCD.h" // librairy gérant les afficheurs DFRobot 0555 et équivalents
    Je suppose que "Wire.h" reste requise, mais si je comprends bien, tu remplacerais "DFRobot.h" par "LiquidCrystal_I2C.h" ??

    Merci pour ta réponse,

  4. #4
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 737
    Points : 5 447
    Points
    5 447
    Par défaut
    Citation Envoyé par Nounours18200 Voir le message
    ...qui pilote un écran LCD DFRobot DFR0555 (2x16)...
    la bibliothèque que vous utilisez propose les méthodes suivantes pour allumer et éteindre la backLight
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      void blinkLED(void);
      void noBlinkLED(void);
    ou vous pouvez aussi appeler
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setBacklight(LOW ou HIGH); // LOW pour éteindre, HIGH pour allumer;

    Pour bloquer temporairement l'affichage, puis le débloquer (éviter que ça "clignote" quand il y a plusieurs champs à mettre à jour) vous avez
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      void noDisplay();
      void display();

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 106
    Points : 41
    Points
    41
    Par défaut
    Mille mercis : tu m'as donné exactement les infos dont j'avais besoin !

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 106
    Points : 41
    Points
    41
    Par défaut
    Re bonjour,

    Je viens d'implémenter ce que tu m'as dit, mais bien que la compilation soit OK, il n' y a aucune action sur l'affichage du LCD qui reste allumé...

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    if((results.value==0x79F)||(results.value==0xF9F)) // Valeurs "79F" et "F9F" correspondant au Bouton "Back/Exit" de la Télécommande
    { 
    Serial.println("Appui sur Back/Exit: allumer/eteindre LCD ");
    Serial.println(results.value, HEX);
     
    if (eclairage == true) 
    {
    	void noBlinkLED(void); // Si "eclairage" est vrai alors le LCD devait être éclairé et on l'éteint
    	eclairage = !eclairage; // et on inverse le booleen qui nous donne l'état du LCD
    } else 
    {
    	void blinkLED(void); // sinon "eclairage" était faux et donc le LCD éteint, et donc on allume le LCD
    	eclairage = !eclairage; // et on inverse le booleen qui nous donne l'état du LCD
    }
     
     
     
     
    results.value==0x000;
    irrecv.resume();
    }
    J'ai aussi eessayé avec la 2ème solution que tu m'as donné, à savoir utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setBacklight(LOW ou HIGH); // LOW pour éteindre, HIGH pour allumer;
    et c'est pareil; aucun effet !

    Je ne sais pas si c'est utile, mais mon afficheur est un I2C.
    Une idée ??

  7. #7
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Nounours18200

    Je n'ai pas ce type d'affichage, mais la librairie DFRobot_LCD.h a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    lcd.blink();
    lcd.blink_off();
    lcd.blinkLED();
    lcd.noBlinkLED();
    lcd.noDisplay();
    lcd.display();
    Essaies tout ça

    Bonne soirée
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  8. #8
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 737
    Points : 5 447
    Points
    5 447
    Par défaut
    Citation Envoyé par jpbbricole Voir le message
    Bonsoir Nounours18200

    Je n'ai pas ce type d'affichage, mais la librairie DFRobot_LCD.h a:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    lcd.blink();
    lcd.blink_off();
    cd.blinkLED();
    lcd.noBlinkLED();
    lcd.noDisplay();
    lcd.display();
    Oui. Ce sont certaines des méthodes que j'ai listé en réponse #4.

    @ Nounours18200

    Vous avez un lien sur votre module d'afficheur? est-ce le Gravity I2C 16x2 Arduino LCD with RGB Font Display SKU DFR0554?

    + donnez nous une description exacte du câblage

    Que voyez vous dans la console série lors des appuis?

    Sinon on ne déclenche pas un appel de méthode comme cela... (ce que vous avez fait c'est une déclaration locale de prototype de fonction, ça n'a aucun effet). On l'appelle sur l'instance du lcd.
    il faut écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    DFRobot_LCD lcd(16,2);  //16 characters and 2 lines of show
    
    ....
    
    if (eclairage) {
      lcd.noBlinkLED(); // Si "eclairage" est vrai alors le LCD devait être éclairé et on l'éteint
      eclairage = false; // et on inverse le booleen qui nous donne l'état du LCD
    } else {
      lcd.blinkLED(); // sinon "eclairage" était faux et donc le LCD éteint, et donc on allume le LCD
      eclairage = true; // et on inverse le booleen qui nous donne l'état du LCD
    }
    suivant le module blinkLED() fait ce que normalement ça veut dire, c'est à dire clignoter l'écran.

    Si c'est le cas il faudra alors écrire (et c'est plus compact / "mieux")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    eclairage != eclairage;
    lcd.setBacklight(eclairage ? HIGH : LOW);
    sinon si c'est un 1602 standard avec pack extension I2C, prenez la bibliothèque que @JP a mentionné. elle est tout à fait fonctionnelle DFR0555

  9. #9
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Salut Jay M
    Citation Envoyé par Jay M Voir le message
    Oui. Ce sont certaines des méthodes que j'ai listé en réponse #4.
    Oui, mais j'ai expliqué "en Arduino", donc directement utilisable.
    Je me suis basé sur la bibliothèque du DFR0555 (2x16) DFRobot_LCD.h

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  10. #10
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 737
    Points : 5 447
    Points
    5 447
    Par défaut
    Oui - il semblait confus sur l’appel de méthode sur une instance - bizarre alors qu’il doit le faire pour toute écriture sur son lcd - donc ça me semblait acquis.

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 106
    Points : 41
    Points
    41
    Par défaut
    Re-bonsoir,

    J'avais bien essayé d'utiliser les méthodes que vous avez données, mais j'obtenais une erreur de compilation...
    J'ai fini par comprendre que cela venait d'une définition foireuse plus haut dans le code de l'include de la librairie "DFRobot_LCD.h" ---> j'ai corrigé ça et désormais les fonctions que vous évoquez sont reconnues et fonctionnent bien, sauf que ce n'est pas ce dont j'ai besoin...

    Je m'explique:
    • Les fonctions "lcd.blink();" et "lcd.noBlinkLED();" gèrent le clignotement de l'afficheur
    • Les fonctions "lcd.noDisplay();" et "lcd.display();" concernent uniquement le texte affiché : elles permettent de l'afficher ou de le faire disparaître, mais elles n'éteignent pas le LCD. Celui-ci a toujours son rétro-éclairage, et ce que je cherche à faire c'est justement d'éteindre complètement le LCD (puis de le rallumer quand j'en aurai besoin).


    Donc désormais il faut trouver si cette librairie "DFRobot_LCD.h" contient une fonction permettant d'éteindre le LCD (si elle contient une telle fonction) ???

    Où avez-vous trouvé la liste des fonctions incluses dans cette librairie ?
    comme il se fait tard, je lirai vos réponses demain...

    Merci pour l'aide que vous apportez !

    P.S.:
    Le Moniteur série affiche bien les codes reçus et désormais les fonctions citées sont parfaitement reconnues et exécutées.
    Le câblage est un I2C classique : [SDA et SCL] de l'afficheur vers les pins correspondantes de l'Arduino, et +5V/GND pour l'alimenter.

    Le LCD est bien un DFR0555 dont vous pouvez trouver la Datasheet ici: https://www.infinity-electronic.hk/p...t_DFR0555.aspx

  12. #12
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonsoir Nounours1802

    Autre chose ici.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        for(int i=254; i>=0; i--){
            lcd.setPWM(color, i);
            delay(5);
        }
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  13. #13
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 737
    Points : 5 447
    Points
    5 447
    Par défaut
    Citation Envoyé par Nounours18200 Voir le message
    Où avez-vous trouvé la liste des fonctions incluses dans cette librairie ?]
    il faut regarder dans le fichier .h qui définit l'interface de la classe. Vous y verrez les commandes, certaines que j'ai mis en rouge se rapportent à l'écran mais ça doit aussi dépendre du modèle car la bibliothèque s'applique à plusieurs de leurs produits
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    void init();
      
      void clear();
      void home();
    
      /*!
       *  @brief Turn the display on/off (quickly)
       */
      void noDisplay();
      void display();
    
      /*!
       *  @brief Turn on and off the blinking showCursor
       */
      void stopBlink();
      void blink();
    
      /*!
       *  @brief Turns the underline showCursor on/off
       */
      void noCursor();
      void cursor();
    
      /*!
       *  @brief These commands scroll the display without changing the RAM
       */
      void scrollDisplayLeft();
      void scrollDisplayRight();
     
      /*!
       *  @brief This is for text that flows Left to Right
       */
      void leftToRight();
     
      /*!
       *  @brief This is for text that flows Right to Left
       */
      void rightToLeft();
    
      /*!
       *  @brief This will 'left justify' text from the showCursor
       */
      void noAutoscroll();
     
      /*!
       *  @brief This will 'right justify' text from the showCursor
       */
      void autoscroll();
       
      /*!
       *  @brief Allows us to fill the first 8 CGRAM locations
       *		 with custom characters
       */
      void customSymbol(uint8_t, uint8_t[]);
      void setCursor(uint8_t, uint8_t);  
      
      /*!
       *  @brief color control
       */
      void setRGB(uint8_t r, uint8_t g, uint8_t b);               // set rgb
      void setPWM(uint8_t color, uint8_t pwm){setReg(color, pwm);}      // set pwm 
      void setColor(uint8_t color);
      void setColorAll(){setRGB(0, 0, 0);}
      void setColorWhite(){setRGB(255, 255, 255);}
    
      /*!
       *  @brief blink the LED backlight
       */
      void blinkLED(void);
      void noBlinkLED(void);
    
      /*!
       *  @brief send data
       */
      virtual size_t write(uint8_t);
    
      /*!
       *  @brief send command
       */
      void command(uint8_t);
      
      /*!
       *  @brief compatibility API function aliases
       */
      void blink_on();						// alias for blink()
      void blink_off();       					// alias for noBlink()
      void cursor_on();      	 					// alias for cursor()
      void cursor_off();      					// alias for noCursor()
      void setBacklight(uint8_t new_val);				// alias for backlight() and nobacklight()
      void load_custom_character(uint8_t char_num, uint8_t *rows);	// alias for createChar()
      void printstr(const char[]);
    il y a aussi pas mal d'exemples dans la bibliothèque, notamment celui qui "respire" (fade)
    Nom : fade.png
Affichages : 181
Taille : 43,3 Ko

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #include <Wire.h>
    #include "DFRobot_LCD.h"
    
    DFRobot_LCD lcd(16,2);  //16 characters and 2 lines of show
    
    void breath(unsigned char color){
        for(int i=0; i<255; i++){
            lcd.setPWM(color, i);
            delay(5);
        }
    
        delay(500);
        for(int i=254; i>=0; i--){
            lcd.setPWM(color, i);
            delay(5);
        }
    
        delay(500);
    }
    
    void setup() {
        // initialize
        lcd.init();
        // Print a message to the LCD.
        lcd.print("fade demo");
    }
    
    void loop() {
       //breath(REG_RED);
       //breath(REG_GREEN);
       //breath(REG_BLUE);
         breath(REG_ONLY);
    }

  14. #14
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Nounours18200
    Citation Envoyé par Nounours18200 Voir le message
    Où avez-vous trouvé la liste des fonctions incluses dans cette librairie ?
    Le plus simple est d'utiliser un IDEpour Arduino ayant la fonction d'auto-completion. Ca permet, ou automatiquement ou en pressant Ctrl Espace, d'avoir la suite, si connue, de ce que l'on tape. Pour ton exemple on tale lcd. puis Ctrl Espace et ça donne Ca.

    Nom : Auto-Completion.png
Affichages : 157
Taille : 10,1 Ko

    Il y a même des info supplémentaires.

    J'utilise Atmel Studio avec l'extension VisualMicro.

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  15. #15
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 737
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : mad scientist :)

    Informations forums :
    Inscription : Septembre 2019
    Messages : 2 737
    Points : 5 447
    Points
    5 447
    Par défaut
    Citation Envoyé par jpbbricole Voir le message
    Le plus simple est d'utiliser un IDEpour Arduino ayant la fonction d'auto-completion. ...
    Oui ça sipmplifie grandement la vie

    Il faut juste faire attention et ne pas y mettre une confiance aveugle.

    Nom : Auto-Completion.png
Affichages : 161
Taille : 28,8 Ko

    Dans le cas présent vous avez à la fin du fichier header les méthodes suivantes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      uint8_t status();
      void setContrast(uint8_t new_val);
      uint8_t keypad();
      void setDelay(int,int);
      void on();
      void off();
      uint8_t init_bargraph(uint8_t graphtype);
      void draw_horizontal_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_col_end);
      void draw_vertical_graph(uint8_t row, uint8_t column, uint8_t len,  uint8_t pixel_col_end);
    qui vont sans doutes être repérées par l'auto-complete mais en lisant le .h vous verrez qu'il y a un commentaire de l'auteur juste au dessus qui dit que pour tout ce groupe de commandes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      /*!
       *  @brief Unsupported API functions (not implemented in this library)
       */
    ==> ça ne remplace pas toujours la lecture du .h, on pourrait avoir eu de l'espoir avec les deux méthodes aux noms évocateurs suivantes par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      void on();
      void off();
    les programmeurs ont l'habitude de dire "the source code is the ultimate documentation"

  16. #16
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour à tous

    Il y a aussi Programino (Payant 29€), mais qui les vaut. Il offre aussi l'auto-completion, il a pas mal d'outils qui facilitent la vie.
    L'auto-complétion n'est pas la panacée comme se plaît à le relever @Jay M, mais son usage est quand même plus pertinent, dans un cadre Arduino, que de "fouiller" dans des .h
    Au pire, sans auto-completion, il suffit de faire les exemples des bibliothèques pour en apprendre les fonctions, c'est très utile et plus "Arduino compatible".

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 106
    Points : 41
    Points
    41
    Par défaut
    Bon, et bien nous n'y sommes pas encore !...

    J'avais beaucoup d'espoir avec les méthodes "void on();" et "void off();", mais elles n'ont absolument aucun effet sur l'affichage.

    Pas d'erreur de compilation mais aucun effet du tout

    Donc toujours dans l'impasse...

  18. #18
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Bonjour Nounours18200
    Citation Envoyé par Nounours18200 Voir le message
    Bon, et bien nous n'y sommes pas encore !...
    J'avais beaucoup d'espoir avec les méthodes "void on();" et "void off();", mais elles n'ont absolument aucun effet sur l'affichage.
    Pas d'erreur de compilation mais aucun effet du tout

    Donc toujours dans l'impasse...
    Pourquoi ne pas essayer une manière plus conventionnelle comme indiqué ici?

    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 106
    Points : 41
    Points
    41
    Par défaut
    Effectivement j'étais en train de me pencher dessus puisqu'il me semble que c'est la dernière chose à tenter (avant que je pilote moi-même l'alim avec un relais si ça continue de me prendre la tête !...)

    Le code auquel tu penses est-il celui-ci ?:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     for(int i=254; i>=0; i--){
            lcd.setPWM(color, i);
            delay(5);
        }
    Par contre je fais peut-être une confusion, mais quand je vois "PWM" dans l'instruction, cela signifie-t-il que je dois changer quelque chose à mon câblage ?

    actuellement I2C (donc SDA et SCL) et classiquement +5V/GND.

  20. #20
    Membre émérite
    Avatar de jpbbricole
    Homme Profil pro
    Retraité des réseaux informatiques
    Inscrit en
    Février 2013
    Messages
    1 012
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Retraité des réseaux informatiques
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2013
    Messages : 1 012
    Points : 2 341
    Points
    2 341
    Par défaut
    Non, pas du tout, l'ordre est "transporté" par i2C, tu t'en occupes pas.
    C'est extrait de cet article.

    A+
    Cordialement
    jpbbricole
    L'expérience est la seule chose qu'il ne faut acheter que d'occasion!

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 7
    Dernier message: 28/07/2013, 19h08
  2. Commander une carte relais à partir de VB
    Par boboch dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 27/01/2012, 08h51
  3. Redirection d'une commande dans sortie
    Par fabou3377 dans le forum Linux
    Réponses: 3
    Dernier message: 05/01/2009, 13h52
  4. Réponses: 3
    Dernier message: 01/09/2008, 11h17
  5. Réponses: 5
    Dernier message: 16/03/2007, 12h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo