Animácie pomocou 74HC595

Page

Stránky / Súčiastky ku Arduinu / 74HC595 Posuvný register /

Keď sme sa pomocou predchádzajúcich programov dostatočne pohrali s rýchlosťou ovládania posuvného registra 74HC595, teraz prichádza na rad tá zábavnejšia časť. Môžeme začať tvoriť umenie. Umením bude rozumieť rozličné zapínanie a vypínanie LED, aby vznikali zaujímavé obrazce.

Na ukážku som napísal štyri vzorky rôzne sa zažínajúcich diód:

  • Behá jedna dióda zľava doprava.
  • Behajú dve diódy zľava doprava.
  • Behajú dve diódy stále jedným smerom.
  • Indikátor hlasitosti, kde sa postupne zažnú všetky LED a zase zhasnu.

Dá sa s týmito vzormi hrať do sýtosti, keď si otvoríte vzorový príklad hc595_led_spi_line.ino, tak princíp tvorby vzoriek by mal byť na prvý pohľad jasný.

char p1[]={
  0b00000001,
  0b00000010,
  0b00000100,
  0b00001000,
  0b00010000,
  0b00100000,
  0b01000000,
  0b10000000,
  0b01000000,
  0b00100000,
  0b00010000,
  0b00001000,
  0b00000100,
  0b00000010,
};

void play(char *p,int poc, int repeat, int dela)
{
  while(repeat)
  {
    for (int i = 0; i < poc; i++) {
      // take the latchPin low so 
      // the LEDs don't change while you're sending in bits:
      digitalWrite(latchPin, LOW);
      // shift out the bits:
      SPI.transfer(p[i]);

      //take the latch pin high so the LEDs will light up:
      digitalWrite(latchPin, HIGH);
      // pause before next value:
      delay(dela);
    }
    repeat--;
  }
}

void loop() {
  play(p1,sizeof(p1),3,50*2);
  ...
}

Zdrojový kód

Zdrojový kód sa nachádza na webe GitHub.


04.07.2016


Menu