Vous êtes sur la page 1sur 45

Ecole Polytechnique dAgadir

Thme du projet : Serrure Code

Ralis par :
o
o
o
o
o

Bazmane Abderrahim
Belarroud Aziz
Bouaafia Anass
Boulbayam Ahlam
Lhaddad Chorouk

Encadr par :
o M. Rachdy Azzedine et M. Gourgue Hicham

Projet Intgrateur I

Table des matires

TABLE DES MATIERES


CAHIER DES CHARGES .................................................................................................................. 6
Objectif ............................................................................................................................................ 6
Description ...................................................................................................................................... 6
Programmes ncessaires : ............................................................................................................... 6
INTRODUCTION GENERALE ............................................................................................................. 7
Partie 1 : .................................................................................................................................................. 8
Recherche documentaire ......................................................................................................................... 8
INTRODUCTION ....................................................................................................................... 9

III-

LE SCHEMA SYNOPTIQUE ................................................................................................ 9

III-

CONCLUSION ....................................................................................................................... 9

Partie 2 : ................................................................................................................................................ 11
Etude de faisabilit technique................................................................................................................ 11
INTRODUCTION ..................................................................................................................... 12

III-

Etude dune serrure code : ................................................................................................... 12

1.

Structure ................................................................................................................................ 12

2.

Etude de chaque composante : ............................................................................................. 12

III- Conclusion .................................................................................................................................. 18


Partie 3 : ................................................................................................................................................ 19
Etude de faisabilit financire ............................................................................................................... 19
INTRODUCTION ..................................................................................................................... 20

I-

1. Le prix des diffrents composants :........................................................................................... 20


II-

Etude de march : .................................................................................................................. 21

III- Conclusion : ................................................................................................................................ 23


Partie 4 : ................................................................................................................................................ 24
Ralisation ............................................................................................................................................. 24
I-

INTRODUCTION ..................................................................................................................... 25

II- Programmation : ........................................................................................................................... 26


Projet Intgrateur I

Table des matires


1.

Organigramme....................................................................................................................... 26

2.

Programmation du PIC : ........................................................................................................ 27

III- Simulation sur ISIS ..................................................................................................................... 27


IV- Conception .................................................................................................................................. 28
V- Finalisation : ................................................................................................................................. 30
VI- Conclusion : ................................................................................................................................ 31
CONCLUSION GENERALE ............................................................................................................... 32
BIBLIOGRAPHIE ................................................................................................................................ 33
ANNEXES ............................................................................................................................................ 34

Projet Intgrateur I

Table des illustrations

TABLE DES ILLUSTRATIONS


Figure 1 : La structure interne du PIC 16f877 ....................................................................................... 13
Figure 2 : La diffrence entre le PIC16f84 et le PIC 16f877 ................................................................ 14
Figure 3 : Afficheur LCD ...................................................................................................................... 14
Figure 4 : Le brochage de l'afficheur LCD............................................................................................ 15
Figure 5 : Clavier numrique 3x4 .......................................................................................................... 15
Figure 6 : Brochage du clavier numrique 3x4 ..................................................................................... 16
Figure 7 : Nokia 1100............................................................................................................................ 16
Figure 8 : Liaison du PIC au tlphone portable ................................................................................... 17
Figure 9 : Gche lectrique ................................................................................................................... 17
Figure 10 : Gche lectrique lie au botier. ......................................................................................... 18
Figure 11 : Questionnaire ...................................................................................................................... 21
Figure 12 : Programmateur du PIC PICSTART.................................................................................... 27
Figure 13 : Schma de simulation sur ISIS ........................................................................................... 28
Figure 14 : Botier vue de face .............................................................................................................. 29
Figure 15 : Botier vue isomtrique ....................................................................................................... 29
Figure 16 : Dcoupage laser du botier.................................................................................................. 30
Figure 17 : Botier ................................................................................................................................. 30
Figure 18 : Serrure code ...................................................................................................................... 31
Figure 19 : Serrure code "Home Security" .......................................................................................... 31

Tableau 1 : Prix des diffrents composants ........................................................................................... 20

Projet Intgrateur I

Remerciements

