Individální projekty MPOA

Mikroprocesory s architekturou ARM

Uživatelské nástroje

Nástroje pro tento web


2014:led-cube

Zadání projektu

LED cube 8x8x8 na FRDM-KL25Z — Hardware LED CUBE vytvořený v rámci staršího projektu připojte k vývojové desce FRDM-KL25Z a příklady portujte na tuto desku. Využijte prostředí KDS nebo mbed.


Hardware

Hlavním prvkem - srdcem - celé aplikace je vývojová deska KL25Z, která je propojena s LED krychlí 8x8x8. Krychle má vadný tranzistor obsluhující druhý sloupec (z prava), tudíž celý druhý sloupec není funkční (nesvítí). Oba dílčí prvky jsou zachyceny na dvou obrázcích níže - deska KL25Z a LED krychle 8x8x8.


Úprava hardwaru

Vývojovou desku KL25Z je nutno osadit pinovými lištami, pro následné propojení s krychlí. Před vlastním zapájením je třeba vhodně si rozvrhnout rozložení výstupních pinů pro ovládání krychle. Po osazení desky KL25Z pinovou lištou na vhodné pozice, propojit ovládací piny krychle s lištami.

Na krychli bylo třeba přepájet některá spojení LED, kabeláž. Oprava některých spojů a hledání závad (rozpojení) bylo velice obtížné, a to zejména uvnitř krychle díky stísněnému prostoru mezi jednotlivými LED. Ale povedlo se. Ještě je třeba vyměnit vadný tranzistor u druhého sloupce. Výsledek je zobrazen na obrázku níže.


Software

K řízení LED krychle 8x8x8 použijeme následující piny:

Vrstvy:

 PTC - 7, 0, 3, 4, 5, 6, 10, 11

Sloupce:

 PTC - 12, 13, 16, 17 
 PTA - 16, 17, 31
 PTD - 6

Řady:

 PTE - 5, 4, 3, 2
 PTB - 11, 10, 9, 8

Led krychle je řízena spínáním vrstev na logickou „1“ a poté pro řady a sloupce nepotřebné led zhasnuty logickou „0“. Jiné varianty řízení nebyly realizovatelné, neboť jinak vždy svítila celá vrstva.


Kód

Pro ovládání krychle stačí základní knihovna a inicializace výstupů:

#include "mbed.h"

DigitalOut v1(PTC7);
DigitalOut v2(PTC0);
DigitalOut v3(PTC3);
...

DigitalOut s1(PTC12);
DigitalOut s2(PTC13);
DigitalOut s3(PTC16);
...

DigitalOut r1(PTE5);
DigitalOut r2(PTE4);
DigitalOut r3(PTE3);
...

Vizualizace jednotlivých příkladů jsou potom řízeny v osmi krocích, kdy je zvolena vrstva pomocí logické „1“ a obrazec utvářen volbou logické „0“ pro osy x a y, čili v tomto případě „s“(sloupec) a „r“ (řada), s intervalem čekání „w“, který lze globálně měnit a tím měnit rychlost průběhu vizualizací.

Online studio MBED online mělo problémy kompilovat větší počty řádků, proto bylo provedeno 20 vizualizací, které se podařilo zkompilovat najednou. Video s výsledkem viz níže kapitola „Video“.

Chyba MBED online studia pro větší obsah řádků (nad 300) ke kompilaci:

 Warning: The build system is under heavy load right now. Compiles may take longer than usual.
 Error: The build system task timed out.

Hlavní část programu, včetně zvolených vizualizací:

