Étape 6: Logiciel - configurer les choses
La classe principale de notre intérêt sera l’affichage - il est responsable de la mise en place de jetons MAX et fournit des API pour la peinture.
Avant que nous commencions la peinture, il est nécessaire de configurer la chose. Code ci-dessous crée le tableau 2D contenant des lignes sélectionnez esclave et affichage. L’écran lui-même se composent de 3 lignes, chacune possède 8 Modules LED. Évidemment, vous pouvez choisir n’importe quelle taille responsable, mais je m’en tiendrai à celui-ci.
La mise en page de tableau 2D mentionné correspond à l’affichage physique : chaque Module de LED a consacré la puce MAX, et chaque puce a consacré ligne sélectionner esclave. Première dimension de notre tableau indique une ligne physique sur écran, deuxième dimension indique LED Module au sein de cette ligne et la valeur elle-même contient le numéro de broche pour esclave sélectionner ligne.
#include "Display.h" Display *disp; /** * Orientation of LED Kits (8x8 LED matrix) on display that I've used for testing. * The numbers are indicating Select Slave line of MAX7219. * 48, 46, 49, 47, 45, 43, 41, 39 * 36, 34, 32, 30, 28, 26, 24, 22 * 37, 35, 33, 31, 29, 27, 25, 23 */ ss_t **ss; ss_t** createSS() { ss_t **ss = alloc2DArray8(3, 8); // first row ss[0][0] = 48; ss[0][1] = 46; ss[0][2] = 49; ss[0][3] = 47; ss[0][4] = 45; ss[0][5] = 43; ss[0][6] = 41; ss[0][7] = 39; // second row ss[1][0] = 36; ss[1][1] = 34; ss[1][2] = 32; ss[1][3] = 30; ss[1][4] = 28; ss[1][5] = 26; ss[1][6] = 24; ss[1][7] = 22; // third row ss[2][0] = 37; ss[2][1] = 35; ss[2][2] = 33; ss[2][3] = 31; ss[2][4] = 29; ss[2][5] = 27; ss[2][6] = 25; ss[2][7] = 23; return ss; } void setup() { util_setup(); log_setup(); ss = createSS(); // Test display consist of 8x3 LED Modules (3 rows, each one 8 Modules) disp = new Display(8, 3, ss); disp->setup(); }
Il existe une méthode plus utile de mentionner : log_setup(). Toute
projet a calme enregistreur précis - afin que vous puissiez voir ce qui se passe réellement. Par défaut, il est désactivé, pour lui permettre de vérifier sa documentation : https://github.com/maciejmiklas/ArdLog