Код (C++): int regim=1; int flag=0; void setup() { pinMode(10,OUTPUT); pinMode(9,OUTPUT); pinMode(13,INPUT);//обозначаем 13 пин входом для кнопки } void loop() { if(digitalRead(13)==HIGH&&flag==0)//считываем с 13 го пина { regim++; flag=1; if(regim>4) { regim=1; } } if(digitalRead(13)==LOW&&flag==1)//считываем с 13 го пина { flag=0; } if(regim==1) { digitalWrite(9,HIGH); delayMicroseconds(40); digitalWrite(9,LOW); delayMicroseconds(500); digitalWrite(10,HIGH); delayMicroseconds(40); digitalWrite(10,LOW); } if(regim==2) { digitalWrite(9,HIGH); delayMicroseconds(200); digitalWrite(9,LOW); delayMicroseconds(500); digitalWrite(10,HIGH); delayMicroseconds(200); digitalWrite(10,LOW); } if(regim==3) { digitalWrite(9,HIGH); delayMicroseconds(40); digitalWrite(9,LOW); delayMicroseconds(40); digitalWrite(9,HIGH); delayMicroseconds(40); digitalWrite(9,LOW); digitalWrite(10,HIGH); delayMicroseconds(40); digitalWrite(10,LOW); delayMicroseconds(40); digitalWrite(10,HIGH); delayMicroseconds(40); digitalWrite(10,LOW);//забыл поставить точку с запятой (бывает) delayMicroseconds(40); } if(regim==4) { digitalWrite(9,HIGH); delayMicroseconds(40); digitalWrite(9,LOW); delayMicroseconds(40); digitalWrite(9,HIGH); delayMicroseconds(40); digitalWrite(9,LOW); delayMicroseconds(500); digitalWrite(10,HIGH); delayMicroseconds(40); digitalWrite(10,LOW); delayMicroseconds(40); digitalWrite(10,HIGH); delayMicroseconds(40); digitalWrite(10,LOW) delayMicroseconds(40); } } пина 14 нет я переделал код на 13 ый
Но всеравно работать не будет т.к. 1. ниже тоже пропущена ';' 2. не уверен что при использовании delay будет реакция на нажатие кнопки после 1 раза, т.к. контроллер засыпает на это время (хотя и не уверен в этом)
в коде выше просто не видно чтобы какая либо бибилиотека подключалась,а по факту, я использую millis() и никаких проблем. P.S. Полез даже посмотрел эту библиотеку от нечего делать, но всеравно в ней не нашел замены именно функции delay, т.е. сама эта функция как давала команду на засыпание так и дает ее а в указанной библиотеке вызываются встроенные функции Timer для управления. P.S.S. И кстати да, а ТС точно нужно моргание в микросекундах а не в миллисекундах, я так подозреваю что 200 микросекунд перерыва даже на глаз нельзя будет заметить т.к. это 0,0002 секунды.