const int led1 = 0; // светодиоды подключены к пинам атмега8 0-3
const int led2 = 1;
const int led3 = 2;
const int led4 = 3;
const int button1 = 4; // на эти пины атмега8 приходит 5в с платы
const int button2 = 5;
const int button3 = 6;
const int button4 = 7;
int val1 = 0;
int val2 = 0;
int val3 = 0;
int val4 = 0;
byte state1 = 0; // переменная состояния
byte state2 = 0; // переменная состояния
byte state3 = 0; // переменная состояния
byte state4 = 0; // переменная состояния
void setup(){
pinMode( led1, OUTPUT );
pinMode( button1, INPUT );
pinMode( led2, OUTPUT );
pinMode( button2, INPUT );
pinMode( led3, OUTPUT );
pinMode( button3, INPUT );
pinMode( led4, OUTPUT );
pinMode( button4, INPUT );
}
void loop(){
// кнопка 1
// записываем в переменную val состояние кнопки
val1 = digitalRead( button1 );
// если состояние кнопки - истина, выполняем действие
if( val1 == HIGH ){
// меняем состояние на противоположное
state1 = !state1;
if( state1 == HIGH ){
// если текущее состояние - истина, зажигаем светодиод
digitalWrite( led1, HIGH );
} else {
// если текущее состояние - ложь, гасим светодиод
digitalWrite( led1, LOW );
}
delay( 300 );
}
// кнопка 2
// записываем в переменную val состояние кнопки
val2 = digitalRead( button2 );
// если состояние кнопки - истина, выполняем действие
if( val2 == HIGH ){
// меняем состояние на противоположное
state2 = !state2;
if( state2 == HIGH ){
// если текущее состояние - истина, зажигаем светодиод
digitalWrite( led2, HIGH );
} else {
// если текущее состояние - ложь, гасим светодиод
digitalWrite( led2, LOW );
}
delay( 300 );
}
// кнопка 3
// записываем в переменную val состояние кнопки
val3 = digitalRead( button3 );
// если состояние кнопки - истина, выполняем действие
if( val3 == HIGH ){
// меняем состояние на противоположное
state3 = !state3;
if( state3 == HIGH ){
// если текущее состояние - истина, зажигаем светодиод
digitalWrite( led3, HIGH );
} else {
// если текущее состояние - ложь, гасим светодиод
digitalWrite( led3, LOW );
}
delay( 300 );
}
// кнопка 4
// записываем в переменную val состояние кнопки
val4 = digitalRead( button4 );
// если состояние кнопки - истина, выполняем действие
if( val4 == HIGH ){
// меняем состояние на противоположное
state4 = !state4;
if( state4 == HIGH ){
// если текущее состояние - истина, зажигаем светодиод
digitalWrite( led4, HIGH );
} else {
// если текущее состояние - ложь, гасим светодиод
digitalWrite( led1, LOW );
}
delay( 300 );
}
}
сам код