int main() {
  float w = 1;
  while(1) {
  
  //1    
  v1=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v2=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v3=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v4=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v6=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v7=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v8=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  
  //2
  v1=1; r1=1; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=1;   s1=1; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=1;
  wait(w);
  v2=1; r1=1; r2=1; r3=0; r4=0; r5=0; r6=0; r7=1; r8=1;   s1=1; s2=1; s3=0; s4=0; s5=0; s6=0; s7=1; s8=1;
  wait(w);
  v3=1; r1=1; r2=1; r3=1; r4=0; r5=0; r6=1; r7=1; r8=1;   s1=1; s2=1; s3=1; s4=0; s5=0; s6=1; s7=1; s8=1;  
  wait(w);
  v4=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v5=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  v6=1; r1=0; r2=0; r3=1; r4=1; r5=1; r6=1; r7=0; r8=0;   s1=0; s2=0; s3=1; s4=1; s5=1; s6=1; s7=0; s8=0;
  wait(w);
  v7=1; r1=0; r2=0; r3=0; r4=1; r5=1; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=1; s5=1; s6=0; s7=0; s8=0;
  wait(w);
  v8=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  
  //3
  v1=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v2=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v3=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v4=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v5=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v6=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v7=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v8=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  
  //4
  v1=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v2=1; r1=1; r2=0; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v3=1; r1=1; r2=1; r3=0; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v4=1; r1=1; r2=1; r3=1; r4=0; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=1; r2=1; r3=1; r4=1; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v6=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=0; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v7=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v8=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  
  //4 b
  v1=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v2=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v3=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=0; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v4=1; r1=1; r2=1; r3=1; r4=1; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=1; r2=1; r3=1; r4=0; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v6=1; r1=1; r2=1; r3=0; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v7=1; r1=1; r2=0; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v8=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  
     //4c
  v1=1; r1=0; r2=1; r3=0; r4=1; r5=0; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v2=1; r1=1; r2=0; r3=1; r4=0; r5=1; r6=0; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v3=1; r1=0; r2=1; r3=0; r4=1; r5=0; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v4=1; r1=1; r2=0; r3=1; r4=0; r5=1; r6=0; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=0; r2=1; r3=0; r4=1; r5=0; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v6=1; r1=1; r2=0; r3=1; r4=0; r5=1; r6=0; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v7=1; r1=0; r2=1; r3=0; r4=1; r5=0; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v8=1; r1=1; r2=0; r3=1; r4=0; r5=1; r6=0; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  
  //5
  v1=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v2=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=0; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v3=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=0; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v4=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=0; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v5=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=0; s6=1; s7=1; s8=1;
  wait(w);
  v6=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=0; s7=1; s8=1;
  wait(w);
  v7=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=0; s8=1;
  wait(w);
  v8=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  
  //5b
  v1=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  v2=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=0; s8=1;
  wait(w);
  v3=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=0; s7=1; s8=1;
  wait(w);
  v4=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=0; s6=1; s7=1; s8=1;
  wait(w);
  v5=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=0; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v6=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=0; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v7=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=0; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v8=0; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  
  //6a
  v1=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  v2=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=0; s3=1; s4=1; s5=1; s6=1; s7=0; s8=1;
  wait(w);
  v3=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=0; s4=1; s5=1; s6=0; s7=1; s8=1;
  wait(w);
  v4=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=0; s5=0; s6=1; s7=1; s8=1;
  wait(w);
  v5=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=0; s5=0; s6=1; s7=1; s8=1;
  wait(w);
  v6=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=0; s4=1; s5=1; s6=0; s7=1; s8=1;
  wait(w);
  v7=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=0; s3=1; s4=1; s5=1; s6=1; s7=0; s8=1;
  wait(w);
  v8=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  
  //6b
  v1=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=1;
  wait(w);
  v2=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=1; s3=0; s4=0; s5=0; s6=0; s7=1; s8=0;
  wait(w);
  v3=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=1; s4=0; s5=0; s6=1; s7=0; s8=0;
  wait(w);
  v4=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=1; s5=1; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=1; s5=1; s6=0; s7=0; s8=0;
  wait(w);
  v6=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=1; s4=0; s5=0; s6=1; s7=0; s8=0;
  wait(w);
  v7=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=1; s3=0; s4=0; s5=0; s6=0; s7=1; s8=0;
  wait(w);
  v8=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=1;
  wait(w);
  
  //6c
  v1=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  v2=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=0; s8=1;
  wait(w);
  v3=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=0; s7=1; s8=1;
  wait(w);
  v4=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=0; s6=1; s7=1; s8=1;
  wait(w);
  v5=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=0; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v6=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=0; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v7=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=0; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v8=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  
  //7
  v1=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=1; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=1;
  wait(w);
  v2=1; r1=0; r2=0; r3=1; r4=1; r5=1; r6=1; r7=0; r8=0;   s1=1; s2=1; s3=0; s4=0; s5=0; s6=0; s7=1; s8=1;
  wait(w);
  v3=1; r1=0; r2=0; r3=0; r4=1; r5=1; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=0; s5=0; s6=1; s7=1; s8=1;  
  wait(w);
  v4=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v5=1; r1=1; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=1;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  v6=1; r1=1; r2=1; r3=0; r4=0; r5=0; r6=0; r7=1; r8=1;   s1=0; s2=0; s3=1; s4=1; s5=1; s6=1; s7=0; s8=0;
  wait(w);
  v7=1; r1=1; r2=1; r3=1; r4=0; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=1; s5=1; s6=0; s7=0; s8=0;
  wait(w);
  v8=1; r1=1; r2=1; r3=1; r4=0; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  
  //8
  v1=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  v2=1; r1=0; r2=0; r3=1; r4=1; r5=1; r6=1; r7=0; r8=0;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  v3=1; r1=0; r2=0; r3=0; r4=1; r5=1; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=1; s4=1; s5=1; s6=1; s7=0; s8=0;
  wait(w);
  v4=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=0; s2=0; s3=0; s4=1; s5=1; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=1; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v6=1; r1=1; r2=1; r3=0; r4=0; r5=0; r6=0; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=1; s5=1; s6=0; s7=0; s8=0;
  wait(w);
  v7=1; r1=1; r2=1; r3=1; r4=0; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=1; s4=1; s5=1; s6=1; s7=0; s8=0;
  wait(w);
  v8=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  
  //9
  v1=1; r1=1; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=1;   s1=0; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=0;
  wait(w);
  v2=1; r1=1; r2=1; r3=0; r4=0; r5=0; r6=0; r7=1; r8=1;   s1=0; s2=0; s3=1; s4=1; s5=1; s6=1; s7=0; s8=0;
  wait(w);
  v3=1; r1=1; r2=1; r3=1; r4=0; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=1; s5=1; s6=0; s7=0; s8=0;  
  wait(w);
  v4=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=1; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=1;
  wait(w);
  v6=1; r1=0; r2=0; r3=1; r4=1; r5=1; r6=1; r7=0; r8=0;   s1=1; s2=1; s3=0; s4=0; s5=0; s6=0; s7=1; s8=1;
  wait(w);
  v7=1; r1=0; r2=0; r3=0; r4=1; r5=1; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=0; s5=0; s6=1; s7=1; s8=1;
  wait(w);
  v8=1; r1=0; r2=0; r3=0; r4=0; r5=0; r6=0; r7=0; r8=0;   s1=1; s2=1; s3=1; s4=1; s5=1; s6=1; s7=1; s8=1;
  wait(w);
  
  //10
  v1=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v2=1; r1=1; r2=0; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v3=1; r1=1; r2=1; r3=0; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v4=1; r1=1; r2=1; r3=1; r4=0; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=1; r2=1; r3=1; r4=1; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v6=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=0; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v7=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v8=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  
  //11
  v1=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v2=1; r1=1; r2=0; r3=1; r4=1; r5=1; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v3=1; r1=1; r2=1; r3=0; r4=1; r5=1; r6=0; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v4=1; r1=1; r2=1; r3=1; r4=0; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=1; r2=1; r3=1; r4=0; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v6=1; r1=1; r2=1; r3=0; r4=1; r5=1; r6=0; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v7=1; r1=1; r2=0; r3=1; r4=1; r5=1; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v8=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  
  //12
  v1=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=0;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v2=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=1; r7=0; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v3=1; r1=1; r2=1; r3=1; r4=1; r5=1; r6=0; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v4=1; r1=1; r2=1; r3=1; r4=1; r5=0; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v5=1; r1=1; r2=1; r3=1; r4=0; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v6=1; r1=1; r2=1; r3=0; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v7=1; r1=1; r2=0; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  v8=1; r1=0; r2=1; r3=1; r4=1; r5=1; r6=1; r7=1; r8=1;   s1=0; s2=0; s3=0; s4=0; s5=0; s6=0; s7=0; s8=0;
  wait(w);
  }
}

Video funkčnosti


Závěr

Zadání projektu bylo splněno v plném rozsahu. Povedlo se zprovoznit LED krychli 8x8x8, propojit s deskou KL25Z a portovat na ni jednotlivé příklady vizualizace. Po zapojení desky do USB se spustí průběh příkladů vizualizací.

2014/led-cube.txt · Poslední úprava: 2015/01/19 00:53 autor: Martin Smutný