Programme arduino, relais et clavier matriciel 4*4 - Page 2
Répondre à la discussion
Page 2 sur 5 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 142

Programme arduino, relais et clavier matriciel 4*4



  1. #31
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4


    ------

    C'est plus simple alors... Tu créées une variable qui contient un temps. Dans ton code, un appui sur "1" met 300 dans la variable temps, un appui sur "2" met 400, etc....

    Et toujours à la suite, si appui sur A, tu colles le relais 1, avec une tempo de "temps" secondes, bouton B, relais 2, tempo de XX secondes....

    Pas difficile !

    -----
    La robotique, c'est fantastique !

  2. #32
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    Pas difficile...
    Je sais pas comment faire. Dans la théorie c'est bon tout est clair mais devant le logiciel arduino je sais pas comment faire... J'écris quoi? C'est ca qui me bloque.
    Je sais tout juste allumé et éteindre une led du coup c'est un peu compliqué pour moi.

  3. #33
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    Comment je crais ces variables?

  4. #34
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Bin... C'est vrai que si tu n'as pas de connaissances en programmation, ça pas être facile pour moi de t'aider... Faire le code pour toi n'aura rien de pédagogique et tu n'apprendras rien.

    Regarde comment créer et assigner des valeurs à des variables, et comment intégrer des variables en tant que paramètres dans l'appel d'une fonction. (Tu en as déjà des exemples dans ton code). Ce que tu cherches à faire n'est vraiment pas compliqué !
    La robotique, c'est fantastique !

  5. #35
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    Si j'ecris :

    Code:
    voices setup()
    
    int touche1==delay(300)
    int touche2==delay(400)
    int touche3==delay(500)
    
    int toucheA==Relay1
    int toucheB==Relay2
    int toucheC==Relay3
    int toucheD==Relay4
    C'est bon comme variable ou faut que j’arrête la programmation? lol

  6. #36
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Arrête la programmation !

    Code:
    voices setup()   -> faute de syntaxe  
    ???              -> absence de { et }. 
    
    int touche1==delay(300)  -> le double égal n'est utilisé que pour les comparaisons. Pour assigner une valeur, un simple égal suffit.      delay(300) ne veut rien dire : c'est un appel à une fonction. 
    int touche2==delay(400)
    int touche3==delay(500)  -> et il manque des ; partout !
    
    int toucheA==Relay1      -> je ne vois pas ce que tu veux faire là. (Plus globalement, je ne vois pas non plus ce que ton code doit faire) 
    int toucheB==Relay2
    int toucheC==Relay3
    int toucheD==Relay4

    Il faut créer UNE variable, dont le contenu va varier en fonction des appuis sur les touches. Appui sur touche 1 -> mise de 300 dans la variable.


    Commence par écrire en français ce que tu veux que le programme fasse.

    Prends le temps de regarder la doc d'arduino et regarde les points que je t'ai donnés en #34.
    La robotique, c'est fantastique !

  7. #37
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    C'est vrai que j'ai pas mit les ; ni les } mais j'ai écrit vite fais juste pour que que tu me dises si je suis dans la bonne voie ou pas.
    Montre moi ce que j'aurais du écrire, parce-que seul je ne trouverais pas..

    Comment créer et assigner des valeurs à des variables?
    Comment intégrer des variables en tant que paramètres dans l'appel d'une fonction?
    J'ai cherché mais je tourne en rond.

    int temps1 "puis quelque chose" c'est bon? ou c'est plus temps1= "quelque choses"?

  8. #38
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Citation Envoyé par jmjim Voir le message
    C'est vrai que j'ai pas mit les ; ni les } mais j'ai écrit vite fais juste pour que que tu me dises si je suis dans la bonne voie ou pas.
    Si tu veux te lancer sérieusement dans la programmation, prends immédiatement l'habitude d'écrire correctement. Après, ça se fera tout seul et tu n'oublieras rien (et ça compilera du premier coup !!)

    Citation Envoyé par jmjim Voir le message
    Montre moi ce que j'aurais du écrire, parce-que seul je ne trouverais pas..
    Commence par écrire en français ce que le programme doit faire :

    si appui sur bouton 1 alors variable temps = 300
    si appui sur bouton A alors faire coller le relais A, puis attente de "temps" milli secondes
    (...)

    Et ensuite (seulement ensuite) regarde comment intégrer cela à ton code existant. Repère les endroits qui correspondent aux évènements "appui sur bouton XX", et fait les modifications nécessaires pour que ton code en "français" soit transposé en code arduino.

    Citation Envoyé par jmjim Voir le message
    Comment créer et assigner des valeurs à des variables?
    Comment intégrer des variables en tant que paramètres dans l'appel d'une fonction?

    J'ai cherché mais je tourne en rond.
    Il n'y a pas à se prendre la tête... Il y a des exemples donnés dans ton code, et la doc de arduino est là pour t'aider, il suffit de se motiver un peu... Regarde ici pour la déclaration de variables : http://www.arduino.cc/en/Reference/VariableDeclaration

    Citation Envoyé par jmjim Voir le message
    int temps1 "puis quelque chose" c'est bon? ou c'est plus temps1= "quelque choses"?
    Je te laisse conclure...

    PS : je suis AFK pour quelques jours, donc prends le temps de lire les docs et de réfléchir...!
    La robotique, c'est fantastique !

  9. #39
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    Ok merci des conseils...
    Je suis motivé mais c'est vraiment pas évident juste avec des tuto (bien qu'il soit franchement bien foutu).
    Je vais faire ce que tu m'as dit et j'espère comprendre la logique.
    Merci.

  10. #40
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    Citation Envoyé par Yoruk Voir le message
    Si tu veux te lancer sérieusement dans la programmation, prends immédiatement l'habitude d'écrire correctement. Après, ça se fera tout seul et tu n'oublieras rien (et ça compilera du premier coup !!)



    Commence par écrire en français ce que le programme doit faire :

    si appui sur bouton 1 alors variable temps = 300
    si appui sur bouton A alors faire coller le relais A, puis attente de "temps" milli secondes
    (...)

    Et ensuite (seulement ensuite) regarde comment intégrer cela à ton code existant. Repère les endroits qui correspondent aux évènements "appui sur bouton XX", et fait les modifications nécessaires pour que ton code en "français" soit transposé en code arduino.



    Il n'y a pas à se prendre la tête... Il y a des exemples donnés dans ton code, et la doc de arduino est là pour t'aider, il suffit de se motiver un peu... Regarde ici pour la déclaration de variables : http://www.arduino.cc/en/Reference/VariableDeclaration



    Je te laisse conclure...

    PS : je suis AFK pour quelques jours, donc prends le temps de lire les docs et de réfléchir...!

    Salut,

    Peux-tu m'aider point par point et avancer dans le programme comme ca?

    Si je commence ma variable par :

    Code:
    Int Temps = 0
    Jusque la je part bien?
    Dernière modification par jmjim ; 30/04/2015 à 13h47.

  11. #41
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Elle fait quoi cette ligne pour toi ?
    La robotique, c'est fantastique !

  12. #42
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    Seule elle fait rien mais je voulais mettre :
    Code:
    int temps = 0;
    temps = touche;
    touche1 = 300;
    touche2 = 400;
    etc..
    J'ai essayé de faire comme tu m'as dit.
    J'ai crée une variable temps qui change quand j'appuis sur les différente touches (1, 2, ou3)

  13. #43
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Citation Envoyé par jmjim Voir le message
    Seule elle fait rien
    Vlan, perdu !

    Citation Envoyé par jmjim Voir le message
    mais je voulais mettre :



    Code:
    int temps = 0;
    temps = touche;
    touche1 = 300;
    touche2 = 400;
    etc..
    Il est sensé faire quoi ce code ?

    Citation Envoyé par jmjim Voir le message
    J'ai essayé de faire comme tu m'as dit.
    J'ai crée une variable temps qui change quand j'appuis sur les différente touches (1, 2, ou3)
    Je demande à voir...?
    La robotique, c'est fantastique !

  14. #44
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    J'ai au moins essayé..
    J'ai voulu faire ce que tu m'avais dit.
    C'est pas de me dire gagné ou perdu qui me fera avancer.
    Je dois écrire quoi???
    Montre moi et je te poserais des questions parce que tout seul sans explications je trouverais jamais.
    Ecrit moi les bonnes "phrases" et je comprendrais par la suite avec tes explications.

  15. #45
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Comment tu veux qu'une ligne de code "ne fasse rien" ? Toute ligne sert à quelque chose ! Ici, il s'agit d'une affectation. Tu places la valeur 0 dans la variable entière Temps.

    Encore une fois, pars du programme en français. Tu as donné ça :

    1) J'appuis sur
    -'1' pour sélectionner 300ms
    -'2' pour sélectionner 400ms
    -'3' pour sélectionner 500ms

    et après j'appuyé sur
    -'A' pour le relais 1
    -'B' pour le relais 2
    -'C' pour le relais 3
    -'D' pour le relais 4
    Qui est juste, mais ce n'est pas tout à fait écrit correctement. Dans ton cas, il va falloir plutôt le mettre comme ça :

    Si appui sur 1, alors Temps =300
    Si appui sur 2, temps = 400
    (...)

    et ensuite :

    Si appui sur A, action sur relais 1
    Si appui sur B, relais 2
    (...)


    Tu vois le genre ? C'est la même chose que ce que tu as proposé, mais ré-écrit différemment. Mais c'est ce cette façon que ça va être traduit en code arduino.

    Tu sais maintenant comment affecter des valeurs à une variable. Maintenant, regarde dans ton code à quel moment l'évènement "si appui sur 1" est exécuté. Dans ton code à un moment, il y a des lignes qui sont exécutées au moment où le clavier détecte l'appui sur la touche "1". Trouve moi cet extrait...

    C'est à l'intérieur de ce code qu'il va falloir mettre "Temps = 300"... Tu vois le genre ?

    Au boulot...!
    La robotique, c'est fantastique !

  16. #46
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    Salut
    Dsl de répondre "tard", j'ai eut plein de chose à faire.

    J'ai reçu la arduino.
    J'ai testé le premier code que j'avais fait (deux trois erreur sur les entrées et sorties du clavier) rien de bien méchant, mais comme je pensais il faut appuiyer sur les touche 1 et A en même temps pour qu'il fonctionne.

    Pour en revenir à ce que tu m'as dit j'ai fais ce début de code, je précise qu'il n'ai pas fini (loin de là même).

    Code:
    #include <Keypad.h>
    
    #define RELAY_1 10
    #define RELAY_2 11
    #define RELAY_3 12
    #define RELAY_4 13
    
    
    //--- Constantes utilisées avec le clavier 4x4
    const byte LIGNES = 4; // 4 lignes
    const byte COLONNES = 4; //4 colonnes
    
    const int L1=2; //declaration constante de broche 
    const int L2=3; //declaration constante de broche 
    const int L3=4; //declaration constante de broche 
    const int L4=5; //declaration constante de broche 
    const int C1=6; //declaration constante de broche 
    const int C2=7; //declaration constante de broche 
    const int C3=8; //declaration constante de broche 
    const int C4=9; //declaration constante de broche 
    
    //--- Définition des touches 
    char touches[LIGNES][COLONNES] = {
      {'1','2','3','A'},
      {'4','5','6','B'},
      {'7','8','9','C'},
      {'*','0','#','D'}
    };
    
    // tableaux de lignes et colonnes
    byte BrochesLignes[LIGNES] = {L1, L2, L3, L4}; //connexions utilisées pour les broches de lignes du clavier
    byte BrochesColonnes[COLONNES] = {C1, C2, C3, C4}; //connexions utilisées pour les broches de colonnes du clavier
    
    char touche; // variable de stockage valeur touche appuyée
    
    // création d'un objet keypad = initialisation clavier 
    Keypad clavier = Keypad( makeKeymap(touches), BrochesLignes, BrochesColonnes, LIGNES, COLONNES );
    // les broches de lignes sont automatiquement configurées en ENTREE avec pullup interne activé 
    // les broches de colonnes sont automatiquement configurées en SORTIE
    
    int temps;
    
    
    void setup() {
    // on initialise les sorties et on éteind les leds connectées
        pinMode(RELAY_1, OUTPUT);  
        digitalWrite(RELAY_1, HIGH);
        pinMode(RELAY_2, OUTPUT);  
        digitalWrite(RELAY_2, HIGH);
        pinMode(RELAY_3, OUTPUT);  
        digitalWrite(RELAY_3, HIGH);
        pinMode(RELAY_4, OUTPUT);    
        digitalWrite(RELAY_4, HIGH);
        
      }
    
    void loop() { // debut de la fonction loop()
    
    // --- ici instructions à exécuter par le programme principal --- 
    
    touche = clavier.getKey(); // lecture de la touche appuyée
    
    
    if(touche != NO_KEY){ // si une touche a été frappée -- gestion de la touche appuyée 
      
      if(touche=='1') //si les touches '1' est tapée 
        {temps==300;} // la variable temps est à 300
       
    }}
    Est que mon début est bon?
    Dernière modification par jmjim ; 17/05/2015 à 17h35.

  17. #47
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Presque...!

    (Bon déjà évite le jaune, sur le fond gris ça ressort pas bien.)

    Ce qui ne va pas fonctionner c'est le double égal de Temps==300.

    Un "==" c'est pour les conditions (si truc == machin alors.... cf la ligne du dessus) tandis qu'un simple "=" est une affectation (tu places 300 dans la variable temps). Donc retire un "="....
    La robotique, c'est fantastique !

  18. #48
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    ah ok, je savais pas trop si c'était un ou deux.

    Si je suis mon texte en "francais" :
    si appui sur bouton 1 alors variable temps = 300 (c'est fait)
    si appui sur bouton A alors faire coller le relais 1, puis attente de "temps" milli secondes

    Je suis un peu bloque sur faire attendre le temps.

    Code:
    #include <Keypad.h>
    
    #define RELAY_1 10
    #define RELAY_2 11
    #define RELAY_3 12
    #define RELAY_4 13
    
    
    //--- Constantes utilisées avec le clavier 4x4
    const byte LIGNES = 4; // 4 lignes
    const byte COLONNES = 4; //4 colonnes
    
    const int L1=2; //declaration constante de broche 
    const int L2=3; //declaration constante de broche 
    const int L3=4; //declaration constante de broche 
    const int L4=5; //declaration constante de broche 
    const int C1=6; //declaration constante de broche 
    const int C2=7; //declaration constante de broche 
    const int C3=8; //declaration constante de broche 
    const int C4=9; //declaration constante de broche 
    
    //--- Définition des touches 
    char touches[LIGNES][COLONNES] = {
      {'1','2','3','A'},
      {'4','5','6','B'},
      {'7','8','9','C'},
      {'*','0','#','D'}
    };
    
    // tableaux de lignes et colonnes
    byte BrochesLignes[LIGNES] = {L1, L2, L3, L4}; //connexions utilisées pour les broches de lignes du clavier
    byte BrochesColonnes[COLONNES] = {C1, C2, C3, C4}; //connexions utilisées pour les broches de colonnes du clavier
    
    char touche; // variable de stockage valeur touche appuyée
    
    // création d'un objet keypad = initialisation clavier 
    Keypad clavier = Keypad( makeKeymap(touches), BrochesLignes, BrochesColonnes, LIGNES, COLONNES );
    // les broches de lignes sont automatiquement configurées en ENTREE avec pullup interne activé 
    // les broches de colonnes sont automatiquement configurées en SORTIE
    
    int temps;
    
    
    void setup() {
    // on initialise les sorties et on éteind les leds connectées
        pinMode(RELAY_1, OUTPUT);  
        digitalWrite(RELAY_1, HIGH);
        pinMode(RELAY_2, OUTPUT);  
        digitalWrite(RELAY_2, HIGH);
        pinMode(RELAY_3, OUTPUT);  
        digitalWrite(RELAY_3, HIGH);
        pinMode(RELAY_4, OUTPUT);    
        digitalWrite(RELAY_4, HIGH);
        
      }
    
    void loop() { // debut de la fonction loop()
    
    // --- ici instructions à exécuter par le programme principal --- 
    
    touche = clavier.getKey(); // lecture de la touche appuyée
    
    
    if(touche != NO_KEY){ // si une touche a été frappée -- gestion de la touche appuyée 
      
      if(touche=='1') //si les touches '1' est tapée.
        {temps=300;} // variable temps est à 300.
      if(touche=='A') // si touche 'A' est tapée.
        {digitalWrite(RELAY_1, LOW) //le relay_1 ce est alimenté.
        
    }}
    J'ai pas fermé le bracket après digitalWrite exprès..
    Comment dire maintenant attendre temps dans la variable?

  19. #49
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Citation Envoyé par jmjim Voir le message
    Comment dire maintenant attendre temps dans la variable?
    Code:
    delay(Temps);
    Tout simplement...! Ainsi la fonction delay() va être appelée avec, pour paramètre, le contenu de la variable Temps...

    http://www.arduino.cc/en/Reference/Delay
    La robotique, c'est fantastique !

  20. #50
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    Parfait...
    Mais c'est bizarre parce que hier j'ai fais plusieurs test et j'ai justement mis :
    Code:
    delay(temps);
    et ca m'a dit erreur quand j'ai vérifier.
    J'ai peu être du faire une erreur de frappe a "temps". Du coup j'étais bloque en croyant que c'était pas ca qu'il fallait mettre.

    Il y a juste que je peux pas activer plusieur relais a la fois. Je pence que c'est normal vu que je dans une bloucle loop, c'est bien ca?

    Code:
    #include <Keypad.h>
    
    #define RELAY_1 10
    #define RELAY_2 11
    #define RELAY_3 12
    #define RELAY_4 13
    
    
    //--- Constantes utilisées avec le clavier 4x4
    const byte LIGNES = 4; // 4 lignes
    const byte COLONNES = 4; //4 colonnes
    
    const int L1=2; //declaration constante de broche 
    const int L2=3; //declaration constante de broche 
    const int L3=4; //declaration constante de broche 
    const int L4=5; //declaration constante de broche 
    const int C1=6; //declaration constante de broche 
    const int C2=7; //declaration constante de broche 
    const int C3=8; //declaration constante de broche 
    const int C4=9; //declaration constante de broche 
    
    //--- Définition des touches 
    char touches[LIGNES][COLONNES] = {
      {'1','2','3','A'},
      {'4','5','6','B'},
      {'7','8','9','C'},
      {'*','0','#','D'}
    };
    
    // tableaux de lignes et colonnes
    byte BrochesLignes[LIGNES] = {L1, L2, L3, L4}; //connexions utilisées pour les broches de lignes du clavier
    byte BrochesColonnes[COLONNES] = {C1, C2, C3, C4}; //connexions utilisées pour les broches de colonnes du clavier
    
    char touche; // variable de stockage valeur touche appuyée
    
    // création d'un objet keypad = initialisation clavier 
    Keypad clavier = Keypad( makeKeymap(touches), BrochesLignes, BrochesColonnes, LIGNES, COLONNES );
    // les broches de lignes sont automatiquement configurées en ENTREE avec pullup interne activé 
    // les broches de colonnes sont automatiquement configurées en SORTIE
    
    int temps;
    
    
    void setup() {
    // on initialise les sorties et on éteind les leds connectées
        pinMode(RELAY_1, OUTPUT);  
        digitalWrite(RELAY_1, HIGH);
        pinMode(RELAY_2, OUTPUT);  
        digitalWrite(RELAY_2, HIGH);
        pinMode(RELAY_3, OUTPUT);  
        digitalWrite(RELAY_3, HIGH);
        pinMode(RELAY_4, OUTPUT);    
        digitalWrite(RELAY_4, HIGH);
        
      }
      
    void loop() { // debut de la fonction loop()
    
    // --- ici instructions à exécuter par le programme principal --- 
    
    
    touche = clavier.getKey(); // lecture de la touche appuyée
    
    
    if(touche != NO_KEY){ // si une touche a été frappée -- gestion de la touche appuyée 
      
      if(touche=='1') //si les touches '1' est tapée.
        {temps=5000;} // variable temps est à 300.
      if(touche=='2')
        {temps=10000;}
      if(touche=='3')
        {temps=15000;}  
        
      if(touche=='A') // si touche 'A' est tapée.
        {digitalWrite(RELAY_1, LOW); //le relay_1 est alimenté.
        delay(temps);
        digitalWrite(RELAY_1, HIGH);}
       if(touche=='B')
        {digitalWrite(RELAY_2, LOW); 
        delay(temps);
        digitalWrite(RELAY_2, HIGH);}
       if(touche=='C')
        {digitalWrite(RELAY_3, LOW); 
        delay(temps);
        digitalWrite(RELAY_3, HIGH);}
       if(touche=='D') 
        {digitalWrite(RELAY_4, LOW); 
        delay(temps);
        digitalWrite(RELAY_4, HIGH);}
    }}
    Dernière modification par jmjim ; 18/05/2015 à 13h12.

  21. #51
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Chaque chose en son temps.... Il y a eu des erreurs, lesquelles ? Poste le résultat de la compilation.

    Il y a juste que je peux pas activer plusieurs relais a la fois. Je pence que c'est normal vu que je dans une boucle loop, c'est bien ca?
    En fait, le programme ne fait rien pendant la pause demandée par le délai (il patiente, c'est tout). Pendant ce temps, toutes les autres demandes sont ignorées... C'est normal !!
    La robotique, c'est fantastique !

  22. #52
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    C'était hier que ca a pas fonctionné
    Code:
    delay(temps)
    la c'est bon tout focntionne, la "nouvelle" compilation je l'ai posté dans le messsage juste avant. c'est celle qui fonctionne.

    c'est juste que je ne peux pas enclenché plusieurs relais en même temps. Comment je peux faire pour "enregistrer" les autres demandes et les exécuter après?
    Dernière modification par jmjim ; 18/05/2015 à 13h59.

  23. #53
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Certainement pas ! Sinon il va exécuter une fois tout le code (en quelques ms), et ne plus rien faire.

    Comme expliqué dans mon précédent message, c'est la fonction délai qui fait tout patienter (c'est justement ce qu'on lui demande) et qui empêche de sélectionner autre chose. Si tu veux faire en sorte qu'il soit possible de faire coller plusieurs relais à la fois, ça se complique !!
    La robotique, c'est fantastique !

  24. #54
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    Citation Envoyé par Yoruk Voir le message
    Certainement pas ! Sinon il va exécuter une fois tout le code (en quelques ms), et ne plus rien faire.
    Avec tes explications ca parait logique.

    Comme expliqué dans mon précédent message, c'est la fonction délai qui fait tout patienter (c'est justement ce qu'on lui demande) et qui empêche de sélectionner autre chose. Si tu veux faire en sorte qu'il soit possible de faire coller plusieurs relais à la fois, ça se complique !!
    oui c'est exactement ca, je veux pouvoir sélectionné plusieurs relay en même temps, et qu'il s'enclenche dessuite ou en différenrer peu importe
    Dernière modification par jmjim ; 18/05/2015 à 14h09.

  25. #55
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Citation Envoyé par jmjim Voir le message
    oui c'est exactement ca, je veux pouvoir sélectionné plusieurs relay en même temps, et qu'il s'enclenche de suite ou en différenrer peu importe
    ça complique le problème... Il faut gérer des temporisations tout en étant capable de scruter l'état des touches de ton clavier... et la arduino n'est pas multitâche... Une méthode pourrait consister à découper tes tempos en toutes petites tempos (au lieu de faire une fois 300 ms, faire 10* 30 ms par exemple) et lire le clavier entre les deux. mais bof... Car ta fonction de lecture du clavier possède elle aussi son temps d’exécution...

    Voir peut-être aussi du coté des timers et des interruptions... Mais les timers sont très ch*** à gérer en langage arduino !!
    La robotique, c'est fantastique !

  26. #56
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    A oui c'est un gros merdier la...
    est-ce que c'est possible de faire :

    Si touche 'A' est activé
    Lire état digitalRead de chaques relais
    si il est HIGH j'active le relais correspondant
    Sinon j'attens qu'il soit HIGH avant d'activé

  27. #57
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Je ne vois pas à quoi sert ton code...

    Si touche 'A' est activé
    Lire état digitalRead de chaques relais ---> Possible
    si il est HIGH j'active le relais correspondant ---> Inutile. Si le relais est à 1, alors le mettre à 1...?
    Sinon j'attens qu'il soit HIGH avant d'activé ----> ??? activer quoi ?
    La robotique, c'est fantastique !

  28. #58
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    J'ai pas été très clair désolé.

    Si la touche 'A' est frappé
    Je lis l'état logique du relais 2, 3 et 4.
    Si ils ne sont pas activé (HIGH) alors j'active le relais 1 pendant x secondes
    Sinon j'attend que les relais 2, 3 ou 4 ne soit plus activé pour activé le relais 1.

  29. #59
    Yoruk

    Re : Programme arduino, relais et clavier matriciel 4*4

    Bien tenté, mais ça ne marchera pas... Car, quand un relais est activé, il est forcément suivi d'une tempo, puis il est coupé. Et pendant la tempo, (l'instant qui te préoccupe) tu ne peux rien faire ! La arduino mouline sur des boucles pour effectuer la temporisation, et ne fait rien d'autre !

    Rappelle moi ce que doit faire la touche "A" ?
    La robotique, c'est fantastique !

  30. #60
    jmjim

    Re : Programme arduino, relais et clavier matriciel 4*4

    A mince domage!

    La touche : A active le relais 1
    B active le relais 2....

Page 2 sur 5 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. Clavier matriciel !
    Par yass7 dans le forum Électronique
    Réponses: 17
    Dernier message: 03/01/2014, 21h39
  2. Fonctionnement d'un montage clavier matriciel
    Par invite8191e5b5 dans le forum Électronique
    Réponses: 1
    Dernier message: 25/04/2010, 22h20
  3. Clavier matriciel
    Par invitefc343bc7 dans le forum Électronique
    Réponses: 1
    Dernier message: 01/04/2009, 16h54
  4. [PPE] langage C et clavier matriciel
    Par invitedcc7860a dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 02/05/2008, 19h04
  5. gestion de clavier matriciel i2c
    Par invite6d875316 dans le forum Électronique
    Réponses: 2
    Dernier message: 26/01/2007, 22h49
Découvrez nos comparatifs produits sur l'informatique et les technologies.