REMERCIEMENTS
Au terme de ce travail, nous tenons exprimer nos vifs remerciements Monsieur
Azzedine Rachdy qui a encadr notre projet avec grand intrt.
Nous remercions galement Monsieur Lahoussine Bouhouch qui a mis notre
disposition la documentation et les explications ncessaires.
Enfin nous adressons nos sincres remerciements toutes les personnes qui ont
contribus de prs ou de loin russir ce modeste travail.
Nous remercions galement les deux socits AMMAS et Technique Laser pour leurs
contributions.
A nos trs chers parents qui se sont sacrifis de tout prcieux dans le but de nous
former. Nous esprons tre la hauteur de leur confiance.
A tout le corps professoral et administratif de lEcole Polytechnique dAgadir.
A nos amis et proches pour leur soutien moral et leurs contributions lors de
lachvement de ce travail.
Quils puissent trouver ici lexpression de notre gratitude et de notre amour le plus
profond.

Projet Intgrateur I

CAHIER DES CHARGES

Objectif
Notre projet consiste essentiellement raliser une carte dune serrure code numrique qui
donne la scurit totale lutilisateur.
Description
Lors de la ralisation de notre projet nous devons nous soumettre un cahier des charges
qui nous impose les conditions suivantes :
La ralisation doit tre programme ce quelle rpond aux contraintes suivantes :

Donner la possibilit au propritaire de saisir le code jusqu trois tentatives


diffrentes, ou chaque code est compos de 6 chiffres.
A la 3me tentative, si jamais elle nest pas valide, le systme lance une alarme, plus
ce dernier renvoie immdiatement un appel dalerte au propritaire dans son tlphone
portable.
Modification du code.
Programmes ncessaires :

Un code Utilisation permettant de gnrer une impulsion pour l'ouverture


temporaire de la serrure, le mme code permet d'activer le basculement vers
l'ouverture ou la fermeture permanente de la serrure.
Un code alarme permettant d'activer ou de dsactiver une sortie exploitable par
une centrale d'alarme.
Un code Programmation permettant de saisir un nouveau code afin de modifier les
codes existant par dfaut.
Un code Tlphone permettant la connexion de la carte au tlphone de
lutilisateur, et revoie de lappel en cas durgence.

Projet Intgrateur I

INTRODUCTION GENERALE

Pendant la formation lcole Polytechnique dAgadir, tout un module est concern


aux tudiants deuxime anne pour un projet dune ralisation technique. Ce module nous
permettra de mettre sur terrain nos acquisitions techniques pendant les deux annes dtudes
passes, aussi de forger nos comptences savoir, savoir faire, et savoir tre.
Cest avec enthousiasme quon a choisi notre projet sous le thme : Serrure code digitale.
En effet cest un thme qui a toujours tait prsent, dans les promotions passes, et devenu un
thme pratique pour chacune.
Pour cela, cette anne on a propos de lamliorer, et de lui rajouter de nouvelles
fonctionnalits lintrt de donner plus de valeur au produit et dlargir son mode demploi
galement.
Ce rapport explique en tout dtail les quatre parties concernant notre projet, il contient tous les
dtails ncessaires ds le choix de lide jusqu la finalisation du produit.
Dans un premier temps le rapport exposera la partie de la recherche documentaire suivis,
deuximement la partie tude faisabilit technique, troisimement la partie tude de faisabilit
financire, et finalement la ralisation.

Projet Intgrateur I

Partie 1 :

Recherche
documentaire

Projet Intgrateur I

Chapitre 1 : Recherche documentaire

I-

INTRODUCTION

La recherche documentaire est la 1re tape pour commencer un projet, elle permet de
rpondre aux questions et aux besoins rels de lide de projet.
Nous lutiliserons pour construire notre savoir afin de bien viser et slectionner les objectifs et
les dmarche suivre pendant toutes les tapes qui viennent.
II-

LE SCHEMA SYNOPTIQUE
Serrure code
Appel durgence

Saisie du code

Tlphone

Lutilisateur

Ouverture

Porte

Systme dAlarme

Systme de
scurit

Lutilisateur fait la saisie du code, au cas o le code est correct, il sera reconnu par le
programme de la serrure, et donc la porte souvre. Si jamais le code nest pas valid, le
programme lance une alarme et renvoie un appel durgence au tlphone du propritaire.

III-

CONCLUSION

En se basant sur la recherche documentaire, on a pu slectionner, trier, exploiter, et mettre en


