Итак, у меня проблемы с моим маленьким проектом, я делаю модус сигнала поворота тумана. Чтобы быть конкретным - когда один из сигналов поворота мигает, тогда загорается противотуманная фара (без мигания). Если противотуманные фары ВКЛЮЧЕНЫ, то противоположная противотуманная фара сигнальных ламп поворота выключится.Arduino digitalwrite теперь работает так, как должно
О коде: Все работает отлично, за исключением того, что контакт 5 дает реле включать и выключать довольно быстро, и не имеет значения, если контакт 12 HIGH или LOW он все еще мигает. Мигает, только если контакт 5 находится в положении ВЫСОКОГО.
Код это сам:
int MiglaK = 9; //Right foglight
int MiglaL = 8; //Left fog light
int PagrK = 4; //Right turn signal
int PagrL = 5; //Left turn signal
int Miglinieki = 12; //Fog ON
int val = 0;
void setup() {
pinMode(MiglaK, OUTPUT);
pinMode(MiglaL, OUTPUT);
pinMode(PagrK, INPUT);
pinMode(PagrL, INPUT);
pinMode(Miglinieki, INPUT);
}
void loop() {
//**********Fogs are OFF**********
val = digitalRead(Miglinieki);
if (val == LOW)
{
//****Hazzard lights****
if (digitalRead(PagrL) == HIGH && digitalRead(PagrK) == HIGH)
{
digitalWrite(MiglaL,LOW);
digitalWrite(MiglaK,LOW);
delay(700);
}
//****Left turn signal****
if (digitalRead(PagrL) == HIGH)
{
digitalWrite(MiglaL, HIGH);
delay(700);
}
//****Right turn signal****
if (digitalRead(PagrK) == HIGH)
{
digitalWrite(MiglaK, HIGH);
delay(700);
}
else
{
digitalWrite(MiglaL,LOW);
digitalWrite(MiglaK,LOW);
delay(100);
}
}
//**********Fog are ON**********
if (val == HIGH)
{
//****Hazzard lights****
if (digitalRead(PagrL) == HIGH && digitalRead(PagrK) == HIGH)
{
digitalWrite(MiglaL,HIGH);
digitalWrite(MiglaK,HIGH);
delay(700);
}
//****Left turn signal****
if (digitalRead(PagrL) == HIGH)
{
digitalWrite(MiglaK, LOW);
delay(700);
}
//****Right turn signal****
if (digitalRead(PagrK) == HIGH)
{
digitalWrite(MiglaL, LOW);
delay(700);
}
else
{
digitalWrite(MiglaL,HIGH);
digitalWrite(MiglaK,HIGH);
delay(100);
}
}
}
Я узнаю из-за своих недостатков :) Хотя я был так близок – Martins