SPI:stä: Lue: https://www.arduino.cc/en/reference/SPI
Yleisesti laitteilla kannattaa hyödyntää mahdollisesti laitteen omaa kirjastoa tai katsoa laitteen käyttöesimerkeistä käyttötapa.
Ylläolevan tyyppisiä LED-matriiseja, joita ohjaa esim MAX7219 -piiri (tai MAX7221 standardimmalla SPI tuella) voi ohjata esim. tämän esimerkin mukaan:
Ylläolevan kuvan esimerkki muodostuu neljästä sarjaan kytketystä MAX7219-moduulista, jotka jokainen ohjaavat yhtä 8x8 ledimatriisia. Yksittäisten mooduulien ohjaamiseen löytyy useampiakin kirjastoja ja verkosta paljon vaihtoehtoisia tapoja, ja nekin voi kaikki laajentaa toimimaan useammalla moduulilla samanaikaisesti.
Moni tuota ohjaavista kirjastoista ja esimerkeistä on jo hieman vanhempia ja sekavampia, joten käytä aikaa linkin esimerkkiin tutustumiseen.
Siinä vaiheessa, kun saat kääntäjältä virheen:
"error: 'prog_uchar' does not name a type "
etkä voi ladata koodiasi Arduinolle, vaihda koodista jokainen kohta, jossa lukee: prog_uchar
Muotoon: const unsigned char
(Kannattaa käyttää etsi- ja korvaa -toimintoja).
Arduinon versiossa 1.5.7 tuo tietotyyppi muutettiin eikä uudemmat versiot tunne "prog_uchar"-tyyppiä.
Esimerkiksi rivi:
prog_uchar text[] PROGMEN = { "Hello World" };
Muuttuisi muotoon:
const unsigned char text[] PROGMEM = { "Hello World" };
Joudut todennäköisesti asentamaan LedControl -kirjaston, mutta sen saa asennettua helposti Arduinon "Manage libraries" valikosta.
Voit tutustua myös tähän esimerkkiin, jossa hyödynnetään yhtä 8x8 led moodulia MAX7219:n avulla:
Hyvä projektityö olisi myös toteuttaa sarjaan ketjutettujen MAX7219:ien hallintaan uusi kirjasto, joka tukisi myös ääkkösiä ja muita laajennettuja ASCII-merkkejä ja olisi helppokäyttöisempi.