forme lensemble des informations qui seront utiles pour atteindre la ralisation de toutes les
contraintes exig par le cahier de charges.
Dans cette partie nous avons acquis plusieurs connaissances qui concernent notre projet.
Des connaissances qui nous faciliterons et claircirons la dmarche poursuivre lors de la

Projet Intgrateur I

Chapitre 1 : Recherche documentaire


ralisation, et mme de savoir choisir les solutions favoris lors de la rencontre des problmes
pendant

Projet Intgrateur I

la

priode

de

ralisation.

10

Partie 2 :

Etude de faisabilit
technique

Projet Intgrateur I

11

I-

INTRODUCTION

Suite notre tude et recherches sur le choix du thme de notre projet, on est amener ensuite
raliser une tude de faisabilit, afin dassurer techniquement la faisabilit de celui-ci.
Pour cela nous serons engags dcomposer chaque solution propose. Ainsi, une tude
thorique est ncessaire afin de justifier le choix et la meilleure dcision prendre pour enfin
satisfaire et respecter notre cahier de charges.
II-

Etude dune serrure code :


1.
Structure
Un
systme
comportant
une
serrure
code
est
compos
principalement par un microcontrleur, un afficheur LCD, un
pav
numrique,
une
alimentation.
Ensuite,
autres
lments
ajouts par nous, le tlphone portable et la gche lectrique,
afin de rendre plus efficiente notre systme.
2.

Etude de chaque composante :

a) Le Microcntroleur
Un
microcontrleur
est
caractrise principalement par :

une

La mmoire : Ils permettent


utiles au microcontrleur

de

composante

lectronique

stocker

informations

des

Des
interfaces
dentres-sorties :
elles
permettent
communication,
lchange
des
informations
entre
microcontrleur et lextrieur
Processeur :
il
effectue
des
oprations
(addition, multiplication, etc.) et logique (ET, OU, etc.)

Projet Intgrateur I

la
le

arithmtiques

12

Figure 1 : La structure interne du PIC 16f877

Daprs notre recherche, nous avons dcid de travailler sous laide dun microcontrleur
faisant partie de la famille MICROCHIP1. Le plus connu cest le PIC16F84. Dabord on a
opt pour ce choix, mais aprs notre tude thorique et sur les besoins de notre programme, et
de nos composantes auxiliaires, on a remarqu que le nombre de broches (porte dentressorties) du PIC16F84 nest pas suffisant.

Pour cela, on a entam une recherche plus profonde, pour rsoudre ce problme. Et en effet on
a pu trouver la solution. Daprs notre recherche, on a constat quil existe un autre type de
microcontrleur, faisant partie aussi de la mme famille du PIC prcdent, mais de taille plus
importante et avec des caractristiques qui peuvent satisfaire les besoins de notre programme.
Cest le PIC 16F877.

Microchip producteur des microcontrleurs

Projet Intgrateur I

13

Figure 2 : La diffrence entre le PIC16f84 et le PIC 16f877

b) Afficheur LCD :
Les afficheurs LCD2 sont des composants qui permettent dinteragir avec
lutilisateur. Ils ne prsentent pas trop de difficults au sein de son branchage et ils sont
utiliss avec beaucoup de facilit.
Ces afficheurs marchent grce une alimentation. Ils existent diffrents types
dafficheur selon leurs caractristiques techniques et selon leurs dimensions si on les voit de
lextrieur. Mais gnralement ils accomplissent le mme rle.
Vu notre cahier de charge, on a opt pour un afficheur LCD de taille 2x16, cest--dire un
afficheur de 2 lignes et 16 caractres. Le choix de ce type dafficheur est justifi par le fait
que nos besoins seront satisfaits par cet afficheur, et que sa taille est suffisante pendant
laffichage des messages qui lient le systme avec lutilisateur

Figure 3 : Afficheur LCD

Un afficheur LCD est capable dafficher des caractres alphanumriques sur son
cran. Chaque caractre possde son code ASCII, et il sera affich lorsquil sera appel par le
programme pour afficher un message ou bien lors de la saisie dun message externe.
Cet afficheur possde 8 entres, de D0 D7 et ils sont lis aux broches du
microcontrleur. Le PIC16F877 est lacteur qui envoi les signaux travers les broches lis
aux entrs de lafficheur, et dans ce dernier le message sera traduit par des caractres.

