[Arduino]: Digicode
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

[Arduino]: Digicode



  1. #1
    harchi01

    [Arduino]: Digicode


    ------

    Bonjour, Bonjour


    Avec mon groupe de T.P.E, nous avons choisi de travailler sur : contrôler l'accès d'une porte. Pour cela, nous avons deux phases, l'identification de l'individu et verrouiller / déverrouiller la porte. Pour cela, nous avons choisie de prendre deux solutions à chaque fois. Pour la première phase, nous avons choisi d'utiliser un capteur vocal et un digicode. Pour la deuxième phase, nous avons choisi d'utiliser un moteur avec une serrure et un électroaimant.

    Je vous demande de l'aide pour la partie sur le digicode. Le but est d'entrée un code sur un clavier 4x4 cellules. Si le code correspond, une led s'allume. Si cela ne marche pas, elle ne s'allume pas.
    Le programme de marche pas. Pouvez-vous me dire mes erreurs.

    Code:
    /*
    ||  Ouverture portail avec keypad 4x3
    ||  Création le 07/04/2013
    ||  allumage led sur pin 10 quand code mauvais
    ||  allumage led sur pin 11 quand code bon
    ||  pilotage opto sur pin 9 quand code bon ( voiture )
    */
    
    
    //* valide la saisie  
    //# reset la saisie
    
    /////////////////////////////////////////////////////////////////
    
    #include <avr/wdt.h>
    #include <Password.h>
    #include <Keypad.h> //http://www.arduino.cc/playground/uploads/Code/Keypad.zip
    
    Password password = Password( "1159" );    // voiture
    
    
    const byte ROWS = 4; // 4 lignes
    const byte COLS = 3; // 3 colonnes
    // Define the Keymap
    char keys[ROWS][COLS] = {
      {'1','2','3'},
      {'4','5','6'},
      {'7','8','9'},
      {'*','0','#'}
    };
    
    byte rowPins[ROWS] = {8, 7, 6, 5};// Connecter le keypad ROW0, ROW1, ROW2 and ROW3 sur les pins 8.7.6.5
    byte colPins[COLS] = {4, 3, 2};// Connecter le keypad COL0, COL1 and COL2 sur les pins 4.3
    
    
    // Création du keypad
    Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
    
    void setup(){
      wdt_enable (WDTO_8S);  // Initialise le watchdog avec un délais de 8 secondes
      keypad.addEventListener(keypadEvent); // ajout d'un evenement keypad voiture
      pinMode(10, OUTPUT);   // mauvais
      pinMode(11, OUTPUT);   // bon
      pinMode(9, OUTPUT);   // opto
    }
    
    void loop(){
      wdt_reset ();  // remet à zéro le timeout du watchdog
      keypad.getKey();
    }
    
    // mise en place bouton voiture
    void keypadEvent(KeypadEvent eKey){
      switch (keypad.getState()){
        case PRESSED:
    	switch (eKey){
    	  case '*': checkPassword(); break;
    	  case '#': password.reset(); break;
    	  default: password.append(eKey);
         }
      }
    }
    
    
    void checkPassword(){        // opto 
      if (password.evaluate()){ // action quand code bon
        digitalWrite(11, HIGH); // allumage led bon
        digitalWrite(9, HIGH); // opto 
        delay(500);
        digitalWrite(9, LOW);
        delay(1500);
        digitalWrite(11, LOW);
      }else{                    // action quand code mauvais
        digitalWrite(10, HIGH);
        delay(2000);
        digitalWrite(10, LOW);
      }
    }
    Je vous remercie d'avance

    -----
    Dernière modification par Antoane ; 09/03/2015 à 14h48. Motif: Ajout balises [/code]

  2. #2
    Yoruk

    Re : [Arduino]: Digicode

    Quel est problème exactement ?

    Les subs d’interruptions sont -elles bien exécutées ? Astuce : places des serial.print de debug un peu partout pour voir ce qui est exécuté ou non.

    PS : le prochain coup, place ton code entre balises pour faciliter la lecture. (EDIT : Merci Antoane)

    PS2 : Schéma de câblage ?
    La robotique, c'est fantastique !

  3. #3
    harchi01

    Re : [Arduino]: Digicode

    Je vous redonnerais le problème exacte demain, car je ne peux pas accéder à mon programme.

  4. #4
    harchi01

    Re : [Arduino]: Digicode

    C'est bon le programme marche, et j'ai mis juste un engrenage et le loquet tourne de 3 cm. Je vous remercie pour tout

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Arduino anti rebond avec arduino
    Par sari12 dans le forum Électronique
    Réponses: 13
    Dernier message: 23/10/2014, 17h04
  2. Communication arduino-arduino avec module Xbee
    Par TPESI22012 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/12/2013, 17h24
  3. [Blanc] Pb digicode CAME
    Par Jeem40 dans le forum Dépannage
    Réponses: 0
    Dernier message: 19/04/2011, 16h40
  4. Digicode su4
    Par inviteccbd763a dans le forum Bricolage et décoration
    Réponses: 2
    Dernier message: 25/09/2009, 16h59
  5. digicode
    Par inviteba93d44f dans le forum Électronique
    Réponses: 1
    Dernier message: 13/12/2007, 00h58
Découvrez nos comparatifs produits sur l'informatique et les technologies.