кнопки для ардуино с таймером и одна кнопка стоп

artemon25
Offline
Зарегистрирован: 25.12.2015

написал скетч 

int LedV = 12; // светодиод(реле)
int LedN = 11;
int Butt12 = 2; //кнопка
int Butt13 = 3; //кнопка
int Butt21 = 4; //кнопка
int Butt23 = 5; //кнопка
int Butt31 = 6; //кнопка
int Butt32 = 7; //кнопка

unsigned long Timer;
unsigned long Waiting12 = 20000; //величина выдержки
unsigned long Waiting13 = 45000; //величина выдержки
unsigned long Waiting21 = 20000; //величина выдержки
unsigned long Waiting23 = 25000; //величина выдержки
unsigned long Waiting31 = 43000; //величина выдержки
unsigned long Waiting32 = 25000; //величина выдержки

void setup() {
  pinMode(LedV, OUTPUT);
  pinMode(LedN, OUTPUT);
  pinMode(Butt12, INPUT);
  pinMode(Butt13, INPUT);
  pinMode(Butt21, INPUT);
  pinMode(Butt23, INPUT);
  pinMode(Butt31, INPUT);
  pinMode(Butt32, INPUT);
digitalWrite(8,HIGH);
  digitalWrite(Butt12, 1);
  digitalWrite(Butt13, 1);
  digitalWrite(Butt21, 1);
  digitalWrite(Butt23, 1);
  digitalWrite(Butt31, 1);
  digitalWrite(Butt32, 1);
}

void loop() {

  if (digitalRead(Butt12) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
  
    Timer = millis() + Waiting12; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt13) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting13; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt21) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting21; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt23) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting23; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt31) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting31; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt32) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting32; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (Timer <= millis() && Timer != 0) { //если таймер был взведен и текущее время его превысило
    digitalWrite(LedV, 0); // то тушим свет
    digitalWrite(LedN, 0); // то тушим свет
    Timer = 0; //

  }

}

который нужен для упраления тельфером между 1 и 3 этажом принцип такой на каждом этаже по 2 кнопки отправления тельфера на определённый этаж по времени и одна кнопка нужна для экстренной остановки 6 кнопок прописал как они должны работать но как в этот скетч добавить кнопку стоп не пойму. пробовал в  начале  void loop()  написать 

digitalWrite(LedV,!digitalRead(8));
digitalWrite(LedN,!digitalRead(8));

 работает стоп но перстают работать все остальные кнопки а вконец ставлю не работает стоп но работают все остальные

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

artemon25 пишет:
пробовал в  начале  void loop()  написать 

digitalWrite(LedV,!digitalRead(8));
digitalWrite(LedN,!digitalRead(8));

 работает стоп но перстают работать все остальные кнопки а вконец ставлю не работает стоп но работают все остальные

Как пробовал? Секрет? Чего не показываешь? Вот прям так и писал? А таймер кто будет сбрасывать? Остальные кнопки заработают только когда таймер закончится.

И, кстати, ты с миллис неправильно работаешь. Он заглючит при переполнении. Почитай - http://arduino.ru/forum/programmirovanie/velikoe-perepolnenie-millis

artemon25
Offline
Зарегистрирован: 25.12.2015

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

void loop() {
  digitalWrite(LedV,!digitalRead(8));
digitalWrite(LedN,!digitalRead(8));

  if (digitalRead(Butt12) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
  
    Timer = millis() + Waiting12; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt13) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting13; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }

и вот так в конце

void loop() {
 

  if (digitalRead(Butt12) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
  
    Timer = millis() + Waiting12; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt13) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting13; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt21) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting21; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt23) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting23; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt31) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting31; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt32) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting32; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (Timer <= millis() && Timer != 0) { //если таймер был взведен и текущее время его превысило
    digitalWrite(LedV, 0); // то тушим свет
    digitalWrite(LedN, 0); // то тушим свет
    Timer = 0; //

  }
 digitalWrite(LedV,!digitalRead(8));
digitalWrite(LedN,!digitalRead(8));
}

почитал эту статью которую вы дали но если честно так и не понял мне надо просто добавить одну строку для милис?

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

artemon25 пишет:

а часть кода стоп вставлял без милис вот так

Код надо приводить полностью. Просто выложи код (не часть) в который ты что-то там вставил.

artemon25 пишет:

почитал эту статью которую вы дали но если честно так и не понял 

Чего там можно не понять? Там жирным шрифтом написано