Ecran cristaux liquides

Projet Intgrateur I

14

Figure 4 : Le brochage de l'afficheur LCD

c) Clavier numrique :
Le type de clavier le plus utilis dans la programmation et dans les
appareils lectronique qui ont une liaison avec la partie relation, est le
clavier 3x4.
Ce clavier est compos donc par 12 boutons, reprsentant les nombres de 0
9 et les touches * et #.

Nous avons opt bien sr ce type de clavier, puisque on retient que ces types de caractres
soient suffisants pour rpondre aux besoins de notre systme.

Figure 5 : Clavier numrique 3x4

Projet Intgrateur I

15

Figure 6 : Brochage du clavier numrique 3x4

d) Tlphone portable :
(1)
Explication :
Pour amliorer lefficience dune serrure code au niveau de la scurit,
on a pens une solution qui pourra permettre cela. Le meilleur moyen
cest de prvenir un problme, une anomalie linstant ou le plus
rapidement possible, lorsqu elle se passe. Pour cela on a pens une
mthode qui pourra contacter directement le propritaire de la serrure.
Le tlphone portable est donc lintermdiaire qui permettra cela,
linteraction entre la serrure et le propritaire.

Figure 7 : Nokia 1100

(2)
Linteraction entre le tlphone et le PIC :
En ce qui concerne la tche concernant lutilisation du portable: au
dbut on a pens chercher un portable qui se caractrise avec les
options TX, RX 3 qui permettent la liaison du portable au programme
3

Transmission, Rception

Projet Intgrateur I

16

du PIC utilis. Daprs notre recherche, on a constat, que cette option


nest disponible que dans les vieilles gnrations des portables.
Mais par aprs, on s'est rendu compte qu'il existe une autre mthode
beaucoup plus simple, qui consiste nous faciliter la programmation
d'un bouton du tlphone par la mthode de l'appel abrg.

Figure 8 : Liaison du PIC au tlphone portable

e) Gche lectrique :
(1)
Prsentation :
Outre que le portable, nous avons dcid pendant notre recherche dajouter un autre lment
supplmentaire, afin de rendre notre systme plus efficace. Cet lment cest la gche
lectrique. La gche lectrique est un composant lectromcanique qui produit un son
lorsquil est sollicit par une tension. Dans le march il est gnralement utilis dans le
systme de scurit comportant des portes. Cest pour cela que nous avons opt pour ce choix.

Figure 9 : Gche lectrique

(2)

Fonctionnement :

Aprs avoir prsent la gche lectrique, nous avons aussi vu comment notre gche peut
coexister avec les composantes choisis auparavant. Une gche lectrique met un son
lorsquune tension sollicite son systme. Dans notre cas, la gche sera installe cot de la
serrure, et fonctionnera lorsque le code saisi sera correcte. Elle permettra donc dinteragir

Projet Intgrateur I

17

dune faon avec lutilisateur, en lui informant dune autre manire que le code saisi est juste
(outre que lafficheur). Le son mis se produira jusqu louverture de la porte.

Figure 10 : Gche lectrique lie au botier.

III- Conclusion
Daprs les recherches faites, notre tude thorique concernant le choix de chaque
composante qui sert notre serrure code, on peut dire davoir eu les moyens possibles pour
satisfaire notre cahier de charge. On a rencontr des problmes au sein du choix des
composantes lors de notre tude thorique, mais on a pu sen sortir en trouvant autres
solutions, qui nous permettront galement datteindre notre objectif de dpart.

Projet Intgrateur I

18

Partie 3 :

Etude de faisabilit
financire

Projet Intgrateur I

19

Chapitre 3 : Etude de faisabilit financire


I-

INTRODUCTION

Ltude de faisabilit financire consiste traduire, en termes financiers tous les lments que
nous venons de runir et vrifier la viabilit de notre projet. Cette tude nous permet de
savoir le cot total de notre produit ainsi estimer le prix de vente sur le march.
1. Le prix des diffrents composants :

Daprs nos recherches documentaires et techniques nous avons mis la liste dachats des
composants ncessaires pour la ralisation du projet qui sont comme suit :
Tableau 1 : Prix des diffrents composants

Les composants

Rfrence

