Bonjour j’ai un code avec un seule tag mais j’ai essayer d’en rajouter un Sans succès je viens ici demander le l’aide pour en rajouter 1 le code contient un servo et un rfid
#include <SPI.h>
#include <MFRC522.h>
#include <Servo.h>
#define SS_PIN 10
#define RST_PIN 9
#define SERVO_PIN A5
MFRC522 rfid(SS_PIN, RST_PIN);
Servo servo;
byte authorizedUID[4] = {0xFF, 0xFF, 0xFF, 0xFF};
int angle = 0; // the current angle of servo motor
void setup() {
Serial.begin(9600);
SPI.begin(); // init SPI bus
rfid.PCD_Init(); // init MFRC522
servo.attach(SERVO_PIN);
servo.write(angle); // rotate servo motor to 0°
Serial.println("Tap RFID/NFC Tag on reader");
}
void loop() {
if (rfid.PICC_IsNewCardPresent()) { // new tag is available
if (rfid.PICC_ReadCardSerial()) { // NUID has been readed
MFRC522::PICC_Type piccType = rfid.PICC_GetType(rfid.uid.sak);
if (rfid.uid.uidByte[0] == authorizedUID[0] &&
rfid.uid.uidByte[1] == authorizedUID[1] &&
rfid.uid.uidByte[2] == authorizedUID[2] &&
rfid.uid.uidByte[3] == authorizedUID[3] ) {
Serial.println("Authorized Tag");
// change angle of servo motor
if (angle == 0)
angle = 90;
else //if(angle == 90)
angle = 0;
// control servo motor arccoding to the angle
servo.write(angle);
Serial.print("Rotate Servo Motor to ");
Serial.print(angle);
Serial.println("°");
} else {
Serial.print("Unauthorized Tag with UID:");
for (int i = 0; i < rfid.uid.size; i++) {
Serial.print(rfid.uid.uidByte[i] < 0x10 ? " 0" : " ");
Serial.print(rfid.uid.uidByte[i], HEX);
}
Serial.println();
}
rfid.PICC_HaltA(); // halt PICC
rfid.PCD_StopCrypto1(); // stop encryption on PCD
}
}
}
Vous dites avoir essayé de le faire, postez votre essai. Vous devriez pouvoir y arriver ce n’est pas difficile - ce serait dommage qu’on vous donne la solution toute mâchée
Il s’agit juste de définir un second tableau et dupliquer le test pour dire si c’est le premier badge OU (opérateur ||) le second alors faire xxxx
Avez vous compris ou se fait la
Comparaison avec le premier badge ?
Slt je comprend à motier se que tu veux dire mais dans tous les cas j’ai plus de temps pour faire le projet je dois le rendre compte pour lundi je vais faire un essayer quand je serais sur mon pc
Rassurez moi, vous ne pensiez quand même pas qu'on allait vous aider à tricher et faire vos devoirs pour vous?
Montrez que vous avez bossé et compris le code que vous avez posté, essayez de le modifier et postez votre code... Je suppose qu'on ne vous a pas donné ce boulot Vendredi soir pour Lundi matin...
il vous reste plus de 20 heures... ça devrait suffire
Bonjour mr notre un notre professeur nous a jamais appris a utiliser une carte arduino moi je fais de l'Arduino car je trouve ca pratique je n'ai jamais a appris a codé , mon projet est déjà bien comme ca je voulais juste l'améliorer , vous dite tricher sans savoir ce que je fais a l'école svp même un ado c'est qui faut pas juger sans savoir .
c'est un site pour demander de l'aide normalement alors pourquoi je ne pourrais avoir de l'aide .
mr vous avez pas des truc a la place de juger sans raison bonne soirée.
Le [2] peut être n'importe quelle valeur suivant le nombre de tag que tu veux gérer
Ensuite remplacer le test actuel if (rfid.uid.uidByte[0] == authorizedUID[0] &&
par if (rfid.uid.uidByte[0] == authorizedUID[i][0] &&
en faisant changer i on peut balayer les différents tags enregistrés