Go Down

Topic: Aide pour raccorder un LCD 128*64 sur Mega2560 (Read 2 times) previous topic - next topic

kafifi

Nov 06, 2010, 09:50 pm Last Edit: Nov 06, 2010, 09:58 pm by kafifi Reason: 1
Bonsoir,
Je démarre sur l'Arduino Mega 2560 (IDE v0021), et j'aurais besoin de votre aide pour y raccorder un LCD graphique 128*64 (lib KS0108).

Quels ports doit-on utiliser sur la Mega2560 pour le bus datas, et le bus des commandes ?

Je n'arrive pas à transposer le schéma ci-dessous de la Duemilanove sur la Mega2560 :
http://www.mon-club-elec.fr/pmwiki_mon_club_elec/pmwiki.php?n=MAIN.ArduinoExpertLCDGraphiqueTest

Pourriez-vous m'indiquer les branchements à faire,
ainsi que la syntaxe des modifs à prévoir sur le fichier ks0108 xxx.h ?

D'avance merci.

[EDIT]
contenu de ks0108_Mega.h
Code: [Select]
*/
#ifndef      KS0108_CONFIG_H
#define KS0108_CONFIG_H

/*********************************************************/
/*  Configuration for assigning LCD bits to Arduino Pins */
/*********************************************************/
/* Arduino pins used for Commands - these must be within the range of 30-37
*/

#define CSEL1                        33            // CS1 Bit   // swap pin assignments with CSEL2 if left/right image is reversed
#define CSEL2                        34            // CS2 Bit
#define R_W                              35            // R/W Bit
#define D_I                              36            // D/I Bit
#define EN                              37            // EN Bit

#define LCD_CMD_PORT            PORTC            // Command Output Register for pins 30-37

/* This version uses pins 22-29 for LCD Data */

/*******************************************************/
/*     end of Arduino configuration                    */
/*******************************************************/


// these macros  map pins to ports using the defines above      
// the following should not be changed unless you really know what your doing
#define LCD_DATA_LOW_NBL   A   // port for low nibble:  A=pins 22-25  
#define LCD_DATA_HIGH_NBL  A   // port for high nibble: A=pins 26-29

// macros to fast write data to pins 30 - 37
#define fastWriteHigh(_pin) (PORTC |= 1   << ((7-(_pin -30)) & 0x07))
#define fastWriteLow(_pin)  (PORTC &= ~(1 << ((7-(_pin -30)) & 0x07)))

#endif

kafifi

Je viens de lire le readme.txt de la librairie KS0108, le wiring par défaut pour la MEGA est indiqué. Je pars là-dessus avec ma Mega2560, j'espère que c'est OK :

Code: [Select]
Building
--------------------------------------------------------------------------------

After the files are copied into your library directory, check the wiring
matches the pin configuration for your board. The defualt wiring is different
for each of the three chip types:
(see http://www.arduino.cc/playground/Code/GLCDks0108 for more info)

.....
Mega (ATmega1280)  uses configuration file: ks0108_Mega.h

CSEL1            33            // CS1 Bit   // swap with CSEL2 if left/right is reversed
CSEL2            34            // CS2 Bit
R_W            35            // R/W Bit
D_I            36            // D/I Bit
EN            37            // EN Bit

LCD data 0-7             22-29
.....

Polochon

#2
Nov 07, 2010, 12:16 pm Last Edit: Nov 07, 2010, 12:16 pm by Polochon Reason: 1
Salut,

Je te conseil d'utiliser la library GLCD Beta qui est plus récente, tu peux la télécharger ici : http://www.arduino.cc/playground/uploads/Code/GLCD_V3_beta.zip

Et dans la doc qui est ici : http://www.arduino.cc/playground/uploads/Code/GLCD_Documentation.pdf

Tu trouvera des schemas et des tableaux de montage.

Dis moi si ça marche, car moi j'ai eu des soucis, et mon écran ne marche toujours pas. Même avec la library ks0108.

kafifi

Merci polochon pour ces infos.
Je te tiens au courant.

PS : quel afficheur utilises-tu ? Moi j'ai acheté celui-ci :
http://www.sure-electronics.net/mcu,display/DE-LM106.pdf


Go Up