Bonjour, oui ce n'est pas le problème, comme je l'avais expliqué dans mon ancien poste, il s'agît d'un projet de terminale, même si à la fin ça ne fonctionne pas, le but c'est d'expliquer pourquoi ça ne fonctionne pas et de montrer ce qu'on a réussi à chercher et à faire ![]()
Aujourd'hui j'ai réussi à allumer une led au passage d'une source chaude au dessus du capteur, le dossier final est à rendre pour demain donc ça suffira amplement !
Voici le code, juste une simple modification du précédent...
#include <Wire.h>
#include <Adafruit_AMG88xx.h>
Adafruit_AMG88xx amg;
float pixels[AMG88xx_PIXEL_ARRAY_SIZE];
void setup() {
Serial.begin(9600);
Serial.println(F("AMG88xx pixels"));
bool status;
// réglage par défault
status = amg.begin();
if (!status) {
Serial.println("Could not find a valid AMG88xx sensor, check wiring!");
while (1);
}
Serial.println("-- Pixels Test --");
Serial.println();
delay(100); // démarrage de la caméra
}
void loop() {
// boucle infini : lecture simple des pixels
amg.readPixels(pixels);
Serial.print("[");
for(int i=1; i<=AMG88xx_PIXEL_ARRAY_SIZE; i++){
Serial.print(pixels[i-1]);
Serial.print(", ");
if( i%8 == 0 ) Serial.println();
//définition de SHOWTEMP qui va permettre de tenir compte des données de température affichées
#define SHOW_TEMP_TEXT
//Valeur maximale pour notre cas
#define TEMP 35
int colorTemp;
if(pixels[i] <= TEMP) colorTemp = pixels[i]; //si la température des pixels est inférieure à MAXTEMP (35°C), on continue à lire simplement
else
{
const int L1 = 2;
pinMode(L1, OUTPUT);
digitalWrite(L1, HIGH); //allumer L1
delay (100);
digitalWrite(L1, LOW); //éteindre L1
delay(100);
}
}
Serial.println("]");
Serial.println();
// délai
delay(10);
}
// fin de boucle, on recommence