コンテンツにスキップ

SPI-LEDの制御

SPI-LEDの説明

FaBo JetRacer #612では、フルカラーLEDのAPA102とSPIで接続可能です。

レインボーのサンプル

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#include "SPI.h"

void startBit() {
  byte start = 0x00;
  SPI.transfer(start);
  SPI.transfer(start);
  SPI.transfer(start);
  SPI.transfer(start);
}

void endBit() {
  byte end = 0x11;
  SPI.transfer(end);
  SPI.transfer(end);
  SPI.transfer(end);
  SPI.transfer(end);
}

void setRGB(short r, short g, short b) {
  SPI.transfer(0xEF);
  SPI.transfer(r);
  SPI.transfer(g);
  SPI.transfer(b);
}

void setup() {
  SPI.begin();
}

void loop() {
  for(int i = 0; i < 255; i++) {
    startBit();
    setRGB(255,   i,   0);
    setRGB(255,   i, 255);
    setRGB(255, 255,   i);
    setRGB(255,   0,   i); 
    setRGB(i,   255,   0);
    setRGB(i,   255,   255);
    endBit();
    delay(100);
  }
}