Bonjour à tous,
Dans mon programme j'ai actuelement une matrice 32x8, mais je souhaite en ajouter 2 supplémentaires sur des PIN différentes.
Merci de votre retour,
include <Adafruit_GFX.h>
#include <Adafruit_NeoMatrix.h>
#include <Adafruit_NeoPixel.h>
#include <HardwareSerial.h>
#define PIN 11
String msg;
// Déclaration des variables :
int etat11 = 0; // variable qui sera utilisée pour stocker l'état du bouton 1
int etat12 = 0; // variable qui sera utilisée pour stocker l'état du bouton 2
int etat13 = 0; // variable qui sera utilisée pour stocker l'état du bouton 3
int message = 0; // variable qui sera utilisée pour le raspberry
Adafruit_NeoMatrix matrix = Adafruit_NeoMatrix( 32, 8
, PIN,
NEO_MATRIX_TOP + NEO_MATRIX_RIGHT+
NEO_MATRIX_COLUMNS + NEO_MATRIX_ZIGZAG, // Collumns_ROWS
NEO_GRB + NEO_KHZ800);
const uint16_t colors[] = {
matrix.Color(255, 0, 0), matrix.Color(0, 255, 0), matrix.Color(255, 255, 0),matrix.Color(0, 0, 255), matrix.Color(255, 0, 255), matrix.Color(0, 255, 255), matrix.Color(255, 255, 255)};
void setup() {
Serial.begin(9600);
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(050);
matrix.setTextColor(colors[0]);
}
int x = matrix.width();
int pass = 0;
void loop() {
Serial.println();
message = Serial.read() - '0';
const unsigned long dureeAnimation=2200;
static unsigned long debutOK=millis()+dureeAnimation;
if (message == 1 || millis()-debutOK<dureeAnimation) {
if (message == 1) debutOK=millis(); // mémorise le temps de début
const uint16_t colors[] = {
matrix.Color(0, 0, 255)};
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(25);
matrix.setTextColor(colors[0]);
matrix.fillScreen(0);
matrix.setCursor(x, 0);
matrix.print(F("OK <<<<")); //Defilement
if (--x < -07 //temps entre chaque défilement
) {
x = matrix.width();
matrix.setTextColor(colors[pass]);
}
matrix.show();
delay(34); //vitesse du défilement
Serial.print("etat11");
}
//X X X X X//
else if (message == 2) {
const uint16_t colors[] = {
matrix.Color(255, 0, 0) };
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(25);
matrix.setTextColor(colors[0]);
matrix.fillScreen(0);
matrix.setCursor(1, 0);
matrix.print(F("X X X X X")); // ARRET
if(--x < -30) {
x = matrix.width();
matrix.setTextColor(colors[pass]);
}
matrix.show();
delay(1200);
//TEST//
}
else if (message == 3) {
const uint16_t colors[] = {
matrix.Color(255, 0, 0) };
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(25);
matrix.setTextColor(colors[0]);
matrix.fillScreen(0);
matrix.setCursor(1, 0);
matrix.print(F("BONJOUR"));
if(--x < -30) {
x = matrix.width();
matrix.setTextColor(colors[pass]);
}
matrix.show();
delay(1200);
//TEST//
}
else {
// <<<<< Fixe
const uint16_t colors[] = {
matrix.Color(0, 255, 0)};
matrix.begin();
matrix.setTextWrap(false);
matrix.setBrightness(25);
matrix.setTextColor(colors[0]);
matrix.fillScreen(0);
matrix.setCursor(0, 0);
matrix.print(F("<<<<<")); // Fixe
if (--x < -30
) {
x = matrix.width();
matrix.setTextColor(colors[pass]);
}
matrix.show();
delay(0);
}
}
void readSerialPort() {
msg = "";
if (Serial.available()) {
delay(10);
while (Serial.available() > 0) {
msg += (char)Serial.read();
}
Serial.flush();
}
}