Quantit

Rsistances

220 Ohm
1 KOhm
10 KOhm
10KOhm
22 pF
NPN
220V-12V
8MHz
7805

3
3
2
1
2
1
1
1
3
1
4
1
1
1
1

Rsistance Variable
CONDENSATEUR
Transistor
Alimentation
Quartz
REGULATEUR 5V
PIC 16 F 877
LED Simple
BUZZER
Afficheur LCD
Boitier
Carte lectronique
Main duvre
Relais
Portable
Carte SIM
Clavier
Serrure canon
Totale

Projet Intgrateur I

Buzzer Pizo
LM 2x16

10A /DC 12V


NOKIA 1100
3x4
Q 65 (Axe 40 mm)

2
1
1
1
1
32

Prix
(DH)
3
3
2
5
3
3
20
10
21
200
4
15
200
300
20
100
30
100
20
75
130
1264

20

Chapitre 3 : Etude de faisabilit financire

II-

Etude de march :

Ltude de march est un travail d'exploration destin analyser, mesurer et comprendre le


fonctionnement rel des forces l'uvre dans le cadre d'un march.
Cette tude nous permettra davoir une ide sur la raction des gens propos de notre produit,
cest pour cela nous avons ralis un questionnaire, ce dernier nous aidera savoir le taux du
besoin de notre projet sur le march.

Figure 11 : Questionnaire

Projet Intgrateur I

21

Chapitre 3 : Etude de faisabilit financire


Les rsultats de ce questionnaire taient comme suit :

Projet Intgrateur I

22

Chapitre 3 : Etude de faisabilit financire


III- Conclusion :
Daprs notre tude nous avons pu constater que notre produit pourra se positionner sur le
march vu que plus de 70% sont intress par notre systme.
Bref, aprs ltude de faisabilit financire nous avons pu estimer le cot ou bien le prix de
vente de notre projet et ce prix est de 1314 dhs, ce prix va nous permettre de couvrir les
charges ainsi dinnover dautres produits de scurit.

Projet Intgrateur I

23

Partie 4 :

Ralisation

Projet Intgrateur I

24

Chapitre 4 : Ralisation
I-

INTRODUCTION

La partie finale est la partie ralisation, cest la partie o nous allons concrtiser lide de
notre projet commenant par la programmation du PIC sur MPlab4, ensuite la simulation sur
ISIS, et puis la conception du design sur SolidWorks, et enfin la finalisation du projet.

Cest un outil de dveloppement pour programmer des microcontrleurs de type PIC de la


famille Microchip.
4

Projet Intgrateur I

25

Chapitre 4 : Ralisation

II- Programmation :
1. Organigramme
Dbut

Configuration des
portes, initialisation
des entres/sorties

Lecture du
clavier

Touch

=*

Oui

Non
Touch

=#

Non

Tentati
ve < 3

Oui
Non
Affichage de
* sur lcran

Code
est
juste ?

Oui
Open (avec un
dlai de 5
secondes)

Remise zro

Projet Intgrateur I

Non

Tentati
ve = 3

Non

Oui
Dclenchement de
lalarme et
lappel au
propritaire pour
lavertir

Remise zro

Invalid Code

Remise zro

Remise zro

26

Chapitre 4 : Ralisation
2. Programmation du PIC :

Pour programmer le PIC on a commenc tout dabord par crer un programme qui rpond au
cahier des charges et lorganigramme ci-dessus en langage C, et puis le transfrer MPlab
et enfin vers le PIC travers loutil programmateur PICSTART ci-dessous.

Figure 12 : Programmateur du PIC PICSTART

III- Simulation sur ISIS5


La simulation joue un rle trs important, elle permet de savoir si le projet fonctionne ou pas,
cest pour cela quon a opt pour une simulation sur ISIS afin davoir une ide sur le
fonctionnement de notre systme.

Permet la cration des schmas et la simulation lectrique

Projet Intgrateur I

27

Chapitre 4 : Ralisation

Figure 13 : Schma de simulation sur ISIS

