Téléverser les fichiers vers "/"

This commit is contained in:
2025-12-06 12:29:14 +01:00
parent aa53c0285f
commit db2b05ef40

152
test_neopixel.ino Normal file
View File

@@ -0,0 +1,152 @@
#include <Adafruit_NeoPixel.h>
#include <SPI.h> // SPI
#include <MFRC522.h> // RFID
#define SS_PIN 10
#define RST_PIN 9
// Déclaration
MFRC522 rfid(SS_PIN, RST_PIN);
// Tableau contentent l'ID
byte nuidPICC[4];
byte Code_Acces[4]={0xB9, 0x9B, 0x13, 0xBA};
byte CodeVerif=0;
#define BUTTON_PIN 2
#define PIXEL_PIN 6 // Digital IO pin connected to the NeoPixels.
#define PIXEL_COUNT 16 // Number of NeoPixels
// Declare our NeoPixel strip object:
Adafruit_NeoPixel strip(PIXEL_COUNT, PIXEL_PIN, NEO_GRB + NEO_KHZ800);
void setup() {
pinMode(BUTTON_PIN, INPUT_PULLUP);
strip.begin(); // Initialize NeoPixel strip object (REQUIRED)
strip.show(); // Initialize all pixels to 'off'
// Init RS232
Serial.begin(9600);
// Init SPI bus
SPI.begin();
// Init MFRC522
rfid.PCD_Init();
}
void loop() {
strip.setBrightness(20);
//Allume_En_Decalage(strip.Color(0,0,255),100);
// Initialisé la boucle si aucun badge n'est présent
if ( !rfid.PICC_IsNewCardPresent()){
Allume_Tout(strip.Color( 255,0,0));
delay(1000);
return;
}
// Vérifier la présence d'un nouveau badge
if ( !rfid.PICC_ReadCardSerial()){
Allume_Tout(strip.Color( 0,255,0));
delay(1000);
return;
}
Allume_En_Decalage(strip.Color(0,0,255),100);
// Enregistrer l'ID du badge (4 octets)
for (byte i = 0; i < 4; i++)
{
nuidPICC[i] = rfid.uid.uidByte[i];
}
CodeVerif = GetAccesState(Code_Acces,nuidPICC);
if (CodeVerif==1)
{
Allume_Tout(strip.Color( 0,255,0));
delay(10000);
}
// Affichage de l'ID
Serial.println("Un badge est détecté");
Serial.println(" L'UID du tag est:");
for (byte i = 0; i < 4; i++)
{
Serial.print(nuidPICC[i], HEX);
Serial.print(" ");
}
Serial.println();
// Re-Init RFID
rfid.PICC_HaltA(); // Halt PICC
rfid.PCD_StopCrypto1(); // Stop encryption on PCD
// Récupère la valeur du bouton
//boolean newState = digitalRead(BUTTON_PIN);
//colorWipe(strip.Color(255, 0, 0), 200); // Red
//rainbow(50);
/*
Allume_multi_couleur();
delay(1000);
Allume_Tout(strip.Color( 70,255,0));
delay(1000);
Allume_En_Decalage(strip.Color(0,0,0),50);
delay(1000);
*/
}
void Allume_En_Decalage(uint32_t color, int wait) {
for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
strip.setPixelColor(i, color); // Set pixel's color (in RAM)
strip.show(); // Update strip to match
delay(wait); // Pause for a moment
}
}
void Allume_Tout(uint32_t color){
for(int t=0; t<strip.numPixels(); t++) {
strip.setPixelColor(t, color);
}
strip.show();
}
void Allume_multi_couleur() {
for(int i=0; i<strip.numPixels(); i++) { // For each pixel in strip...
int pixelHue = (i * 65536L / strip.numPixels());
strip.setPixelColor(i, strip.gamma32(strip.ColorHSV(pixelHue)));
}
strip.show(); // Update strip with new contents
}
byte GetAccesState(byte *CodeAcces,byte *NewCode)
{
byte StateAcces=0;
if ((CodeAcces[0]==NewCode[0])&&(CodeAcces[1]==NewCode[1])&&
(CodeAcces[2]==NewCode[2])&& (CodeAcces[3]==NewCode[3]))
return StateAcces=1;
else
return StateAcces=0;
}