Нужна помощь в мигании двумя светодиодами, дабы новичек

Нет ответов
Grizzly
Offline
Зарегистрирован: 24.10.2012

Вопрос уважаемые как более грамотно написать код? при нажатии на кнопку Button будет загораться светодиод LED1 и пока нажата кнопка, LED1  горит, после как загорелся светодиод LED1 через 15 секунд загорается светодиод LED2 на три секунды и гаснет. Если же отпустить кнопку Button Led2 загорается на три секунды и гаснет, а через одну минуту гаснет Led1. использую launch Pad MSP-EXP430G2, одним светодиодом вроде как могу мигать а вот уже действия через интервал времени не получается

// задаем константы
const int button = 5;     // номер входа, подключенный к кнопке
const int led1 =  2;      // номер выхода светодиода
const int led2 =  14;     // номер выхода светодиода
 
// переменные
int buttonState = 0;         // переменная для хранения состояния кнопки
int val = 0;                 //?
int state = 0;               //?
 
void setup() {
  // инициализируем пин, подключенный к светодиоду, как выход
  pinMode(led1, OUTPUT);
// инициализируем пин, подключенный к светодиоду, как выход
  pinMode(led2, OUTPUT);  
  // инициализируем пин, подключенный к кнопке, как вход
  pinMode(button, INPUT);    
}
 
void loop(){
  // считываем значения с входа кнопки
  buttonState = digitalRead(button);
  val = digitalRead(led1);
   
  // проверяем нажата ли кнопка
  // если нажата, то buttonState будет HIGH:
  if (buttonState == HIGH) {    
    // включаем светодиод    
    digitalWrite(led1, HIGH);  
  }
  else {
    // выключаем светодиод
    digitalWrite(led1, LOW);
  }
    //?
   if (val == HIGH) {
    state = 1 - state;
  }
  if (state == 1) {
    digitalWrite(led2, HIGH); //?
  }
  else {
    digitalWrite(led2, LOW);  //?
  }
}