HELP ME for my Portal !

Hi ,
My program does not work well and I need this project to work to have my Baccalauréat, can you help me on programming this Automated Portal?
If you have any question , my email is here : loic.dubromelle.p@gmail.com

Thank’s a lot

Bests regards

Loïc

/* Libraries */
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_PN532.h>
#include <RTClib.h>

/* Capteurs de porte */
#define pinFdcFermeture 7 // Broche capteur fin de course fermeture
#define readFdcFermeture digitalRead(pinFdcFermeture)

#define pinFdcOuverture 10 // Broche capteur fin de course ouverture
#define readFdcOuverture digitalRead(pinFdcOuverture)

/* Moteur de porte */
#define pinCmdMotor 5 // Broche démarrage moteur
#define pinMotorSpeed 2 // Broche consigne vitesse moteur
#define pinSensMotor 12 // Broche sens de rotation moteur
#define pinIntensiteMoteur A0 // Broche mesure intensité moteur
#define meaCurrentSensing analogRead (pinIntensiteMoteur)

/* RFID */
#define IRQ 0 // Entrée ou j’ai fait le pont
#define RESET 3 // De base c’est 3 je crois
Adafruit_PN532 nfc(IRQ, RESET); // On démarre la connexion au RFID/NFC

bool success = 0 ;
uint8_t scanRFID;
uint8_t uid = { 0, 0, 0, 0, 0, 0, 0 }; // Buffer to store the returned UID
uint8_t uidLength; // Length of the UID (4 or 7 bytes depending on ISO14443A card type)
uint32_t cardidentifier = 0 ;

/* RTC */
RTC_DS1307 RTC; // Démarrage connexion au RTC
int hourRTC_StartTime = 8 ; // Heure début du libre accès
int hourRTC_EndTime = 17 ; // Heure fin du libre accès

/* Capteur de luminosité */
#define pinLightCaptor A5
#define meaLightCaptor analogRead (pinLightCaptor)
int luminositeAmbiante ;

/* Capteur barrière immatérielle */
#define pinBarriere A3
#define meaBarriere analogRead (pinBarriere)
int stateBarriere ;

/* fonction ouverture du portail /
void OuverturePortail()
{
/
Ouverture du portail */
digitalWrite (pinCmdMotor, HIGH) ;
digitalWrite(pinSensMotor, LOW) ;
analogWrite(pinMotorSpeed, 180) ;

/* Detection fin d’ouverture */
while (!readFdcOuverture)
{
delay (20) ;
}

/* Arrêt du moteur */
digitalWrite (pinCmdMotor, HIGH) ;

/* attente avant fermeture */
delay (3000) ;
}

/* fonction fermeture du portail /
void FermeturePortail ()
{
/
Fermeture du portail */
digitalWrite (pinCmdMotor, HIGH) ;
digitalWrite(pinSensMotor, HIGH) ;
analogWrite(pinMotorSpeed, 180) ;

/* Detection fin de fermeture */
while (!readFdcFermeture)
{
delay (20) ;
if (meaCurrentSensing > 200) // Protection contre l’éclatage de poulet
{
OuverturePortail() ;
}
}

/* Arrêt du moteur */
digitalWrite (pinCmdMotor, HIGH) ;
}

void setup()
{
/* Initialisation de la communication série */
while (!Serial) ; // On attends l’ouverture du moniteur en série
Serial.begin(9600) ; // Demarrage de la liaison
Wire.begin() ; // Demarrage de la Librairie Wire
RTC.begin() ; // Demarrage de la librairie RTClib
nfc.begin() ; // Demarrage de la liaison NFC

/* Initialisation des broches */
pinMode (pinMotorSpeed, OUTPUT) ;
pinMode (pinSensMotor, OUTPUT) ;
pinMode (pinCmdMotor, OUTPUT) ;
pinMode (pinFdcFermeture, INPUT) ;
pinMode (pinFdcOuverture, INPUT) ;

/* Vérification du bon fonctionnement du NFC */
uint32_t versiondata = nfc.getFirmwareVersion() ;
if (! versiondata) { // Si pas OK
Serial.print(“You are a piece of shit, dumbass motherfucker”) ;
while (1) ;
}
Serial.print(“Puce OK”) ; // Si OK
nfc.SAMConfig() ;

/* Fermeture par défaut du portail */
FermeturePortail() ;
}

void loop()
{
/* RTC update*/
DateTime now = RTC.now() ;

/* Capteurs update */
luminositeAmbiante = meaLightCaptor ; // Mesure luminosité ambiante
stateBarriere = meaBarriere ; // Mesure de la barrière ???

/* Scan badge NFC /
Serial.println(“En attente d’une carte”) ;
/
Wait for an ISO14443A type cards (Mifare, etc.). When one is found
‘uid’ will be populated with the UID, and uidLength will indicate
if the uid is 4 bytes (Mifare Classic) or 7 bytes (Mifare Ultralight)*/

scanRFID = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A, uid, &uidLength) ;

/* Controle présence badge */
if (scanRFID != 0) // Si une carte est présente
{
success = 1;
cardidentifier = uid[3] ;
cardidentifier <<= 8 ;
cardidentifier |= uid[2] ;
cardidentifier <<= 8 ;
cardidentifier |= uid[1] ;
cardidentifier <<= 8 ;
cardidentifier |= uid[0] ;
Serial.print(“Carte presente …”) ; // Affichage moniteur des informations de la carte
Serial.println(cardidentifier) ;
}

/* Controle plage horaire valide /
if ((now.hour() >= hourRTC_StartTime) && (now.hour() <= hourRTC_EndTime))
{
/
Controle présence d’un badge pour entrer ou d’une présence pour sortir */
if (((luminositeAmbiante > 800) && success) || (stateBarriere > 1000))
{
OuverturePortail() ;
FermeturePortail() ;
success = 0 ;
scanRFID = 0 ;
cardidentifier = 0 ;
}
}
}

Hi,
There is a French section in this forum that may be of help.

Tom... :slight_smile:

Bonjour et bienvenue sur le forum francophone !!

Je te recommande de bien prendre connaissance des infos suivantes :

http://forum.arduino.cc/index.php?topic=324322.0 ......carte utilisée , alimentation...... programmes inséré entre balises 'code' , infos spécifiques aux demandes relatives à des projets scolaires.

Au vu du code présenté et du schéma en filigrane il parait indispensable de bien détailler les dysfonctionnements constatés. Un schéma comportant la carte, les divers capteurs et actionneurs, l'alimentation est souhaitable (si possible pas un plan de câblage Fritzing )

My program does not work well

C'est vague !