Я пытаюсь сделать эскиз Arduino, который принимает число от 0 до 9 из последовательного ввода и мигает светом для этого числа в азбуке Морзе.Если вы не знаете код Моорса для чисел, то это очень просто, вот картинка
после того, как число мигнет, светодиод должен мигать в течение 5 секунд, а затем программа должна дождаться ввода другого числа.То, что делает программа, ждет ввода, а затем постоянно мигает.оно даже не доходило до точки мигания в течение 5 секунд.Вот мой код:
void setup() {
// put your setup code here, to run once:
pinMode(LED_BUILTIN, OUTPUT);
Serial.begin(9600);
Serial.println("Enter a number to be blinked in moose code");
}
void loop() {
// put your main code here, to run repeatedly:
if(Serial.available()>0){
int num=Serial.read();
delay(2);
if(num>=0){
if(num<6){
for(int i=0;i<num;i++){
delay(300);
digitalWrite(LED_BUILTIN, HIGH);
delay(300);
digitalWrite(LED_BUILTIN, LOW);
}
for(int i=num; i<5; i++){
delay(1200);
digitalWrite(LED_BUILTIN, HIGH);
delay(1200);
digitalWrite(LED_BUILTIN, LOW);
}
}
else{
for(int i=0; i<(num-5); i++){
delay(1200);
digitalWrite(LED_BUILTIN, HIGH);
delay(1200);
digitalWrite(LED_BUILTIN, LOW);
}
for(int i=num; i<10; i++){
delay(300);
digitalWrite(LED_BUILTIN, HIGH);
delay(300);
digitalWrite(LED_BUILTIN, LOW);
}
}
digitalWrite(LED_BUILTIN, HIGH);
delay(5000);
digitalWrite(LED_BUILTIN, LOW);
}
}
}