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
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 ...
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...