Création d’une alarme à l’aide d’un PIC
Mon but est d’apprendre à me servir d’un PIC et d’un clavier matriciel, notamment car leur utilisation sera nécessaire dans différents projets de plus grande envergure. La création d’une alarme regroupe ces deux composants tout en me permettant de réaliser un montage simple et motivant par son aspect fonctionnel.
L’alarme répond aux critères suivants :
– Activation/Désactivation
– Déclenchement lors de l’ouverture d’une porte
– Temps d’attente avant mise en marche du buzzer
– Conservation du mot de passe même en cas de coupure de courant
– Possibilité de modifier le mot de passe
– Alimentation de secours
Le pic utilisé est le model 18F248. Les bits de 0 à 7 du port C sont réservés au clavier matriciel, le port B aux 4 diodes « mot de passe » qui indiquent le nombres de chiffres déjà tapés. Le port A contient les deux diodes « d’état » qui indiquent si l’alarme est activée, désactivée, ou sur le point de s’activer ainsi que le buzzer, une sortie qui passent à l’état haut quand l’alarme se déclenche et qui pourra servir plus tard à contrôler d’autres périphériques (camera, etc …) et enfin l’entrée provenant du détecteur d’ouverture de porte.
L’alimentation est assurée par un transformateur 220AC vers 12DC. Les deux avantages d’une tension de 12v sont
– Que c’est une valeur très commune
– Même avec un batterie de secours neuve et donc chargée à 9.5v, les diodes fonctionnent correctement puisque 9.5+0.7 < 12.
Le basculement entre l’alimentation principale et la batterie de secours se fait de façon très simple avec deux diodes. En effet, considérons une pile rectangulaire neuve, chargée à 9,5V, la tension à ses bornes étant inférieure au 12V de l’alimentation, seule la diode relié au +12 sera passante. Inversement si l’alimentation est coupée, la tension aux bornes de la pile sera supérieur au 0.
La tension est ensuite abaissée à 5v à l’aide d’un régulateur associé aux bonnes valeurs de condensateurs.
J’avais tout d’abord pensé utiliser un haut-parleur qui servirait aussi bien au ”bip touche”, au signal sonore “alarme activé/désactivé” et au signal d’alarme, mais le pic ne pouvait pas délivrer assez de puissance pour obtenir le son souhaité. Ma première solution a été d’utiliser un amplificateur, mais alors les bip touches, étaient trop bruyants. J’ai donc préféré ajouter une nouvelle sortie sur le PIC qui passe à l’état haut quand l’alarme se déclenche et qui rend donc un transistor NPN passant. Le transistor est relié d’une part au +12 et d’autre part à un buzer. Ainsi le PIC ne fourni que peut de courant, mais le buzer peut recevoir les 140mA en +12 dont il a besoin pour produire un son de 110dB.
Venons en au fonctionnement du clavier matriciel ; celui-ci possède 16 touches réparties en carré, il y a donc 4 lignes de 4 touches. Les 4 premiers bits du PORTB sont reliés aux lignes et les 4 derniers aux colonnes. Le pic place un 1 logique sur 3 des colonnes et un 0 sur la dernière. Il test ensuite chaque lignes du clavier et si l’une d’elles est à 0, c’est que la touche positionnée sur la colonne et la ligne qui sont toutes deux à l’état 0 est enfoncée. En répétant ces opérations pour chaque colonne à une fréquence élevée, le pic peut détecté un appui sur une touche d’un durée supérieure à 40 ms. Cette durée étant infime à l’échelle humaine, tout appui est donc détecté.
Je suis bien moins bon charpentier qu’électronicien, je poste cependant une photo du produit fini. Pour voir toutes les photos, visitez la galerie. Le dessus et le fond sont découpés dans du plexiglass d’épaisseur 8mm, légèrement moins résistant que les parois en bois, mais bien mieux pour exposer !
Antoine..MALLET
Eleve ingénieur de deuxième année
février 2010