ЕвгенийП пишет:
 Главное, всегда вычитайте из текущего значения millis() стартовое значение, и результат сравнивайте с заданным интервалом. И никогда не делайте наоборот – никогда не складывайте стартовое значение с интервалом, чтобы потом сравнить с текущим значением

А ты что делаешь?

Timer = millis() + Waiting12; // то взводим таймер

как раз складываешь! Так вот именно этого делать и нельзя!

artemon25 пишет:

сложно допишите как надо

Нет уж, родной, здесь хоббийный форум, тут каждый сам пишет. Приведи нормально код (целиком), может и подскажу чего, если увижу, а писать - это самостоятельно.

artemon25
Offline
Зарегистрирован: 25.12.2015

ну спасибо и за такую помощь любая помощь хороша

получается там где милисс  надо везде поменять + на - а вот стоп наверное буду делать просто рестарт ардуино целиком.

но может быть возникнут вопросы по другому поводу мне надо будет ещё что бы при нажатие на 2 других кнопки поднимался или опускался тельфер без всяких милис

bwn
Offline
Зарегистрирован: 25.08.2014

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

artemon25
Offline
Зарегистрирован: 25.12.2015

ещё не пробовал скетч делить в теории слышал что так можно .подскажите как, какие то примеры дайте

bwn
Offline
Зарегистрирован: 25.08.2014

artemon25 пишет:

ещё не пробовал скетч делить в теории слышал что так можно .подскажите как, какие то примеры дайте

Так не можно, так нужно. ИМХО. Пароль - функция, подпрограмма. Как ни странно, выполняет именно одну, свою функцию. Например, считывает-декодирует значения кнопок и возвращает код кнопки, пищалка буззер - написали внутри for и приняли значение, сколько раз пискнуть, можем вызвать из разных мест, с разными значениями и т.д.

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

artemon25 пишет:

ещё не пробовал скетч делить в теории слышал что так можно .подскажите как, какие то примеры дайте

Хе -http://arduino.ru/forum/programmirovanie/tsifrovye-avtomaty-v-klassakh-po-qwone

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

artemon25 пишет:

ну спасибо и за такую помощь любая помощь хороша

получается там где милисс  надо везде поменять + на - а вот стоп наверное буду делать просто рестарт ардуино целиком.

но может быть возникнут вопросы по другому поводу мне надо будет ещё что бы при нажатие на 2 других кнопки поднимался или опускался тельфер без всяких милис

Ну, если код целиком выложить влом (или нет его вовсе), то,значит, так.

artemon25
Offline
Зарегистрирован: 25.12.2015

код целиком в первом посте был я просто + поменял нв минус и пока ничего не делал и не проверял но вот ещё 2 кнопки надо будет дописать на поднятие и опускание наверное сегодня попробую

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Не было там кода. Там была приписка, что мол "пробовал написать ...". А чего пробовал, как пробовал - всё в секрете. Тебя и просили показать как пробовал. Ты в ответ какой-то огрызок привёл.  В общем, ты разберись, покажи как именно ты пробовал и что не получилось. А нет - так сам этим занимайся.

artemon25
Offline
Зарегистрирован: 25.12.2015

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

int LedV = 12; // светодиод(реле)
int LedN = 11;
int Butt12 = 2; //кнопка
int Butt13 = 3; //кнопка
int Butt21 = 4; //кнопка
int Butt23 = 5; //кнопка
int Butt31 = 6; //кнопка
int Butt32 = 7; //кнопка

unsigned long Timer;
unsigned long Waiting12 = 20000; //величина выдержки
unsigned long Waiting13 = 45000; //величина выдержки
unsigned long Waiting21 = 20000; //величина выдержки
unsigned long Waiting23 = 25000; //величина выдержки
unsigned long Waiting31 = 43000; //величина выдержки
unsigned long Waiting32 = 25000; //величина выдержки

void setup() {
  pinMode(LedV, OUTPUT);
  pinMode(LedN, OUTPUT);
  pinMode(Butt12, INPUT);
  pinMode(Butt13, INPUT);
  pinMode(Butt21, INPUT);
  pinMode(Butt23, INPUT);
  pinMode(Butt31, INPUT);
  pinMode(Butt32, INPUT);
digitalWrite(8,HIGH);
  digitalWrite(Butt12, 1);
  digitalWrite(Butt13, 1);
  digitalWrite(Butt21, 1);
  digitalWrite(Butt23, 1);
  digitalWrite(Butt31, 1);
  digitalWrite(Butt32, 1);
}

