Как убрав временные промежутки сделать так что бы мои светодиоды включались строго тогда когда подастся другой ток (то есть у ме

ELEM3NT
Offline
Зарегистрирован: 26.03.2021
int A = 1;
int B = 2;
int C = 3;
int D = 4;
int E = 5;
int F = 6;
int G = 7;
int H = 8;
void setup()
 
{
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(H, OUTPUT);
}
 
void loop()
 
{
if (digitalRead(A0) == HIGH) {
    digitalWrite(A, LOW);
    digitalWrite(C, HIGH);
    digitalWrite(E, HIGH);
    digitalWrite(G, HIGH);
  
    digitalWrite(B, HIGH);
   digitalWrite(D, LOW);
    digitalWrite(F, LOW);
     digitalWrite(H, LOW);
     } else {
    digitalWrite(A, HIGH);
    digitalWrite(B, LOW);
    
  }
 
if (digitalRead(A1) == HIGH) {
    digitalWrite(A, HIGH);
    digitalWrite(C, LOW);
    digitalWrite(E, HIGH);
    digitalWrite(G, HIGH);
  
    digitalWrite(B, LOW);
   digitalWrite(D, HIGH);
    digitalWrite(F, LOW);
     digitalWrite(H, LOW);
     } else {
    digitalWrite(C, HIGH);
    digitalWrite(D, LOW);
    
  }
 
if (digitalRead(A2) == HIGH) {
    digitalWrite(A, HIGH);
    digitalWrite(C, HIGH);
    digitalWrite(E, LOW);
    digitalWrite(G, HIGH);
  
    digitalWrite(B, LOW);
   digitalWrite(D, LOW);
    digitalWrite(F, HIGH);
     digitalWrite(H, LOW);
     } else {
    digitalWrite(E, HIGH);
    digitalWrite(F, LOW);
    
  }
 
if (digitalRead(A3) == HIGH) {
    digitalWrite(A, HIGH);
    digitalWrite(C, HIGH);
    digitalWrite(E, HIGH);
    digitalWrite(G, LOW);
  
    digitalWrite(B, LOW);
   digitalWrite(D, LOW);
    digitalWrite(F, LOW);
     digitalWrite(H, HIGH);
     } else {
    digitalWrite(G, HIGH);
    digitalWrite(H, LOW);
    
  }
  }

 

ELEM3NT
Offline
Зарегистрирован: 26.03.2021

ELEM3NT пишет:

Как убрав временные промежутки сделать так что бы мои светодиоды включались строго тогда когда подастся другой ток (то есть у меня подается ток как кнопка)
int A = 1;
int B = 2;
int C = 3;
int D = 4;
int E = 5;
int F = 6;
int G = 7;
int H = 8;
void setup()
 
{
pinMode(A0, INPUT);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
pinMode(A, OUTPUT);
pinMode(B, OUTPUT);
pinMode(C, OUTPUT);
pinMode(D, OUTPUT);
pinMode(E, OUTPUT);
pinMode(F, OUTPUT);
pinMode(G, OUTPUT);
pinMode(H, OUTPUT);
}
 
void loop()
 
{
if (digitalRead(A0) == HIGH) {
    digitalWrite(A, LOW);
    digitalWrite(C, HIGH);
    digitalWrite(E, HIGH);
    digitalWrite(G, HIGH);
  
    digitalWrite(B, HIGH);
   digitalWrite(D, LOW);
    digitalWrite(F, LOW);
     digitalWrite(H, LOW);
     } else {
    digitalWrite(A, HIGH);
    digitalWrite(B, LOW);
    
  }
 
if (digitalRead(A1) == HIGH) {
    digitalWrite(A, HIGH);
    digitalWrite(C, LOW);
    digitalWrite(E, HIGH);
    digitalWrite(G, HIGH);
  
    digitalWrite(B, LOW);
   digitalWrite(D, HIGH);
    digitalWrite(F, LOW);
     digitalWrite(H, LOW);
     } else {
    digitalWrite(C, HIGH);
    digitalWrite(D, LOW);
    
  }
 
if (digitalRead(A2) == HIGH) {
    digitalWrite(A, HIGH);
    digitalWrite(C, HIGH);
    digitalWrite(E, LOW);
    digitalWrite(G, HIGH);
  
    digitalWrite(B, LOW);
   digitalWrite(D, LOW);
    digitalWrite(F, HIGH);
     digitalWrite(H, LOW);
     } else {
    digitalWrite(E, HIGH);
    digitalWrite(F, LOW);
    
  }
 
if (digitalRead(A3) == HIGH) {
    digitalWrite(A, HIGH);
    digitalWrite(C, HIGH);
    digitalWrite(E, HIGH);
    digitalWrite(G, LOW);
  
    digitalWrite(B, LOW);
   digitalWrite(D, LOW);
    digitalWrite(F, LOW);
     digitalWrite(H, HIGH);
     } else {
    digitalWrite(G, HIGH);
    digitalWrite(H, LOW);
    
  }
  }

 

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Комментарии к строкам программы напишите, а то как-то пусьтенько у Вас, а там может чего и поймёте.

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Я тупой, мне даже к самому вопросу нужны комментарии

b707
Offline
Зарегистрирован: 26.05.2017

ELEM3NT пишет:

Как убрав временные промежутки сделать так что бы мои светодиоды включались строго тогда когда подастся другой ток

а где в этом коде "временные промежутки" ?

ELEM3NT
Offline
Зарегистрирован: 26.03.2021

Я их убрал они после каждого светодиода

b707
Offline
Зарегистрирован: 26.05.2017

ELEM3NT пишет:
Я их убрал они после каждого светодиода

ну вот, задача решена :)

