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é. P>
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) P>
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é. P>
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 P>
Merci pour toute entrée ... P>
Ceci a moi-même exclu p>
-sam p>
3 Réponses :
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)
Pour des raisons historiques, DigitalRead retourne un int, qui est soit élevé (1) code> ou
faible (0) code>. Donc, si vous préférez, vous pouvez également utiliser des variables et des valeurs BOOL.
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. P>
et ne confondez pas les numéros de broches constants et leurs états variables :) p>
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 CODE> Changements à False lorsque suctrapers suprent. Normalement (quand ni SD ni SU est actif)
dir code> 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
J'ai résolu ma propre question grâce à l'aide.
-Sam
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.