void loop() {
 

  if (digitalRead(Butt12) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
  
    Timer = millis() - Waiting12; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt13) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting13; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt21) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting21; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt23) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting23; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt31) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting31; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt32) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting32; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (Timer <= millis() && Timer != 0) { //если таймер был взведен и текущее время его превысило
    digitalWrite(LedV, 0); // то тушим свет
    digitalWrite(LedN, 0); // то тушим свет
    Timer = 0; //

  }
 
}

 

artemon25
Offline
Зарегистрирован: 25.12.2015

пробую пока дописать кнопки верх низ и вывел их отдельно правильно ли это или нет ?

int LedV = 12; // светодиод(реле)
int LedN = 11;
int Butt12 = 2; //кнопка
int Butt13 = 3; //кнопка
int Butt21 = 4; //кнопка
int Butt23 = 5; //кнопка
int Butt31 = 6; //кнопка
int Butt32 = 7; //кнопка
int ButtV = 9; //кнопка
int ButtN = 10; //кнопка
unsigned long Timer;
unsigned long Waiting12 = 20000; //величина выдержки
unsigned long Waiting13 = 45000; //величина выдержки
unsigned long Waiting21 = 20000; //величина выдержки
unsigned long Waiting23 = 25000; //величина выдержки
unsigned long Waiting31 = 43000; //величина выдержки
unsigned long Waiting32 = 25000; //величина выдержки

void setup() {
  pinMode(LedV, OUTPUT);
  pinMode(LedN, OUTPUT);
  pinMode(Butt12, INPUT);
  pinMode(Butt13, INPUT);
  pinMode(Butt21, INPUT);
  pinMode(Butt23, INPUT);
  pinMode(Butt31, INPUT);
  pinMode(Butt32, INPUT);
  pinMode(ButtV, INPUT);
  pinMode(ButtN, INPUT);
  digitalWrite(Butt12, 1);
  digitalWrite(Butt13, 1);
  digitalWrite(Butt21, 1);
  digitalWrite(Butt23, 1);
  digitalWrite(Butt31, 1);
  digitalWrite(Butt32, 1);
  digitalWrite(ButtV, 1);
  digitalWrite(ButtN, 1);
}

void loop() {
  Verx();
  Niz();

  if (digitalRead(Butt12) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting12; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt13) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting13; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt21) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting21; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt23) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting23; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt31) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting31; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt32) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() + Waiting32; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (Timer <= millis() && Timer != 0) { //если таймер был взведен и текущее время его превысило
    digitalWrite(LedV, 0); // то тушим свет
    digitalWrite(LedN, 0); // то тушим свет
    Timer = 0; //
  }
}
void Verx() {
  if (digitalRead(ButtV) == 0 ) {
    digitalWrite(LedV, 1);
  }
    else {
      digitalWrite(LedV, 0);
    } 
}
void Niz() {
  if (digitalRead(ButtN) == 0 ) {
    digitalWrite(LedN, 1);
  }
    else {
      digitalWrite(LedN, 0);
    } 
}

проверить пока не могу

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Ну, как сможешь, проверь. Или тут кто-то должен за тебя проверять? Будут конкретные вопросы - задавай.

artemon25
Offline
Зарегистрирован: 25.12.2015

Подскажите что я не так сделал строка 41 ,42 не дают всем кнопкам работать только кнопки верз и вниз работают если коментирую эти строки то работают остальные кнопки а эти две конечно не работают. Куда поставить эти две строки

 Verx();
  Niz();

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Они просто обозваны некошерно. Надо Up() и Down(), тада все заработает.  Наерна. :-)

artemon25
Offline
Зарегистрирован: 25.12.2015

DetSimen пишет:

Они просто обозваны некошерно. Надо Up() и Down(), тада все заработает.  Наерна. :-)

обозвал их как вы посоветовали но конгечно не работает осталось также . Наверное куда то надо вставить строку 41 и 42 в другое место или как то по другому   а не просто Up();    Down();

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Так ты проверил или нет? Опиши результаты проверки подробнее - как оно себя ведёт?

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

И ещё, тебе тут уже неделю говорят, что "millis() + ..." писать нельзя. Ты это когда-нибудь исправишь?

artemon25
Offline
Зарегистрирован: 25.12.2015

Ворота пишет:

Так ты проверил или нет? Опиши результаты проверки подробнее - как оно себя ведёт?

