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 :

Problème avec double reed switch, une marche et pas l'autre


Sujet :

Arduino

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Décembre 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Décembre 2020
    Messages : 17
    Points : 3
    Points
    3
    Par défaut Problème avec double reed switch, une marche et pas l'autre
    Bonjour!
    Je suis tout nouveau avec arduino, je tiens à le dire!
    Je me suis lancé dans un projet (qui me semblais simple).. j'explique.
    J'ai une commode avec deux portes, j'ai installé deux reed switch (une devant chacune des portes).
    Quand elles ouvrent, l'aimant qui est dans la porte va rendre le reed switch NA, et allumera les lumières.
    Quand la porte ferme, le circuit sera fermé, et je dirai de fermer les lumières.
    Pour l'instant je fais des tests sur un breadboard sur ma table pour voir si ma prog. est bonne.
    J'ai installé deux MOSFET 720 pour pouvoir contrôler mes leds 12V, une marche mais quand je programme le deuxième celui la ne marche pas et tout est branché de la même manière.
    D'après moi il y a erreur dans ma programmation, la voici;

    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
    int ledGauche = 10;
    int ledDroite = 11;
    int reed_switchg = 2;
    int reed_switchd = 3;
    int reed_statusg;
    int reed_statusd;
     
    void setup()
    {
    	pinMode(ledGauche, OUTPUT);
    	pinMode(ledDroite, OUTPUT);
    	pinMode(reed_switchg, INPUT);
    	pinMode(reed_switchd, INPUT);
    }
     
    void loop()
    {
    	reed_statusg = digitalRead(reed_switchg);
    	if (reed_statusg == 1)
    		digitalWrite(ledGauche, HIGH);
    	else
    		digitalWrite(ledGauche, LOW);
     
    	reed_statusd = digitalRead(reed_switchd);
    	if (reed_switchd == 1)
    		digitalWrite(ledDroite, HIGH);
    	else
    		digitalWrite(ledDroite, LOW);
    }
    Si quelqu'un peut m'aider ce serait génial!
    Merci!

  2. #2
    Expert confirmé

    Homme Profil pro
    mad scientist :)
    Inscrit en
    Septembre 2019
    Messages
    2 711
    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 711
    Points : 5 390
    Points
    5 390
    Par défaut
    Comment est câblé votre switch? Avez vous mis une résistance de pull-down?

    Avez vous une carte arduino 5V ou 3.3V? Quel est le besoin en courant de vos LEDs? (Sous 5V Votre MOFSET ne laissera sans doute pas passer le max de courant possible dans sa spec)

    PS: c’est mieux de déclarer les Nº de pin en type const byte plutôt que int et d’être cohérent sur la façon dont on écrit les noms des variables (soit camelCase, une majuscule pour chaque début de mot à part la première lettre qui reste en minuscule, ce qui est le plus courant en Arduino, soit des underscores pour séparer les différents mots du nom de la variable).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    const byte ledGauche = 10;
    const byte ledDroite = 11;
    const byte reedGauche = 2;
    const byte reedDroite = 3;
    on met aussi souvent le mot pin dans le nom de la variable pour bien se souvenir que ce n’est pas l’état de la broche mais bien son numéro, donc un truc comme cela serait plus classique
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    const byte pinLedGauche = 10;
    const byte pinLedDroite = 11;
    const byte pinReedGauche = 2;
    const byte pinReedDroite = 3;

  3. #3
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 380
    Points : 19 062
    Points
    19 062
    Par défaut
    Salut à tous.

    Si je comprends bien ton montage, tu utilises deux interrupteurs pour allumer une lumière quand la porte du placard s'ouvre.
    Est-ce utile d'utiliser une arduino pour ce genre de montage ?

    Il faut trouver le moyen de créer un circuit fermé quand la porte est fermée.
    Un simple contacte peut jouer le rôle d'un interrupteur fermé.

    Quant à la lumière, il suffit d'utiliser un relais.
    Pour inverser le rôle jouer par la lumière (circuit fermé, lumière éteinte), vous devez brancher le circuit lumière sur les prises NO et NC.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  4. #4
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Décembre 2020
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms

    Informations forums :
    Inscription : Décembre 2020
    Messages : 17
    Points : 3
    Points
    3
    Par défaut
    Bon!
    Jay M:
    Ce matin j'ai relu mon code que j'avais refais et refais dans l'espoir que ça marche et j'ai relu mon livre sur arduino et j'ai décidé de recommencer au complet.
    Et ce, parce que tu m'a parlé de la résistance de pull down que j'avais effectivement oublié de mettre.
    J'ai refais mes codes avec les "const bytes" et tout marche à merveille!
    Les deux reed switchs fonctionnent, j'ai tout installé et bingo!
    Merci du temps de réponse très rapide

    Artemus:
    En fait j'aurais pu faire tout ça sans utiliser arduino mais je voulais me pratiquer et en même temps, la prochaine étape c'est de faire allumer les lumières progressivement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème avec l'apostrophe dans une requête
    Par mika0102 dans le forum VBA Access
    Réponses: 7
    Dernier message: 09/03/2019, 16h51
  2. problèmes avec "include file" pour une page asp
    Par chipsense dans le forum ASP
    Réponses: 1
    Dernier message: 02/09/2005, 15h22
  3. [Débutant] Problème avec les paramètres d'une proc stockée
    Par babulior dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 28/06/2005, 15h38
  4. Problèmes avec un TWebBrowser dans une DLL
    Par bellamyjc dans le forum Composants VCL
    Réponses: 2
    Dernier message: 12/01/2005, 22h35
  5. Problème avec un LIKE dans une procédure stockée
    Par Oluha dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 22/12/2004, 14h38

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