У меня есть схема с двумя датчиками приближения, двумя светодиодами и переключателем для запуска / завершения программы.
Датчик выключения (sD) включается (ledB) и выключается (ledG) при активации. Датчик вверх (sU) включается (ledG) и выключается (ledB) при активации.
Контекст: Датчик бесконтактного датчика определяет, когда поршневой насос достигнет конца хода, который сообщит Arduino о необходимости переключениясоленоидный клапан в другом направлении, реверсивное направление насоса. (светодиоды представляют соленоид для простоты тестирования)
Проблема: Когда тумблер переключен в закрытое положение и если насос находится в среднем положении хода, он не будет двигаться, пока не будет включен электромагнитный клапан, инасос достигает конца хода, который активирует датчик, запускающий процесс. Мне нужен один светодиодный / соленоидный клапан, чтобы загорелся и затем отключился, как только один из прокси-датчиков активировался.
Редактировать: Видео о том, что у меня есть и чего я пытаюсь достичь:https://drive.google.com/file/d/15bgbLU_OcVZIzw9IDD_5R_cjSMGxHwGZ/view?usp=sharing
Спасибо за любой вклад ...
Это поставило меня в тупик
-Sam
int sD = 4;
int ledB = 2;
int ledG = 3;
int sU = 5;
int mainSwitch = 7;
int ledBin = 8;
int ledGin = 9;
void setup()
{
// put your setup code here, to run once:
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, INPUT);
pinMode(5, INPUT);
pinMode(7, INPUT_PULLUP);
pinMode(8, INPUT);
pinMode(9, INPUT);
}
void loop()
{
mainSwitch = digitalRead(7);
if (mainSwitch == true) //Ends Program
{
sD = digitalRead(4);
sU = digitalRead(5);
digitalWrite(ledB, LOW);
digitalWrite(ledG, LOW);
}
if (mainSwitch == false)//Starts program
{
sD = digitalRead(4);
sU = digitalRead(5);
if (sD == false) digitalWrite(ledB, HIGH); //sD(proximity sensor) Turns on ledB turns off ledG when activated
if (sD == false) digitalWrite(ledG, LOW);
if (sU == false) digitalWrite(ledG, HIGH); //sU(poximity sensor) Turns on ledG turns off ledB when activated
if (sU == false) digitalWrite(ledB, LOW);
}
}