La figure ci-dessus reprsente la simulation faite sur ISIS, nous pouvons observer les
lments lis au PIC 16F877, les deux connecteurs J1 et J2 reprsentent le tlphone portable
et la gche lectrique suivis des deux relais RL1 et RL2 afin davoir les tensions ncessaires
pour le tlphone et pour la gche. Le Buzzer BUZ1 sert tester le fonctionnement de
lalarme, la led D1 sallume lorsque le code saisi est correcte et la deuxime led D2 sallume
lorsque le code saisi est erron, le pav numrique cest la o lutilisateur saisi le code,
lafficheur LCD1 permet linteraction entre lutilisateur et le systme. Au terme danalyse, la
simulation sur ISIS a fonctionn et nous pourrons donc passer ltape de la ralisation sur la
carte.
IV- Conception
1. Sur SolidWorks :

Pour la conception du botier, nous avons utilis SolidWorks6 :

Cest un logiciel propritaire de conception assiste par ordinateur 3D fonctionnant sous Windows

Projet Intgrateur I

28

Chapitre 4 : Ralisation

Figure 14 : Botier vue de face

Figure 15 : Botier vue isomtrique

Projet Intgrateur I

29

Chapitre 4 : Ralisation
2. Ralisation du botier :

Figure 16 : Dcoupage laser du botier

Figure 17 : Botier

V- Finalisation :
Aprs la simulation sur ISIS, nous avons pu concrtiser notre ide. La figure ci-dessous
reprsente les diffrents composants regroups :
Projet Intgrateur I

30

Chapitre 4 : Ralisation

Figure 18 : Serrure code

Et voici le produit final qui portera le nom de Home Security

Figure 19 : Serrure code "Home Security"

VI- Conclusion :
Pour conclure, on pourrai dire que la partie ralisation est la partie la plus importante,
car elle nous a permis de savoir que notre projet est ralisable. Ainsi nous pourrons dire quon
a russi concrtiser notre ide.

Projet Intgrateur I

31

Conclusion gnrale

CONCLUSION GENERALE

travers de ce travail, nous avons eu loccasion dutiliser plusieurs outils


informatiques qui sont ncessaire pour la ralisation de cette tche.

Ce projet dont la fin est satisfaisante pour nous sest droul avec beaucoup de
difficults rencontres, nos solutions ont t largement inspires des conseils aviss de notre
professeur suiveur qui a su nous guider.

Il faut noter que le bon rsultat dune ralisation repose essentiellement sur les
recherches, les documentations appropries, le courage et la patience. Il faut noter aussi que
ce projet nous a permis damliorer nos connaissances ainsi damliorer lesprit dquipe.

Enfin on pourra dire que ce projet est notre premire tape pour dautres projets dans
ce genre, dans un prochain projet nous viserons amliorer les performances de scurit afin
davertir le propritaire le plus tt possible.

Projet Intgrateur I

32

Bibliographie

BIBLIOGRAPHIE
(s.d.). Consult le Juin 6, 2014, sur BowdenShobbycircuits:
http://www.bowdenshobbycircuits.info/autocall.htm
Alex. (2013, Janvier 12). Nokia f bus to send a sms message. Consult le Mai 5, 2014, sur
insidegadgets: http://www.insidegadgets.com/2013/01/12/how-to-use-nokia-f-bus-to-send-an-smsmessage/
b, h. (2013, aot 28). Consult le Mars 10, 2014, sur Youtube:
https://www.youtube.com/watch?v=rkqiA76prQg
b, H. (2013, Dcembre 25). hicham b. Consult le Mars 10, 2014, sur Youtube:
https://www.youtube.com/watch?v=gEgdOsh8uIg
Bandar. (2010, Septembre 26). Send SMS via Proteus. Consult le Avril 10, 2014, sur Youtube:
https://www.youtube.com/watch?v=DZRmgqUPOhA
Erazo, O. (2011, Octobre 21). LCD 2x16 & MPLAB. Consult le Avril 13, 2014, sur Youtube:
https://www.youtube.com/watch?v=hpX6ViEXelM
Etapes de programmation du PIC. (s.d.). Consult le Juin 8, 2014, sur engr.colostate:
http://www.engr.colostate.edu/~dga/mech307/handouts/PIC_programming_procedure_PicStart.pdf
Green, T. D. (2008). simond Courses Programming with the PIC16F877. Consult le Juin 3, 2014, sur
academic.csuohio: http://academic.csuohio.edu/simond/courses/eec417/ESPWithThePIC16F877.pdf
GSM commande at. (s.d.). Consult le Avril 5, 2014, sur TechnologuePro:
http://www.technologuepro.com/gsm/commande_at.htm
Herrmann, R. (2011, Novembre 30). Consult le Avril 2, 2014, sur Youtube:
https://www.youtube.com/watch?v=HMhv4DdDm6c
MAYEUX, P. (s.d.). Cours sur le PIC. Consult le Avril 28, 2014, sur p.may.perso.libertysurf:
http://p.may.perso.libertysurf.fr/download/picpdf_v1.3.pdf
Microchip. (2013). DeviceDoc. Consult le Mars 08, 2014, sur Microchip:
http://ww1.microchip.com/downloads/en/DeviceDoc/30292D.pdf
Microchip. (2004). PICSTART user's guide. Consult le Juin 2, 2014, sur microchip:
http://ww1.microchip.com/downloads/en/DeviceDoc/51028f.pdf
Noxyben. (2007). Programmation des PIC. Consult le Mars 09, 2014, sur Noxyben:
http://www.noxyben.fr/Electronique/PIC/Programmation_des_PIC_en_C_part1.pdf

