Stroboskopinis ir dimerinis mirksiukas 2015.10.28 at 10:58

Toks trumpas straipsniukas, atsiradęs dėl to, kad kolega užsimanė pamirksinti LEDus taip, kaip mirksi specialiųjų tarnybų stroboskopiniai mirksiukai (tipo police strobe). Pats greičiausias būdas – jamam Arduino Uno ir nesunkiai parašom tokią programėlę. Berašydamas, kaip visada sugalvojau patobulinti galutinį variantą ir finale turim ir stroboskopinį ir dimeruojantį variantą. Programėlė:

// Kintamieji:

int x = 0;
const int mirksejimo_kiekis = 10;
const int mirksejimo_trukme = 20;
const int laikas_tarp_pusiu = 150;
int sviesumas = 0;
int pokytis = 1;

// Isejimo pinai:

const int raudonas_led = 9;
const int melynas_led = 10;

// Iejimu pinai:

const int mygtukas = A0;

// Programa, keisti reiktu tik virsuje

void setup() {
  pinMode(raudonas_led, OUTPUT);
  pinMode(melynas_led, OUTPUT);
  pinMode(mygtukas, INPUT);
}
void loop() {
  if (digitalRead(mygtukas) == HIGH)
  {
    mirksejimas();
  }
  else
  {
    dimeris();
  }
}
//-------------------- Mirksejimo programele ------------------------
int mirksejimas() {
  for (x = 0; x <= mirksejimo_kiekis; x++)
  {
    analogWrite(raudonas_led, HIGH);
    delay(mirksejimo_trukme);
    analogWrite(raudonas_led, LOW);
    delay(mirksejimo_trukme);
  }
  delay (laikas_tarp_pusiu);
  for (x = 0; x <= mirksejimo_kiekis; x++)
  {
    analogWrite(melynas_led, HIGH);
    delay(mirksejimo_trukme);
    analogWrite(melynas_led, LOW);
    delay(mirksejimo_trukme);
  }
  delay (laikas_tarp_pusiu);
}
//-------------------- Dimeriavimo programele ------------------------
int dimeris() {
   analogWrite(raudonas_led, sviesumas);
   analogWrite(melynas_led, -sviesumas);
   sviesumas = sviesumas + pokytis;
   if (sviesumas == 0 || sviesumas == 255) {
     pokytis = -pokytis ;
   }
   delay(2);
}

Viskas čia paprasta, plius įdėjau ir keletą komentarų, bet visgi jei bus klausimų – prašom, komentaruose bandysiu atsakyti. Mėlynas ir raudonas 1W galios LEDai jau važiuoja, taigi, ne už ilgo turėtų būti ir veikimo video :).

2015.11.03

štai ir video… Nors stroboskopo efektas nelabai gražiai įsirašė:

 

Leave a Reply

*