Overblog Suivre ce blog
Editer la page Administration Créer mon blog

Gâche électronique programmable Picaxe 08M2

 

Retrouvez cette page
et toutes les mises à jour
sur

http://electromag1.wifeo.com/ 

 

 

 

C'est pratique, une gâche électrique codée pour ouvrir son portail, surtout lorsqu'on a pas besoin de chercher ses clés sous l'orage.

 

Le code est introduit par un clavier 12 touches NON matriciel. Ce code de 4 chiffres est modifiable de l'extérieur à volonté. 

 

Le matériel:

 

1 picaxe 08M2 (Remplace le 08M) 

1 clavier non matriciel 12 touches (étanche pour l'extérieur)

1 régulateur 78L12

1 régulateur 78L05

1 transistor NPN (Ex: BC337-40)

1 pont redresseur 1A

1 diode 1n4148 ou 1n4007 

1 relais 12v D.I.L

1 condensateur 470µF 25v

1 condensateur 100nF

1 condensateur 4,7nF

1 interrupteur à lames souples (I.L.S)

1 buzzer piézo

1 potentiomètre 22k

12 résistances 100Ω , 2 de 10KΩ, 1 de 47kΩ

 

  Soit une dizaine d'euro plus le prix du clavier (bon clavier étanche-  chez Selectronic)

 

      

  Le schéma:  Agrandir    ici 

 

  gachepicaxe08M

 

  Le code :

 

Faites un copier-coller dans le "Picaxe Programming Editor"

 

Ou télécharger ICI  le zip contenant deux fichers.bas à ouvrir avec l'éditeur Picaxe.

Un fichier pour picaxe 08M comme celui ci dessous fonctionnant sur tout picaxe et un fichier spécifique (non encore testé) pour picaxe 08M2 utilisant les nouvelles variables systèmes.

 

 

 

'Gestion de clavier 12 touches non matriciel code 2(300110)

'Principe:
'5 volts sont divisés en 12 paliers de 0 à 5 v par 12 R de 100 ohms
'Chaque touche est reliée à un palier
'4 paliers sont mémorisés
'Après lecture de la tension, on calcule le palier correspondant
'On compare avec les codes mémorisés
'4 bonnes comparaisons successives et on sort, sinon on boucle

 '      R   R   R   R   R   R   R   R   R   R   R   R
' 0Volt-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o-+-o- 5volts
'Paliers  1   2   3   4   5   6   7   8   9   10  11  12 
 
init:
symbol NCode=pin3   'poussoir NouveauCode
symbol cpt=w0       'compteur attente
symbol tch=b4       'lecture touche par ADC 4
symbol pal=b5       'palier
symbol memtch=b6    'mémo lecture touche
symbol rang=b7      'compteur rang décodage 
symbol tempo=b8     'temporisation sortie par ADC 1
symbol niveau=b9    'calcul interpaliers en bits: 21*pal+10
sound 2,(124,10)    'signal passage init
read 0,b13   'lecture du
read 1,b12   'code
read 2,b11   'en
read 3,b10   'mémoire
'----------------------------------------------------------- 
debut: 
 rang=0          'RAZ rang
 cpt=0           'RAZ compteur attente 
 readadc 1,tempo 'lecture de la temporisation sortie
'--------------------------------------------------------------
leccode:  'Sous programme décodage
 
 if NCode=0 then   
'Si contact on,
   rang=0           'envoi vers le sous prog de
   cpt=0            'changement de
   goto nouvcode    'code  
 endif     
 
 readadc 4,tch      'lecture du clavier
 
 inc cpt

 if cpt>1700 then  debut   'RAZ rang et cpt toutes les 5s env
 if tch<10 then  leccode   'si pas de pression touche, on boucle    
 gosub padin '         'touche pressée -> calcul du palier
 
 on rang goto c0,c1,c2,c3  
c0: if pal=b10 then:rang=1:goto leccode  'Apres chaque
   else:goto debut
 endif
c1: if pal=b11 then:rang=2:goto leccode  'bonne comparaison
   else:goto debut
 endif
c2: if pal=b12 then:rang=3:goto leccode      'on avance vers
   else:goto debut
 endif
c3: if pal=b13 then
      high 0                              'la sortie
      sound 2,(124,10)     
   for cpt= 1 to tempo                    'tempo d'ouverture     
    pause 20
   next
     low 0  
     goto debut   
 endif
 goto debut                              'sinon retour début    
'---------------------------------------------------------------
padin:      'Sous programme calcul du palier
 pause 50   'attente 50ms
 readadc 4,tch  'seconde lecture après 50ms pour antirebonds
 memtch=tch     'memo lecture
att: readadc 4,tch   'attente relachement
 if tch>10 then att  'de la touche.

 for pal=1 to 12     'boucle recherche   
  niveau=21*pal+10   'du palier correspondant
  if memtch<niveau then ret '21*12+10>256 donc pas de sortie à 12
 next                       'mais après 11, on sort avec pal=13

ret:  
 cpt=0   'apres chaque pression,reset du compteur attente
 sound 2,(123,10) 'beep de relachement touche
 return
'-------------------------------------
nouvcode:  'Sous programme mémo d'un nouveau code
 sound 2,(120,10)  'sonnette "nouveau code"->tapez lentement
 readadc 4,tch  'lecture ADC4  
 inc cpt   'incrémentation du compteur attente

 if cpt=50 then    'temps d'attente entre deux
   rang=0          'touches dépassé (6s env)
   sound 2,(110,10)  'Après le beep,
   goto nouvcode     'on recommence
 endif
     
 if cpt>100 then  init  'temps dépassé: rechargement du code initial
     
 if tch<10 then nouvcode 'si pas de pression, on boucle
  
 gosub padin   'touche pressée -> calcul du palier
  
 on rang goto cod0,cod1,cod2,cod3        'mémorisation des
 cod0:b10=pal:rang=1:cpt=0:goto nouvcode 'quatre
 cod1:b11=pal:rang=2:cpt=0:goto nouvcode 'touches
 cod2:b12=pal:rang=3:cpt=0:goto nouvcode 'du
 cod3:b13=pal                            'code
 write 0,b13               'écriture
 write 1,b12               'du
 write 2,b11               'code
 write 3,b10               'en mémoire 
 goto init                 'retour initialisation

 

'____________________________________________________

Le typon :

 

Voici une image du fichier TCI. Que vous pouvez télécharger ICI en format zip.

(Att: typons rectifiés le 27/01/2011)

 

Ouvrez l'archive pour retrouver les fichiers .tci.

Avec le logiciel TCI4.3 (voir page "Fabriquer ses circuits imprimés"), imprimez le typon de votre choix, ou modifiez le, il est possible de séparer le clavier et les résistances du reste du circuit avec une liaison par câble blindé 3 conducteurs.

 

Pour la programmation voir la page :"La famille picaxe, la programmation"

  gache-copie-1

Réalisation:

  

Plusieurs typons au choix, dont un programmable directement, ajoutez un strap, deux résistances 1/8 de W ou CMS et trois picots.

Le relais est a double inverseur. Un contact peut être utilisé pour la serrure, l'autre pour la sonnette.

Si il n'y a pas de sonnette, relier T et T1, R et R1,C et C1. Les contacts sont alors en // pour augmenter la longévité du relais.

  gache 001
 Mémorisation et changement de code:

On utilise un interrupteur à lame souple (ILS) collez sous la plaque à coté du clavier.

Il se ferme en approchant un aimant de l'extérieur, un bref passage suffit.

Après le fonctionnement de ce contact, le buzzer émet un bruit de sonnette continu tant que l'on est en mode "programmation" (la sonnette ralentit le cycle, faut pas aller trop vite).

Appuyer alors -sans précipitation- sur quatre touches du clavier.

Après la dernière touche, la sonnette s'arrête et le nouveau code est mémorisé.

Vérifiez ce nouveau code.

Après plus de 6 secondes entre deux touches, un beep et il faut recommencer au début du code (c'est pour recommencer en cas d'erreur).

Après plus de 12 secondes entre deux touches, la procédure est abandonnée et l'ancien code est restauré.
  gache 002
 Ici, le clavier et le circuit sont reliés par une nappe, mais il est possible de souder les picots coté soudures et d'accoler clavier et circuit ou de séparer le circuit en deux avec une liaison par blindé 3 conducteurs (voir typons).   gache 005

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

Partager cette page

Repost 0
Pour être informé des derniers articles, inscrivez vous :