нужен скейч

R8SAAF

✩✩✩✩✩✩✩
12 Ноя 2019
4
0
простой проэкт
2 кнопки
два выхода
1 кнопка включает 1 выход постояно
2 кнопка включает 2 выхода на время
 

Вложения

MrMable

★✩✩✩✩✩✩
1 Ноя 2019
74
10
C++:
#define button1Pin 2     // номер входа, подключенный к кнопке 1
#define button2Pin 3     // номер входа, подключенный к кнопке 3
#define led1Pin  13      // номер выхода светодиода 1
#define led2Pin  10      // номер выхода светодиода 2
#define button2TimerOff 5000    // задержка для выключения после отпускания кнопки 2
unsigned long button2Timer;
 
void setup() {
  pinMode(led1Pin, OUTPUT);// инициализируем пин, подключенный к светодиоду, как выход
  pinMode(led2Pin, OUTPUT);// инициализируем пин, подключенный к светодиоду, как выход
  pinMode(button1Pin, INPUT_PULLUP); // инициализируем пин, подключенный к кнопке, как вход
  pinMode(button2Pin, INPUT_PULLUP); // инициализируем пин, подключенный к кнопке, как вход
}
 
void loop(){
 
 
  if (!digitalRead(button1Pin)){    // проверяем нажата ли кнопка 1 
    digitalWrite(led1Pin, HIGH);    // включаем светодиод 1
  }     
    
  if (!digitalRead(button2Pin)){    // проверяем нажата ли кнопка 2
    digitalWrite(led1Pin, HIGH);    // включаем светодиод 1
    digitalWrite(led2Pin, HIGH);    // включаем светодиод 2
    button2Timer = millis();
  }
        
    // выключаем светодиоды, если после отпускания кнопки 2 прошло больше button2TimerOff
    if ( millis() - button2Timer > button2TimerOff){
      digitalWrite(led1Pin, LOW);    // выключаем светодиод 1
      digitalWrite(led2Pin, LOW);    // выключаем светодиод 2
  }         
 
}
Кнопки подключать к земле и к пинам 2, 3
 

MrMable

★✩✩✩✩✩✩
1 Ноя 2019
74
10
"Включает постоянно" в ТЗ я и не заметил, похоже спать больше. )
 

R8SAAF

✩✩✩✩✩✩✩
12 Ноя 2019
4
0
C++:
#define button1Pin 2     // номер входа, подключенный к кнопке 1
#define button2Pin 3     // номер входа, подключенный к кнопке 3
#define led1Pin  13      // номер выхода светодиода 1
#define led2Pin  10      // номер выхода светодиода 2
#define button2TimerOff 5000    // задержка для выключения после отпускания кнопки 2
unsigned long button2Timer;

void setup() {
  pinMode(led1Pin, OUTPUT);// инициализируем пин, подключенный к светодиоду, как выход
  pinMode(led2Pin, OUTPUT);// инициализируем пин, подключенный к светодиоду, как выход
  pinMode(button1Pin, INPUT_PULLUP); // инициализируем пин, подключенный к кнопке, как вход
  pinMode(button2Pin, INPUT_PULLUP); // инициализируем пин, подключенный к кнопке, как вход
}

void loop(){


  if (!digitalRead(button1Pin)){    // проверяем нажата ли кнопка 1
    digitalWrite(led1Pin, HIGH);    // включаем светодиод 1
  }    
   
  if (!digitalRead(button2Pin)){    // проверяем нажата ли кнопка 2
    digitalWrite(led1Pin, HIGH);    // включаем светодиод 1
    digitalWrite(led2Pin, HIGH);    // включаем светодиод 2
    button2Timer = millis();
  }
       
    // выключаем светодиоды, если после отпускания кнопки 2 прошло больше button2TimerOff
    if ( millis() - button2Timer > button2TimerOff){
      digitalWrite(led1Pin, LOW);    // выключаем светодиод 1
      digitalWrite(led2Pin, LOW);    // выключаем светодиод 2
  }        

}
Кнопки подключать к земле и к пинам 2, 3

извени но скейч такойже как у меня
приножатии 1 кнопки светодиот включается как отпускаеш то тухнит
мне нужны такие цыклы нажал 1 кнопку всо роботает нажал на 2кнопку прошло сколькото времени и всо выключилось даже есле кнопка 2 будит ножата
 

MrMable

★✩✩✩✩✩✩
1 Ноя 2019
74
10
Подумайте хорошо над ТЗ, пока оно не очень понятным выглядит.
 

R8SAAF