Projet Intgrateur I

33

ANNEXES
Annexe 1 : Programme du PIC 16f877 en C
char keypadPort at PORTD;
// global variables declaration
sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;


sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;

char i = 0 , m = 0 , error = 0 , error2 = 0 ;


const int number[]={'y','y',3,2,1,'x',6,5,4,'x',9,8,7,'x','x',0 ,'y'} ;
char temp[6] ;
char temp2[6] ;
char attempts = 0 ;
unsigned cnt ;
// interrupt subroutine
Projet Intgrateur I

34

void interrupt()
{
cnt++ ;
INTCON = 0x20 ;
}

void tone1()
{
sound_play ( 659, 250 ) ;
}
void melody()
{

portc.f4 = 1 ;
delay_ms(3500);
portc.f4 = 0 ;
cnt = 0 ; tmr0 = 0 ;

while( cnt < 36621 && keypad_key_click()!= 16 ) // 5-minute alarm until long
press on *
{

}
stop_alarm : portc.f3 = 0 ;
}
void set_new_pass()
Projet Intgrateur I

35

{
lcd_cmd(_lcd_clear) ;
lcd_out(1,1,"ENTER NEW PASS:") ;
lcd_cmd(_lcd_second_row) ;
i=0;
get_new_pass :
m = 0 ; error = 0 ;
m = keypad_key_click() ;
while(m==0 || m==14) goto get_new_pass ;
if(m==16)

// if CANCEL button is pressed

{
if(i!=0)
{
while(portc.f2==0) {}
lcd_out(2,i," ") ;
lcd_cmd(_lcd_move_cursor_left);
i-- ;
goto get_new_pass ;
}
else goto end_sub ;
}
lcd_chr_cp('*') ;
temp[i] = number[m] ;
i++ ;
if(i==6) goto confirm_new_pass ;
goto get_new_pass ;
Projet Intgrateur I

36

confirm_new_pass:
while(keypad_key_click() !=14 && portc.f2==1) {}
if(portc.f2==0) goto get_new_pass ;

for(i=0;i<6;i++)
{
eeprom_write(i,temp[i]) ;
delay_ms(20) ;
}

lcd_cmd(_lcd_clear) ;
lcd_out(1,3,"NEW PASS HAS" ) ;
lcd_out(2,4,"BEEN ADDED") ;
delay_ms(2000) ;
end_sub :
lcd_cmd(_lcd_clear) ;
}
void check_old_pass()
{

start2:
m = 0 ; i = 0 ; error = 0 ;
lcd_cmd(_lcd_clear) ;
lcd_out(1,1,"ENTER OLD PASS:") ;
lcd_cmd(_lcd_second_row) ;
Projet Intgrateur I

37

while(keypad_key_click()==16) {}
wait2 :
m = keypad_key_click() ;
while(m==0 || m==14) goto wait2 ;

edit2 :
if(m==16)
{
if(i!=0)
{
while(portc.f2==0) {}
if(eeprom_read(i-1)!=temp2[i-1] && error>0 ) error-- ;
lcd_out(2,i," ") ;
lcd_cmd(_lcd_move_cursor_left);
i-- ;
goto wait2 ;
}
else goto end_sub ;
}
lcd_chr_cp('*') ;
temp2[i] = number[m] ;
if(eeprom_read(i)!=temp2[i]) error++ ;
i++ ;
if(i==6)
{
wait4 :
Projet Intgrateur I

38

m=0;
m = keypad_key_click() ;
if(m!=16 && m!=14)goto wait4 ;
if(m==16) goto edit2 ;
goto compare2 ;
}
goto wait2 ;
compare2:
if(error!=0)
{
lcd_cmd(_lcd_clear) ;
lcd_out(1,4,"INVALID!!") ;
while(keypad_key_click()==0) {}
goto start2 ;
}

else set_new_pass() ;
end_sub:
lcd_cmd(_lcd_clear) ;
}