ну да сейчас проверяю плюсы поменял на минусы а ведёт себя так если строка 41 и 42 написаны то работают только кнопки верх (int ButtV = 9; //кнопка) или низ (int ButtN = 10; //кнопка) и соотвесвенно остальные кнопки вообще не реагируют а если закоментировать эти строки то работают эти 6 кнопок а вот верх вниз не работают

int LedV = 12; // светодиод(реле)
int LedN = 11;
int Butt12 = 2; //кнопка
int Butt13 = 3; //кнопка
int Butt21 = 4; //кнопка
int Butt23 = 5; //кнопка
int Butt31 = 6; //кнопка
int Butt32 = 7; //кнопка
int ButtV = 9; //кнопка
int ButtN = 10; //кнопка

unsigned long Timer;
unsigned long Waiting12 = 20000; //величина выдержки
unsigned long Waiting13 = 45000; //величина выдержки
unsigned long Waiting21 = 20000; //величина выдержки
unsigned long Waiting23 = 25000; //величина выдержки
unsigned long Waiting31 = 43000; //величина выдержки
unsigned long Waiting32 = 25000; //величина выдержки

void setup() {
  pinMode(LedV, OUTPUT);
  pinMode(LedN, OUTPUT);
  pinMode(Butt12, INPUT);
  pinMode(Butt13, INPUT);
  pinMode(Butt21, INPUT);
  pinMode(Butt23, INPUT);
  pinMode(Butt31, INPUT);
  pinMode(Butt32, INPUT);
  pinMode(ButtV, INPUT);
  pinMode(ButtN, INPUT);
  digitalWrite(Butt12, 1);
  digitalWrite(Butt13, 1);
  digitalWrite(Butt21, 1);
  digitalWrite(Butt23, 1);
  digitalWrite(Butt31, 1);
  digitalWrite(Butt32, 1);
  digitalWrite(ButtV, 1);
  digitalWrite(ButtN, 1);
}

void loop() {
  //Up();
 // Down();

  if (digitalRead(Butt12) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting12; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt13) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting13; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt21) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting21; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt23) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting23; // то взводим таймер
    digitalWrite(LedV, 1); //и активируем диод
  }
  if (digitalRead(Butt31) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting31; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (digitalRead(Butt32) == 0 && Timer == 0) { //если таймер не взведен и кнопка нажата
    Timer = millis() - Waiting32; // то взводим таймер
    digitalWrite(LedN, 1); //и активируем диод
  }
  if (Timer <= millis() && Timer != 0) { //если таймер был взведен и текущее время его превысило
    digitalWrite(LedV, 0); // то тушим свет
    digitalWrite(LedN, 0); // то тушим свет
    Timer = 0; //
  }

}

void Up() {
  if (digitalRead(ButtV) == 0 ) {
    digitalWrite(LedV, 1);
  }
  else {
    digitalWrite(LedV, 0);
  }
}
void Down() {
  if (digitalRead(ButtN) == 0 ) {
    digitalWrite(LedN, 1);
  }
  else {
    digitalWrite(LedN, 0);
  }
}

 

artemon25
Offline
Зарегистрирован: 25.12.2015

 и кстати после замены плюсов на минусы кнопка срабатывает но не срабатывает милис тоесть не возвращает реле обратно через определённое время

artemon25
Offline
Зарегистрирован: 25.12.2015

строка 42 и 43 написаны правильно? куда их вставить чтобы они не мешали всему коду и вообще эти строки должны быть написаны просто?

       Up();
  Down();

 

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

А с чего ты взял, что они не работают? Всё работает, просто очень быстро - ты заметить не успеваешь.

Ты, что делаешь в своих Up и Down в том случае. если соотв. кнопка НЕ нажата? Вот ответь, что ты делаешь?

artemon25
Offline
Зарегистрирован: 25.12.2015

Ворота пишет:

А с чего ты взял, что они не работают? Всё работает, просто очень быстро - ты заметить не успеваешь.

Ты, что делаешь в своих Up и Down в том случае. если соотв. кнопка НЕ нажата? Вот ответь, что ты делаешь?

