• version 0.0
    03 Mars 2014

    PIC 18F26K22 ,Afficheur 5110 et encodeur Keyes

    usage d'un PIC18F26K22 en DIP28 et du Pickit2 Microchip pour charger l'executable
    Environnemen t: MPLAB IDE V8.92 et C18 v3.45.00

    Testé avec oscillateur interne Fosc=16Mhz

    datasheet

    images/Keyes_encoder_5pins.jpg images/Keyes_encoder_5pins_bottom.jpg
    Miniinthebox 4.90€  


    Liaisons PIC <-> Encoder Keyes



    RB7 et RB6 reste libres pour l' ICSP
    Usage du Pickit2 (mon Pickit3 utilisé par ailleurs!)
    RC6 utilisé comme sortie Tx UART 19200,8,N,1-> module MAX3222 , alimenté en 3,3V!!-> PC COM2

    Resultat sur terminal RS232 :




    Running ...

    images/Encoder_Test_140302a.jpg images/18F26K22_DB9_Nokia.jpg
    prototype de test interconnexions


    Affichage:
    Ligne 1 :titre : 18F26K22_AaZz
    Ligne 2 affichage de LCD 5110 6x14C
    Ligne 3 Affichage date fixe + C18
    Ligne 4 valeur de la position en cours sur un entier sur 6 digits
    Ligne 5 Etat du BP poussoir encoder 0 ou 1 ( 1 si non appuyé=au repos)
    Ligne 6 valeur du multiple (avec 5 digits =>1 à 4096)

    Le programme de test
    Usage d'un encoder rotatif Keyes
    5 broches , 4,22€ chez miniinthebox , ref 2000007742833 S038144400001
    delivre 20 pulses par tour
    On utilise l'interrupt sur RB0 pour detecter le front montant de clock
    et verifier 'etat de l'autre entree pulse pour verifier si on tourne à droite ou à gauche.
    *Tourne A droite : incremente la valaur Encoder_Pos d'un pas +N
    *Tourne A gauche : decremente la valeur Encoder _Pos d'un pas -N
    Si appui sur Bouton Pendant la rotation :
    - A droite increment le pas de N up to maxi=4096
    - A gauche diminue de lpas N until mini=1
    progression exponentielle du pas 1,2,4,8,16,32,64,1...,.4096.
    Si intervalle de temps suiffsant, appui sur BP = Validation
    Affichage de la position sur le LCD et UART


    Projet complet en MPLAB IDE V8.92 et C18 v 3.45

    Liste des fichiers : _18F26K22_Encodeur_Rotatif.htm
    Zip du projet : 18F26K22_Encodeur_Rotatif.zip

    à voir : usage de RB int au lieu de RB0 seule, pour 2 Encoders simultannes...

    paulfjujo@free.fr


    Retour à l'index general