Помогите сделать поворотник для модели

Здраствуйте, очень нужна ваша помощь.
Нужно сделать мигание светодиодов (имитация поворотников, по нажатию на кнопку на IK пульте.
Именно нужно сделать под кодом нажатия кнопки case 0xFF22DD: (PL) - правый поворотник, и по нажатию 0xFFC23D (PR) - левый поворотник, так же на повторном нажатии “поворотники” выключались.
Перешарил интернет, никак не могу понять, не хватает знаний вписать millis с прерыванием в код.

#include "IRremote.h"

boolean fFar=1;
boolean fPL=0;
boolean fPR=0;
boolean fSalon=0;
const int Far=3; 
const int PL=4; 
const int PR=5; 
const int Salon=6; 
int flag=0;
unsigned long previousMillis = 0; 
const long period = 1000;
IRrecv irrecv(2); // указываем вывод, к которому подключен приемник

decode_results results;

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn(); // запускаем прием
 pinMode(Far,OUTPUT); 
 pinMode(PL,OUTPUT); 
 pinMode(PR,OUTPUT); 
 pinMode(Salon,OUTPUT); 


}
void loop() {
  if ( irrecv.decode( &results )) { // если данные пришли
switch ( results.value ) {
case 0xFFA25D:{
if (digitalRead(0xFFA25D)==HIGH && flag==0) 
 digitalWrite(Far,!digitalRead(Far));
 flag=1; 
 if (digitalRead(0xFFA25D)==LOW && flag==1)
 digitalWrite(Far,!digitalRead(Far));
 flag=0;
 break; 
        //break;
    case 0xFF629D:
 if (digitalRead(0xFF629D)==HIGH && flag==0) 
 digitalWrite(Salon,!digitalRead(Salon));
 flag=1; 
 if (digitalRead(0xFF629D)==LOW && flag==1)
 digitalWrite(Salon,!digitalRead(Salon));
 flag=0;
        break;
    case 0xFF22DD:
       if (digitalRead(0xFF22DD)==HIGH && flag ==0)
       digitalWrite(PL,!digitalRead(PL));
 flag=1;
 if (digitalRead(0xFF22DD)==LOW && flag==1)
 digitalWrite(PL,!digitalRead(PL));
 flag=0;   
        break;
    case 0xFFC23D:
       if (digitalRead(0xFFC23D)==HIGH && flag==0) 
  digitalWrite(PR,!digitalRead(PR));
 flag=1; 
 if (digitalRead(0xFFC23D)==LOW && flag==1)
 digitalWrite(PR,!digitalRead(PR));
 flag=0;
        break;
  


    if (fFar) {Serial.println("Svet enables");}
     else {Serial.println("Svet disable");}
    if (fPL) {Serial.println("Pulse left enables");}
     else {Serial.println("Pulse left disable");}
    if (fPR) {Serial.println("Pulse right enables");}
     else {Serial.println("Pulse right disable");}
    if (fSalon) {Serial.println("Salon enables");}
     else {Serial.println("Salon disable");}
    Serial.println("\n");
    
    irrecv.resume(); // принимаем следующую команду
  }
}
}

код вставлен не по правилам форума

Вставьте код правильно и объясните толком Вашу проблему.

  1. Что Вы хотите сделать?
  2. Что делает приведённый код?
  3. Чем №1 отличается от №2"?
  4. В чём именно состоит проблема, которую Вы не можете решить самостоятельно?
  1. Хочу сделать включение мигания светодиодов (написал в программе)
  2. Данный код включает светодиоды по нажатию пульта. (Far - фары модели, Salon - свет в салоне, PL - правый поворотник, PR - левый поворотник) все это выключается на те же кнопки на IK пульте.
  3. Не могу разобраться и вставить код прерывания с милис в код включения поворотников, чтобы они мигали по нажатию и выключались.

Посмотрите этот пример.
https://arduino.ru/tutorials/BlinkWithoutDelay

Ещё посмотрите.
https://arduino.ru/Reference/DigitalRead

Ну, чтобы “не мигали”, Вы умеете включать? Фары там, салон, включаете же?

Ну, так поставьте мигающий светодиод и включайте его также, как включаете немигающие, он и будет мигать.

А как его прописать? (C)

Пробовал первый вариант, вписывал в программу, но ничего не работало, светодиод просто включается и горит, не выключается и не мигает.

Как вписывались, покажите. Там дел - строк на 10.

Так я же Вам сказал как сделать - точно работать будет, куда оно хахрен денется-то?

да нехера там работать не будет, стоит отформатировать код и тогда станет понятно что в 31 строке …

  1. У Вас уже спросили, как пробовали, это надо выложить новый код.
  2. Первый код не компилируется. Всегда лучше форматировать текст, в Arduino IDE автоформатирование Ctrl+T. Ошибку легче найти будет.
  3. Про digitalRead() я привёл ссылку, чтобы Вы обратили внимание на строку 32 и т.д.

Для простоты мигания прочитайте про analogWrite(), может просветлеет.

Фраза не лишена смысла - токо подрихтовать прескалер таймеру, чтобы он еле щелкал.

У ТС 34 минуты просмотра сейчас. Выложу, управляющие кнопки 1,2,3,4.