void Up() {
  if (digitalRead(ButtV) == 0 ) { //если кнопка нажата 
    digitalWrite(LedV, 1);        // реле включено
  }
  else {                           //если нет то
    digitalWrite(LedV, 0);        // реле выключено
  }

я думаю так

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

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

1. Гасит светодиод
2. Зажигает светодиод
3. Ничего не делает.

Можешь просто ответить, не пихая мне в мороду кусков кода, который ты, похоже, не понимаешь?

artemon25
Offline
Зарегистрирован: 25.12.2015

Ворота пишет:

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

1. Гасит светодиод
2. Зажигает светодиод
3. Ничего не делает.

Можешь просто ответить, не пихая мне в мороду кусков кода, который ты, похоже, не понимаешь?

я думаю ничего не делает

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

А ты не думай, а посмотри на код (который ты мне в нос тычешь). Проведи по нему пальцем, шепча "если ... то ... иначе ... то" и скажи мне наконец, что делает ТВОЙ код

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

В общем, проводи пальцем, читай шпаршалки и скажи, наконец, правильно.

artemon25
Offline
Зарегистрирован: 25.12.2015

Ворота пишет:

А ты не думай, а посмотри на код (который ты мне в нос тычешь). Проведи по нему пальцем, шепча "если ... то ... иначе ... то" и скажи мне наконец, что делает ТВОЙ код

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

В общем, проводи пальцем, читай шпаршалки и скажи, наконец, правильно.

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

кодом я никому не тыкаю носом а просто пытаюсь объяснить мою проблемку и если не сложно подскажите что надо сделать так как хочется научиться

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

artemon25 пишет:
куда их вставить

Никуда. В таком виде это работать не будет независимо от того, куда Вы их вставите.

artemon25 пишет:
если не сложно подскажите что надо сделать

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

По другому не получится. Нельзя программировать, не умея этого делать.

artemon25
Offline
Зарегистрирован: 25.12.2015

Ворота пишет:

artemon25 пишет:
куда их вставить

Никуда. В таком виде это работать не будет независимо от того, куда Вы их вставите.

artemon25 пишет:
если не сложно подскажите что надо сделать

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

По другому не получится. Нельзя программировать, не умея этого делать.

я понял если у самого мазгов не хватает выучить блокнот ардуинщика и написать код то надо заплатить вам или кому то ещё которые в этом сильны и уже научились. Так что извините за потреченное вами время на такого неуча как я

artemon25
Offline
Зарегистрирован: 25.12.2015

Ворота пишет:

artemon25 пишет:
куда их вставить

Никуда. В таком виде это работать не будет независимо от того, куда Вы их вставите.

artemon25 пишет:
если не сложно подскажите что надо сделать

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

По другому не получится. Нельзя программировать, не умея этого делать.

я почему то думал что мне смогут объяснить как написать и куда что  вставить чтоб заработало

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

artemon25 пишет:

я понял если у самого мазгов не хватает выучить блокнот ардуинщика и написать код

Уверен, что вполне хватает. Там нет ничего такого, чего не мог бы освоить любой нормальный человек (больных людей мы не рассматриваем).

artemon25 пишет:

заплатить вам

Нет, не мне. Я не беру там заказов. Я помогаю только бесплатно.

artemon25 пишет:

то надо заплатить вам или кому то ещё которые в этом сильны и уже научились. 

Так всегда бывает. Любое дело человек или делает сам, или платит тому, кто сделает. Вот только сегодня я сдал в ремонт сотовый и вызвал на завтра сантехника ... и обоим надо платить.  Жизнь такова, какова она есть.

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

artemon25 пишет:

я почему то думал что мне смогут объяснить как написать и куда что  вставить чтоб заработало

Вы ошиблись.

Я пытался. Задал Вам простейший вопрос "что делают три строчки Вашего кода",. Если бы я получил ответ, я бы пояснил почему такой код не может нормально работать. Но ответа я не получил и сделал вывод, что объяснить Вам невозможно, т.к. у Вас не хватает знаний понять объяснение. Вам нужно прокачивать знания. А пока можно только сделать за Вас. А "делать за Вас" это уже не помощь - это услуга. Этим я здесь не занимаюсь, извините.

artemon25
Offline
Зарегистрирован: 25.12.2015

Нет, не мне. Я не беру там заказов. Я помогаю только бесплатно.

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

Ворота
Ворота аватар
Offline
Зарегистрирован: 10.01.2016

Ты меня не понимаешь. Вопрос про тот код и был подсказкой. Причём очевидной - в лоб. Тебе нужно прокачивать знания - ты просто не понимаешь, что тебе подсказывают.

А по поводу

artemon25 пишет:

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

Ты недавно говорил:

artemon25 пишет:
хочется научиться

Ты уж определись, родной. Если тебе "хочется научиться", то учись. Литературу начального уровня я тебе подсказал. Появятся вопросы - отвечу. А если хочется "не лопатить кучу литературы", так заплати тому, кто уже перелопатил.