// main program

void main()
Projet Intgrateur I

39

trisb = 0 ; portb = 0 ;
trisd = 0 ; portd = 0 ;
trisc.f0 = trisc.f1 = 0 ; portc = 0 ;
trisc.f2 =1 ;
trisc.f3 = 0 ;
trisc.f4=0;
trisc.f5=0;
OPTION_REG = 0x84 ;
INTCON = 0xA0 ;

// Assign prescaler to TMR0


// Enable TMRO interrupt

// lcd initialization
lcd_init() ;
lcd_cmd(_lcd_cursor_off) ;

// keypad initialization
keypad_init() ;

// sound play initialization


sound_init(&portc,0);

while(1)
Projet Intgrateur I

40

{
start :
if(eeprom_read(0) != 0xff) goto get_current_pass ;
set_new_pass() ;

get_current_pass :

i=0;
error = 0 ;
lcd_cmd(_lcd_clear) ;
lcd_out(1,4,"ENTER PASS:") ;

lcd_cmd(_lcd_second_row) ;

wait :

m = keypad_key_press() ;
while(m==0) goto wait ;

cancel_or_set :
if(m==16)
{
cnt = 0 ;
tmr0 = 0 ;
while(keypad_key_click() == 16)
Projet Intgrateur I

41

{
if( cnt >= 367 )
{
check_old_pass() ;
goto get_current_pass ;
}
}
if(i!=0)
{
while(keypad_key_press()==16) {}
if(eeprom_read(i-1)!=temp2[i-1] && error>0 ) error-- ;
lcd_out(2,i," ") ;
lcd_cmd(_lcd_move_cursor_left);
i-- ;
goto wait ;
}
}

m=0;
m = keypad_key_click() ;
while(m==0) goto wait ;
if(m==16) goto cancel_or_set ;
if(m==14)
{
if(i==3)
Projet Intgrateur I

42

{
for(i=0;i<3;i++)
{
if(temp2[i]!=4) error2 = 1 ;
}
if(error2==1) goto wait ;
set_new_pass() ;
goto start ;
}
goto wait ;
}
lcd_chr_cp('*') ;
temp2[i] = number[m] ;

if(eeprom_read(i)!=temp2[i]) error++ ;
i++ ;
if(i==6)
{
wait4 :
m=0;
m = keypad_key_click() ;
while(m!=14 && m!=16 && portc.f2==1) goto wait4 ;
if(m == 16) goto cancel_or_set ;
if(portc.f2==0) goto wait ;
goto compare ;
}
Projet Intgrateur I

43

goto wait ;

compare :
for(i=0;i<6;i++)
{
if(temp2[i]!=eeprom_read(i)) error++ ;
}

if(error!=0)
{
lcd_cmd(_lcd_clear) ;
lcd_out(1,3,"INVALID PASS") ;
error = 0 ;
attempts++ ;
if(attempts>=3)
{
lcd_out( 2,6,"ALARM" ) ;
portc.f3 = 1 ;
portc.f4 = 1 ;
portc.f5=1;
delay_ms(2000);
portc.f5=0;
melody() ;
goto get_current_pass ;
}
while(keypad_key_click()==0) {}
Projet Intgrateur I

44

goto get_current_pass ;
}

else
{
lcd_cmd(_lcd_clear) ;
lcd_out(1,7,"OPEN") ;
portc.f1 = 1 ; delay_ms(4500) ;
portc.f1 = 0 ;
attempts = 0 ;
}
}
}

Projet Intgrateur I

45

Vous aimerez peut-être aussi