Нужна помощь в мигании двумя светодиодами, дабы новичек
- Войдите на сайт для отправки комментариев
Ср, 24/10/2012 - 21:00
Вопрос уважаемые как более грамотно написать код? при нажатии на кнопку 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); //?
}
}