Помогите НУБУ разобраться, подключение 4 пневмораспределителей.

LANkain
Offline
Зарегистрирован: 27.09.2019

Добрый день, проверьте код пожалуйста. На эмуляторе не работает.

Суть вопроса по кнопке запустить программу с последовательным включением пневмораспределителей с задержкой. На 2 пневмораспределителе стоит 2 датчика положения. Мне бы понять ошибки в коде а настройки я сам уже смогу поправить. Не судите строго, возникла острая необходимость занимаюсь программированием 4 день, пытаюсь разобраться.

/*

*/
int currentValue;
int prevValue;

void setup()
{
  pinMode (8, INPUT);//Кнопка
  pinMode (7, OUTPUT);
  pinMode (6, OUTPUT);
  pinMode (5, OUTPUT);
  pinMode (4, OUTPUT);
  pinMode (3, OUTPUT);
  pinMode (2, OUTPUT);
  pinMode (12, INPUT);// Датчик 1
  pinMode (13, INPUT);//Датчик 2


  digitalWrite (8, LOW);
  digitalWrite (7, LOW);
  digitalWrite (6, LOW);
  digitalWrite (5, LOW);
  digitalWrite (4, LOW);
  digitalWrite (3, LOW);
  digitalWrite (2, LOW);

}

void loop() {

  digitalWrite (6, HIGH);//Горит зеленый светодиод
  if (digitalRead(8) == LOW);
  else {
    while (digitalRead(8) == HIGH);
  }
  currentValue == digitalRead(8);
  if (currentValue != prevValue) {
    delay(10);
    currentValue = digitalRead(8);
  }
  prevValue == currentValue;
  Serial.println(currentValue);//Убрали дребезг кнопки
  digitalWrite (7, HIGH);// Загорается красный светодиод
  digitalWrite (6, LOW);// Тухнет зеленый светодиод
  digitalWrite (2, HIGH);//Включаем 1 распредлитель
  while (digitalRead(12) == HIGH);//Ждем срабатывания 1 датчика.
  digitalWrite (3, HIGH);//Включаем 2 распределитель
  while (digitalRead(13) == HIGH);//Ждем включение 2 датчика
  digitalWrite (4, HIGH);//Включаем 3 распределитель
  delay(300);//Задержка 0,3 сек.
  digitalWrite (3, LOW);//Выключаем 2 распределитель
  digitalWrite (5, HIGH);//Включаем 4 распределитель
  delay(300);//Задержка 0,3 сек.
  digitalWrite (4, LOW);//Выключаем 4 распределитель
  delay(300);//Задержка 0,3 сек.
  digitalWrite (2, LOW);//Выключаем 1 распределитель
  digitalWrite (5, LOW);
}

 

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

Проверил. Ошибок нет - работает так, как написано.

astwo
Offline
Зарегистрирован: 10.07.2019

Датчик на 13 пине. Мне альтернативно одарённых не понять.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

На 13 пине светодиод стоит, его только от пи#@еца использовать нужно. Переключите его на другой свободный пин. Хоть на аналоговый (аналоговый как цифровой работает отлично!). 

LANkain
Offline
Зарегистрирован: 27.09.2019

Да пины я потом все равно переделывать буду под микро, мне просто надо понять работоспособная программа или нет. Я тут просто попробовал ее загрузить в эмулятор и вышел трешняк какой то на нем. Вот и начал сомневаться. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

sadman41 пишет:

Проверил. Ошибок нет - работает так, как написано.

что-то 37 строка мне не нравится

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

ua6em пишет:

sadman41 пишет:

Проверил. Ошибок нет - работает так, как написано.

что-то 37 строка мне не нравится

и 42.

Гриша
Offline
Зарегистрирован: 27.04.2014

sadman41 пишет:

Проверил. Ошибок нет - работает так, как написано.

согласен, но несколько недочетов и замечаний выскажу ТС

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

Если хотите чтобы вам помогли ВОЗДМЕЗДНО, пишите ТЗ и в соответствующий раздел.

Задача не самая простая, но для начинающих самое оно - рекомендую не отступаться.   

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

Гриша пишет:

Задача не самая простая, но для начинающих самое оно - рекомендую не отступаться.   

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

LANkain
Offline
Зарегистрирован: 27.09.2019

Из за физического недостатка времени пока что нет возможности уделять должное внимание такому увлекательному делу. Но я обязательно прислушаюсь к вашему совету.

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

LANkain пишет:

Из за физического недостатка времени пока что нет возможности уделять должное внимание такому увлекательному делу. Но я обязательно прислушаюсь к вашему совету.

если работа мешает хобби, ну её эту работу )))

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

ua6em пишет:

если работа мешает хобби, ну её эту работу )))

+100, я так и поступаю :)

LANkain
Offline
Зарегистрирован: 27.09.2019

ua6em пишет:

LANkain пишет:

Из за физического недостатка времени пока что нет возможности уделять должное внимание такому увлекательному делу. Но я обязательно прислушаюсь к вашему совету.

если работа мешает хобби, ну её эту работу )))

Ну кушать и детей кормить за что то нужно =)

Гриша
Offline
Зарегистрирован: 27.04.2014

LANkain пишет:

ua6em пишет:

LANkain пишет:

Из за физического недостатка времени пока что нет возможности уделять должное внимание такому увлекательному делу. Но я обязательно прислушаюсь к вашему совету.

если работа мешает хобби, ну её эту работу )))

Ну кушать и детей кормить за что то нужно =)

Вы их меньше слушайте, или пенсионеры или на ардуино зарабатывают больше, чем у дяди в канторе. :))) но сути это не меняют - учиться нужно и времени это требует много. 

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

LANkain пишет:

ua6em пишет:

LANkain пишет:

Из за физического недостатка времени пока что нет возможности уделять должное внимание такому увлекательному делу. Но я обязательно прислушаюсь к вашему совету.

если работа мешает хобби, ну её эту работу )))

Ну кушать и детей кормить за что то нужно =)

дети - это святое )))

PS ради детей можно и Ваш скетч чуток поправить и, даже заработает