Matrix/InfraRouge
#include <Adafruit_GFX.h> #include <Adafruit_NeoMatrix.h> #include <Adafruit_NeoPixel.h> #include <Wire.h> #include <SparkFun_GridEYE_Arduino_Library.h>
// Définition de la matrice NeoPixel 8x8 #define PIN 3 // Broche utilisée pour les LEDs #define MATRIX_SIZE 8 // Taille de la matrice 8x8
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix(MATRIX_SIZE, MATRIX_SIZE, PIN, NEO_MATRIX_TOP + NEO_MATRIX_LEFT + NEO_MATRIX_ROWS + NEO_MATRIX_PROGRESSIVE, NEO_GRB + NEO_KHZ800);
// Configuration du capteur Grid-EYE GridEYE grideye;
// Définition des températures pour activer les LEDs #define TEMP_THRESHOLD 26.5 // Température à partir de laquelle une LED s'allume en rouge
void setup() { Serial.begin(115200);
// Initialisation de la matrice LED matrix.begin(); matrix.setBrightness(50); matrix.fillScreen(0); matrix.show();
// Initialisation du capteur Grid-EYE Wire.begin(); grideye.begin();
Serial.println("Système prêt !"); }
void loop() { matrix.fillScreen(0); // Toutes les LEDs éteintes par défaut
// Lecture des températures des 64 pixels du Grid-EYE for (int i = 0; i < 64; i++) { float temperature = grideye.getPixelTemperature(i);
// Convertir l'index en coordonnées X, Y sur la matrice 8x8
int x = i % MATRIX_SIZE; // Colonne (0 à 7)
int y = i / MATRIX_SIZE; // Ligne (0 à 7)
// Si la température dépasse le seuil, la LED devient rouge
if (temperature >= TEMP_THRESHOLD) {
matrix.drawPixel(x, y, matrix.Color(255,255, 255)); // Rouge
}
}
matrix.show(); // Mettre à jour l'affichage
delay(0); // Petite pause avant la prochaine mise à jour }