Electromag1 Circuits électroniques et Picaxes

Petit site pour ceux qui bricolent en électronique en général et sur les PICAXES en particulier.
Les PICAXES sont des microprocesseurs (PIC de Microship) programmables en BASIC. Pleins de qualités, pas chers, ultra faciles à programmer.
Tout (ou presque) est sur le site du distributeur Gotronic (voir les liens).
Les pages  seront ajoutées ou modifiées petit à petit.
Dans le but d'améliorer ce blog, communiquez moi vos remarques et les erreurs que vous pouvez constater.
Pour me contacter: Envoyez un mail à l'adresse : mag1mic@free.fr .  Tout message reçoit une réponse
Pour retourner au menu, Cliquer sur "LISTE DES PAGES", ici ou en haut de la colonne de gauche
Pour laisser un message, allez dans le "LIVRE D'OR"
Bonne visite
 
 

Gâche électronique programmable Picaxe 08M2

(modifié le10/07/2016)
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Ω , 1 de 10KΩ, 1 de 47kΩ, 1 de 1k (remplace R de base de 10k sur le transistor)

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

Le schéma:

 

Le code : (modifié le 02/12/15)

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

Le code original est remplacé par un code plus adapté au 08M2

'Gestion de clavier 12 touches non matriciel MM code 3(011215)
'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    
;Entrées:
        ;ILS sur C.3
        ;potar tempo sur C.1
        ;touches clavier sur C.4
;Sorties:
        ;piezzo sur C.2
        ;relais sur C.0

#picaxe 08M2    
start0:
    symbol flag=bit0
    symbol NCode=pinC.3    'cotact ILS NouveauCode
    symbol tempo=w13        '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    

    sound C.2,(124,10)    'signal passage init
    read 0,b13,b12,b11,b10    'lecture du code en m?moire

'-----------------------------------------------------------    
debut:
    flag=0        ;flag sonnette start1
    rang=0        'RAZ rang
    time=0        'RAZ compteur attente    
    readadc C.1,tempo    'm?mo de la temporisation sortie
    tempo=tempo*20    'max = 256 x 20= 5120 mS
'--------------------------------------------------------------
leccode:        'Sous programme decodage
    Do
        if NCode=0 then        'Si contact on,
            rang=0            'envoi vers le sous prog de
            time=0            'changement de
            goto nouvcode    'code        
        endif
        readadc C.4,tch    'lecture du clavier    
        if time >5 then    ;'RAZ rang et time toutes les 5s env
            rang=0
            time=0
        endif        
    loop while tch<10             '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 C.0                         'la sortie(modif 03/12/09)
            sound C.2,(124,10)                    
            pause tempo    'tempo d'ouverture            
            low C.0                    
       endif
    goto debut                    'sinon retour d?but                
'---------------------------------------------------------------
padin:        'Sous programme calcul du palier
    pause 50              'attente 50ms
    readadc C.4,tch        'seconde lecture apr?s 50ms pour antirebonds
    memtch=tch             'memo lecture    
    Do:    readadc C.4,tch: loop while tch>10    ;attente relachement touche
    pal=memtch-10/21+1      ;transforme les tensions lues en paliers de 1 à 12    
    time=0                  'apres chaque pression,reset du compteur attente
    sound C.2,(123,10)      'beep de relachement touche
    return
'-------------------------------------
nouvcode:        'Sous programme m?mo d'un nouveau code     
    flag=1    
    readadc C.4,tch                'lecture ADC4    
    if time=5 then
            flag=0              'temps d'attente entre deux
            rang=0              'touches dépassé (>5 s)
            sound C.2,(110,10)   'Après les beep,
            goto nouvcode        'on recommence
    endif                    
    if time>10 then start0    'temps >10s : 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:time=0:goto nouvcode    'quatre
    cod1:b11=pal:rang=2:time=0:goto nouvcode    'touches
    cod2:b12=pal:rang=3:time=0:goto nouvcode    'du
    cod3:b13=pal                                'code
    write    0,b13,b12,b11,b10            'écriture du code en m?moire    
    reset            'redémarrage programme
    
start1:    ;Sonnette nouveau code
    Do
        if flag=1 then
            sound C.2,(120,10)    'sonnette "nouveau code"->tapez lentement
            pause 200
        endif
 
 
 loop

'____________________________________________________

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

 



Créé avec Créer un site
Créer un site