Étape 17 : Utilisation de SPI
Il s’agit une bibliothèque standard de SPI avec le logiciel Arduino.
Pour utiliser cette bibliothèque dans une esquisse de l’Arduino, il suffit d’ajouter la ligne suivante au début de votre code source :
#include SPI.h
Comme nous l’avons vu dans le code d’exemple Arduino Blink (Blink.ino), une esquisse de l’Arduino a pour fonction :
La fonction d’installation sera exécuté une fois, chaque fois que lorsque votre programme sur l’Arduino est redémarré à nouveau, ce qui arrive après avoir connecté au pouvoir et après avoir téléchargé une nouvelle esquisse et après remise à zéro.
La fonction loop() sera exécuté à plusieurs reprises jusqu’en déconnectant le pouvoir, le téléchargement ou la remise à zéro.
Pour utiliser initialiser la bibliothèque SPI, mettre la ligne roulante dans votre fonction de réglage, ce qui pourrait alors ressembler à ceci :
void setup()
{
SPI.begin() ;
}
Pour envoyer des données vers les voyants via SPI, vous devez avoir vos données dans un tableau d’octets.
Et puis, vous pouvez utiliser une fonction dont j’ai été utilisé avec succès sur le Galileo Intel et l’Edison Intel, mais il n’est pas documentée sur le site officiel de l’Arduino.
SPI.transferBuffer (taille octets, NULL) ;
Où la « taille » est le nombre d’octets à transférer. Pour 50 LEDs avec 3 octets pour 24 Bit RGB couleur par LED, il s’agirait 150 octets.
Vous y trouverez le mon code d’origine, dont j’ai l’habitude d’utiliser l’interface SPI de l’Edison pour la première fois, en mon dépôt GitHub. J’ai fait ce code à l’origine pour l’Arduino Nano, l’Arduino Uno et l’Arduino Pro Micro. Ensuite, j’ai modifié son fonctionnement avec le Galileo d’Intel plus rapides. Et le même code fonctionne maintenant sans modification sur le Intel Edison.