0
votes

Comment activer le voyant, mais éteint après que le programme ait commencé à utiliser Arduino Uno coding avec IDE

J'ai un circuit avec 2 capteurs de proximité, deux voyants et une bascule pour démarrer / mettre fin au programme.

capteur vers le bas (SD) s'allume (LED) et désactive (LEDG) lorsqu'il est activé. Capteur UP (SU) s'allume (LEDG) et s'éteint (LEDB) lorsqu'il est activé.


Contexte: Les capteurs de proximité de la proximité une fois qu'une pompe à piston a atteint la fin du trait qui dira à l'Arduino de changer de Vanne solénoïde dans l'autre sens, inverser la direction de la pompe. (Les LED représentent un solénoïde pour faciliter la Test)


Le problème: Lorsque la bascule est commutée en position fermée et si la pompe est mou, il ne se déplacera pas jusqu'à ce que la vanne solénoïde ait été allumé et la pompe atteint la fin du trait qui activera un capteur de démarrage du processus. J'ai besoin d'une vanne à LED / solénoïde pour éclairer, puis éteint dès que l'un des capteurs proxy est activé.


EDIT: Vidéo de ce que j'ai et ce que j'essaie d'atteindre: https://drive.google.com/file/d/15bglu_ocvzizw9idd_5r_cjsmgxhwgz/ View? USP = Partage


Merci pour toute entrée ...

Ceci a moi-même exclu

-sam xxx


2 commentaires

Vous ne pouvez pas télécharger des fichiers de code car vous êtes censé fournir des sections de code pertinentes dans votre texte. Veuillez lire Comment demander


Je ne suis pas sûr de ce que vous devez savoir. Vous ne pouvez pas penser à la logique pour résoudre ce problème ou ne pouvez-vous pas traduire cela au code? Prenez le stylo et le papier et écrivez tout scénario possible et ce que vous voulez faire dedans.


3 Réponses :


0
votes

de ce que je peux comprendre

lorsque vous utilisez digitalRead () sur l'Arduino, il peut renvoyer soit "HIGH" ou "LOW" P>

 if (sD == false)
 if (sU == false)


1 commentaires

Pour des raisons historiques, DigitalRead retourne un int, qui est soit élevé (1) ou faible (0) . Donc, si vous préférez, vous pouvez également utiliser des variables et des valeurs BOOL.



0
votes

Je comprends que vous avez besoin d'un ou de l'autre LED (piston) actif, tandis que l'interrupteur principal est allumé. Vous les changez au point de fin et vous les gardez inchangés, quand aucun point final n'est atteint.

Au démarrage, vous devez commencer par une direction arbitraire (ou prédéfinie) mais pas avec les deux LED off, comme vous l'avez maintenant. Donc, il n'y a pas trop disparu.

et ne confondez pas les numéros de broches constants et leurs états variables :) xxx


3 commentaires

Cela allumera le LEDG et ne permettra pas de passer à LEDB à moins que le SU est activé en continu. @Datafiddler


LEDG est sur (et ledb OFF), si (dir == faux). DIR Changements à False lorsque suctrapers suprent. Normalement (quand ni SD ni SU est actif) dir reste inchangé. Peut-être avez-vous besoin d'échanger SD et SU.


Ont résolu ce problème ... Vous pouvez regarder mon autre poste pour le code si vous êtes intéressé. @Datafiddler



0
votes

J'ai résolu ma propre question grâce à l'aide. -Sam xxx


0 commentaires