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 bouton input pull up


Sujet :

Arduino

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : Belgique

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2021
    Messages : 1
    Points : 4
    Points
    4
    Par défaut Arduino bouton input pull up
    Bonjour, je poste sa car j'ai une question sans réponse

    Je débute la programmation et je bloque sur une connerie, je la fais courte

    J'ai installé un boitier dans ma chambre avec un Arduino Mega 2560 R3 et les composants relié dessus son un écran lcd 16x2, servo moteur MG90, 2 leds vertes, 2 rouges et un keypad a l'extérieur.
    Sur le boitier à l'intérieur j'y ai mis un bouton poussoir

    Tout fonctionne parfaitement je mets le mots de passe sa déverouille et lorsque j'appuie sur la touche # ou * les leds repasse au rouge et le servo passe en mode fermé

    Mon problème est donc de rajouter un bouton poussoir en utilisant la fonction input pull up donc pas besoin de résistance c'est fournis par l'arduino, mais comment changé l'état vérouiller ou ouvert mais en fonctionnant dans les 2 sens donc si c'est fermé quand j'appuie sa ouvre si c'est ouvert j'appuie sa ferme

    Si quelqu'un peut m'éclaircir un petit peu sur le sujet d'avance merci !

    Je vous laisse mon code pour vous y jeter un petit coup d'oeil

    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
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    // Librairie indispensable 
    #include <LiquidCrystal.h>
    LiquidCrystal lcd(7, 8, 9, 10, 11, 12);
     
    #include <Servo.h>
    #include <Keypad.h>
     
    Servo ServoMotor;
    // Vous pouvez changer le mot de passe mais changer le nombre de caractère plus bas (**)
    char* password = "12345"; 
    int buzzer = A0;
    int position = 0;
    const byte ROWS = 4;
    const byte COLS = 4;
    char keys[ROWS][COLS] = {
        {'1','2','3','A'},
        {'4','5','6','B'},
        {'7','8','9','C'},
        {'*','0','#','D'}
    };
    byte rowPins[ROWS] = { 49, 48, 47, 46 };
    byte colPins[COLS] = { 45, 44, 43, 42 };
    Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
     
    // Leds Extérieur
    int Red = A1;
    int Green = A2;
    // Leds Intérieur
    int Rouge = A3;
    int Vert = A4;
     
    void setup()
    {
        lcd.begin(16, 2);
        Serial.begin(9600);
        pinMode(Red, OUTPUT);
        pinMode(Green, OUTPUT);
        pinMode(Rouge, OUTPUT);
        pinMode(Vert, OUTPUT);
        pinMode(buzzer, OUTPUT);
        ServoMotor.attach(2);
        LockedPosition(true);
    }
     
    void loop()
    {
        char key = keypad.getKey();
        if (key == '*' || key == '#')
        {
            delay(3500);
     
            tone(buzzer,200,50);
            delay(100);
            tone(buzzer, 200, 300);
            delay(1000); 
            position = 0;
            LockedPosition(true);
        }
        if (key == password[position])
        {
            position ++;
        }
        if (position == 5)//(**)Nombre de caractère pour le mot de passe (**)
        {
            LockedPosition(false);
        }
        delay(100);
    }
     
    void LockedPosition(int locked)
    {
        if (locked)
        {
            lcd.setCursor(0, 0);
            lcd.print("Bonjour la porte");
            lcd.setCursor(0, 1);
            lcd.print("est verrouiller");
            digitalWrite(Red, HIGH);
            digitalWrite(Rouge, HIGH);
            digitalWrite(Green, LOW);
            digitalWrite(Vert,LOW);
            ServoMotor.write(11);
        }
        else
        {
            lcd.clear();
            tone(buzzer,523,50);
            delay(50);
            tone(buzzer, 783, 50);
            delay(50);
            tone(buzzer, 1046, 50);
            delay(50);
            tone(buzzer, 1568, 50);
            delay(50);
            tone(buzzer, 2093, 70);
            delay(250);
            digitalWrite(Red, LOW);
            digitalWrite(Green, HIGH);
            digitalWrite(Vert,HIGH);
            ServoMotor.write(95);
            lcd.setCursor(1, 0);
            lcd.print("La porte est");
            lcd.setCursor(1, 1);
            lcd.print("deverouiller");
        }
    }

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 722
    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 722
    Points : 5 411
    Points
    5 411
    Par défaut
    Mon problème est donc de rajouter un bouton poussoir en utilisant la fonction input pull up donc pas besoin de résistance c'est fournis par l'arduino, mais comment changé l'état vérouiller ou ouvert mais en fonctionnant dans les 2 sens donc si c'est fermé quand j'appuie sa ouvre si c'est ouvert j'appuie sa ferme
    indépendamment du mot de passe?


    (c'est assez facile d'ouvrir votre boîte il suffit d'appuyer sur toutes les touches 5 fois de suite)

Discussions similaires

  1. Changer l'apparence du bouton Input
    Par jlb59 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 14/01/2008, 18h18
  2. bouton input
    Par boubourse92 dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 21/12/2007, 16h14
  3. centrer un bouton input en css
    Par Anto03 dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 21/09/2006, 11h46
  4. Bouton input avec des servlet
    Par koolyce dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 26/02/2006, 13h05
  5. bouton <input> de type="button" et desactiva
    Par marti dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 09/01/2006, 15h04

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