В Arduino имеется 4 вида аппаратных прерываний. Отличаются они сигналом на контакте прерывания. В Arduino Uno есть два пина, поддерживающие прерывания. Это цифровые пины 2 (int 0) и 3 (int 1). Один из них мы и будем использовать в нашей схеме. Предлагаю сделать устройство, которое будет поочередно изменять яркость светодиодов в зависимости от показаний инфракрасного датчика расстояния, а по нажатию на кнопку прерывания будем переходить от одного светодиода к другому. Наше устройство будет выглядеть примерно вот так: / Назначение прерывания
int buttonInt = 0;
// Переменные с пинами светодиодов
int yellowLed = 11;
int redLed = 10;
int greenLed = 9;
int nullLed = 6;
volatile int selectedLed = greenLed;
// Инфракрасный дальномер
int distPin = 0;
void setup() { // Устанавливаем режимы пинов
pinMode(redLed, OUTPUT);
pinMode(greenLed, OUTPUT);
pinMode(yellowLed, OUTPUT);
pinMode(nullLed, OUTPUT);
// Устанавливаем прерывание
attachInterrupt(buttonInt, swap, RISING);
} // Обрабо