J'ai un petit problème, si quelqu'un pourait m'aider. Je compile ce programe :
#include <Keypad.h>
#include <Password.h>
#include <Wire.h>
#include "RTClib.h"
#include <Deuligne.h>
#include <SD.h>
#include <GSM.h>
RTC_Millis RTC;
GSM gsmAccess;
GSM_SMS sms;
DateTime now = RTC.now();
Deuligne lcd;
Password password = Password( "1234" );
File myFile;
const int chipSelect = 53;
int LEDVerte = 22;
int LEDRouge = 24;
int NBIntrusions = 0;
int STOPINTRU = 0;
int Button = 2;
int ButtonState = 0;
const byte ROWS = 4;
const byte COLS = 3;
char keys[ROWS][COLS] = {
{'1','2','3'},
{'4','5','6'},
{'7','8','9'},
{'*','0','#'}
};
byte rowPins[ROWS] = {28,30,32,34};
byte colPins[COLS] = {36,38,40};
Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
void setup () {
RTC.begin(DateTime(__DATE__, __TIME__));
lcd.init();
pinMode (LEDVerte,OUTPUT);
pinMode (LEDRouge,OUTPUT);
pinMode(Button, INPUT);
ButtonState = digitalRead(Button);
lcd.print("Initializing SD card...");
delay(2450);
lcd.clear();
if (!SD.begin(chipSelect)) {
lcd.print("Card failed, or not present");
return;
}
lcd.print("Card initialized.");
delay(2450);
lcd.clear();
myFile = SD.open("journal.txt", FILE_WRITE);
keypad.addEventListener(keypadEvent);
}
void loop () {
keypad.getKey();}
void time(){
lcd.backLight(false);
lcd.setCursor(0,0);
lcd.print(now.day(), DEC);
lcd.print('/');
lcd.print(now.month(), DEC);
lcd.print('/');
lcd.print(now.year(), DEC);
lcd.setCursor(0,1);
lcd.print(now.hour(), DEC);
lcd.print(':');
lcd.print(now.minute(), DEC);
lcd.print(':');
lcd.print(now.second(), DEC);}
void keypadEvent(KeypadEvent eKey){
switch (keypad.getState()){
case PRESSED:
switch (eKey){
case '*': checkPassword(); break;
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" Vérification mot de passe ...");
case '#': password.reset(); break;
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" Annulation de la saisie en cours");
default: password.append(eKey);}}}
void checkPassword(){
if (password.evaluate()){
STOPINTRU = 0;
lcd.clear();
lcd.backLight(true);
lcd.print("Mot de Passe :");
lcd.setCursor(0,1);
lcd.print("OK");
digitalWrite (LEDVerte,HIGH);
delay (2450);
lcd.clear();
lcd.print("Intrusions :");
lcd.setCursor(0,1);
lcd.print(NBIntrusions);
delay (2450);
lcd.clear();
lcd.backLight(false);
digitalWrite (LEDVerte,LOW);
password.reset();
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" Mot de Passe juste entré");
if (ButtonState == HIGH) {
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" La porte ne s'ouvre pas");
}else{
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" La porte est ouverte");}
}else{
STOPINTRU = STOPINTRU + 1;
NBIntrusions = NBIntrusions + 1;
lcd.clear();
lcd.backLight(true);
lcd.print("Mot de Passe :");
lcd.setCursor(0, 1);
lcd.print("Faux");
digitalWrite (LEDRouge,HIGH);
delay (350);
digitalWrite (LEDRouge,LOW);
delay (350);
digitalWrite (LEDRouge,HIGH);
delay (350);
digitalWrite (LEDRouge,LOW);
delay (350);
digitalWrite (LEDRouge,HIGH);
delay (350);
digitalWrite (LEDRouge,LOW);
delay (350);
digitalWrite (LEDRouge,HIGH);
delay (350);
digitalWrite (LEDRouge,LOW);
lcd.clear();
lcd.print("NB Intrusions :");
lcd.setCursor(0,1);
lcd.print(NBIntrusions);
password.reset();
delay (2450);
lcd.clear();
lcd.backLight(false);
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" Mot de Passe faux entré");
if (ButtonState == LOW){
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" La porte s'ouvre qu'en même !");
}
if (STOPINTRU==3){
lcd.clear();
lcd.backLight(true);
digitalWrite(LEDRouge,HIGH);
lcd.print("NB d'Intrusions");
lcd.setCursor(0,1);
lcd.print("Depasse");
delay (2450);
lcd.clear();
lcd.print("Attendre 2 min");
delay (117550);
lcd.clear();
STOPINTRU = 0;
lcd.print("Entrer le Code");
delay (2450);
lcd.backLight(false);
lcd.clear();
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" 3 tentatives dépasées, attendre 2 minutes");}
}
}
void cheek(){
if (ButtonState == LOW){
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" La porte s'ouvre sans qu'aucun mot de passe ait été tapé !");
if (ButtonState == HIGH){
myFile.print (now.day(), DEC);
myFile.print ('/');
myFile.print (now.month(), DEC);
myFile.print ('/');
myFile.print (now.year(), DEC);
myFile.print (" à ");
myFile.print (now.hour(), DEC);
myFile.print (':');
myFile.print (now.minute(), DEC);
myFile.print (':');
myFile.print (now.second(), DEC);
myFile.print (" La porte c'est refermée");}
}
}
et voilà les méssages d'erreur :