Changer le code d'accès
| Objectifs |
|
| Application utilisée |
Tinkercad Isis de la suite Proteus |
Modifier le programme précédent pour que l'administrateur puisse changer le code d'accès. Pour cela il faut déclarer une nouvelle variable codeAdmin de type char* et initialisée avec la valeur "1492".
On suivra l'algorithme suivant :

Simuler le programme avec Tinkercad. Qu'observe t-on ?
Indice : la variable code (code secret) est réinitialisée au début du loop() effaçant ainsi sa précédente valeur.
Couper coller la ligne suivante située dans le loop() :
char code[] = "ACDC";
au dessus du setup().
Remarque : code est maintenant une variable globale, elle peut être modifiée dans le setup() et le loop().
Simuler à nouveau le programme avec Tinkercad. Est-ce que le changement de code par l'administrateur est effectif cette fois ?
Stopper la simulation puis simuler à nouveau votre programme (dans la réalité cela correspond à une coupure d'alimentation du digicode), vérifier si le nouveau code d'accès est toujours actif.
Il faut donc mémoriser le nouveau code d'accès dans un type de mémoire différent de la RAM jusqu'alors utilisée ; une mémoire qui soit non volatile.
À l'aide du site Les mémoires de la carte Arduino, identifier le type de mémoire qu'il faut utiliser pour stocker le code d'accès.
À l'aide du site La librairie EEPROM, modifier le programme précédent pour stocker le code d'accès en EEPROM.
Simuler le programme avec Tinkercad. Malheureusement vous ne pourrez pas simuler la non volatilité de la EEPROM (en stoppant la simulation puis en la redémarrant), Isis par contre permet de le faire.
Télécharger le fichier Isis suivant : digicode_isis.zip. Dézipper l'archive dans vos documents et exécuter le fichier Isis.
Simuler le schéma et observer le code d'accès dans la fenêtre EEPROM.
Stopper la simulation (ce qui simule une coupure de courant).
Relancer la simulation et vérifier que le code d'accès ne s'est pas volatilisé lors de la coupure de courant.
Appeler le professeur pour présenter vos résultats.