ELEM3NT
Offline
Зарегистрирован: 26.03.2021

Но тогда он просто выключается, а сигнал не постоянный

b707
Offline
Зарегистрирован: 26.05.2017

Элемент, если вы хотите нормального, серьезного разговора - сядьте, подумайте, сделайте над собой усилие...  и четко сформулируйте вопросы.

Выложите тот код, с которым проблемы, нарисуйте схему.

А если вы сейчас нетрезвы - то сначала проспитесь.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Вам в соседней теме сказали - "давайте схему". В этой теме сказали "давайте схему".

Почему схемы до сих пор нет? Ждёте пока Вам скажут "идите на юг"? Скажут - не сомневайтесь.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

b707 пишет:

А если вы сейчас нетрезвы - то сначала проспитесь.

точно! пойду спать, а то название темы даже до конца не могу дочитать, все время чето обрывается, три раза пробовал.

Morroc
Offline
Зарегистрирован: 24.10.2016

Ну хз. Я могу и так наванговать, что автору надо читать "blink без delay" :) Вот это if (digitalRead(A1) == HIGH) { у него называется "подать другой ток", к бабке не ходи, а паузы он убрал от мозгового бессилия сделать по другому. Я давно уже понял, что на эту тему нужна целая статья для новичков, ведь даже "блинк без делей" не дает полного ответа на подобные вопросы и появляются прямые замены delay через millis. Концепция кода, выполняемого не последовательно команда за командой, а как в КА доходит нифига не сразу.

ELEM3NT
Offline
Зарегистрирован: 26.03.2021

Спасибо большое, я новичок в этом и даже не понимаю как сделать схему

sadman41
Offline
Зарегистрирован: 19.10.2016

Статья у ЕП написана, но who cares... Даже прикрепленные темы никто не читает, а поиск по форуму заменяется конструкцией "я навичок, а в интернете ничего нет", после чего сочувствующие немедленно бросают все и начинают розыск ссылок на опубликованные советы.

Morroc
Offline
Зарегистрирован: 24.10.2016

sadman41 пишет:
Статья у ЕП написана, но who cares...

Потратив 5 минут нашел только парочку, где сразу начинается игра с таймерами ATMEGA, что совершенно избыточно и только взорвет мозг. Есть чисто по КА и millis() в рамках ардуино ? Я бы попостил линк в подобных темах на будущее.

sadman41
Offline
Зарегистрирован: 19.10.2016

С удовольствием бы помог, но генерация контента с со смартфона - ещё то удовольствие. С компа поищу, если не забудусь.

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

Morroc пишет:
Есть чисто по КА и millis() в рамках ардуино ?

Здесь в процессе обсуждения пошагово строится автомат

Здесь приводится универсальная программа автомата на все случаи жизни.

Morroc
Offline
Зарегистрирован: 24.10.2016

Ага, спасибо ) Сложновато все ж таки.