✩✩✩✩✩✩✩
12 Ноя 2019
4
0
всё отлично работает
спасибо за скейч
вот робочий


#define button1Pin 2 // номер входа, подключенный к кнопке 1
#define button2Pin 3 // номер входа, подключенный к кнопке 3
#define led1Pin 13 // номер выхода светодиода 1
#define led2Pin 10 // номер выхода светодиода 2
#define button2TimerOff 5000 // задержка для выключения после отпускания кнопки 2
unsigned long button2Timer;
unsigned char fOff=1; // флаг разрешения выключения выходов

void setup() {
pinMode(led1Pin, OUTPUT);// инициализируем пин, подключенный к светодиоду, как выход
pinMode(led2Pin, OUTPUT);// инициализируем пин, подключенный к светодиоду, как выход
pinMode(button1Pin, INPUT_PULLUP); // инициализируем пин, подключенный к кнопке, как вход
pinMode(button2Pin, INPUT_PULLUP); // инициализируем пин, подключенный к кнопке, как вход
}

void loop(){


if (!digitalRead(button1Pin)){ // проверяем нажата ли кнопка 1
digitalWrite(led1Pin, HIGH); // включаем светодиод 1
digitalWrite(led2Pin, LOW); // вЫключаем светодиод 2
fOff=0; // запретить выключение выходов
}

if (!digitalRead(button2Pin)){ // проверяем нажата ли кнопка 2
digitalWrite(led1Pin, HIGH); // включаем светодиод 1
digitalWrite(led2Pin, HIGH); // включаем светодиод 2
button2Timer = millis();
fOff=1; // разрешить выключение выходов
}

// выключаем светодиоды, если после отпускания кнопки 2 прошло больше button2TimerOff
if (( millis() - button2Timer > button2TimerOff) && (fOff==1)){ // если время заданное время истекло и выключение выходов разрешено
digitalWrite(led1Pin, LOW); // выключаем светодиод 1
digitalWrite(led2Pin, LOW); // выключаем светодиод 2
}

}
этот скейч работает
??????а ещо можно родправить его чтоп кнопка 2 когда ножата отщитовала время тожа
 

dimonSha

✩✩✩✩✩✩✩
25 Окт 2019
64
9
Украина, Харьков.
всё отлично работает
спасибо за скейч
вот робочий


#define button1Pin 2 // номер входа, подключенный к кнопке 1
#define button2Pin 3 // номер входа, подключенный к кнопке 3
#define led1Pin 13 // номер выхода светодиода 1
#define led2Pin 10 // номер выхода светодиода 2
#define button2TimerOff 5000 // задержка для выключения после отпускания кнопки 2
unsigned long button2Timer;
unsigned char fOff=1; // флаг разрешения выключения выходов

void setup() {
pinMode(led1Pin, OUTPUT);// инициализируем пин, подключенный к светодиоду, как выход
pinMode(led2Pin, OUTPUT);// инициализируем пин, подключенный к светодиоду, как выход
pinMode(button1Pin, INPUT_PULLUP); // инициализируем пин, подключенный к кнопке, как вход
pinMode(button2Pin, INPUT_PULLUP); // инициализируем пин, подключенный к кнопке, как вход
}

void loop(){


if (!digitalRead(button1Pin)){ // проверяем нажата ли кнопка 1
digitalWrite(led1Pin, HIGH); // включаем светодиод 1
digitalWrite(led2Pin, LOW); // вЫключаем светодиод 2
fOff=0; // запретить выключение выходов
}

if (!digitalRead(button2Pin)){ // проверяем нажата ли кнопка 2
digitalWrite(led1Pin, HIGH); // включаем светодиод 1
digitalWrite(led2Pin, HIGH); // включаем светодиод 2
button2Timer = millis();
fOff=1; // разрешить выключение выходов
}

// выключаем светодиоды, если после отпускания кнопки 2 прошло больше button2TimerOff
if (( millis() - button2Timer > button2TimerOff) && (fOff==1)){ // если время заданное время истекло и выключение выходов разрешено
digitalWrite(led1Pin, LOW); // выключаем светодиод 1
digitalWrite(led2Pin, LOW); // выключаем светодиод 2
}

}
этот скейч работает
??????а ещо можно родправить его чтоп кнопка 2 когда ножата отщитовала время тожа
Можно все на что хватит фантазии)
 

R8SAAF

✩✩✩✩✩✩✩
12 Ноя 2019
4
0
если можно то под править
а на самом дели я уже с помощю одного конденсатора и сопротивления зделал чтоп всо работало