使ったLCDは、REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER(安いです)
Ben_Kとの接続のためには、コネクタのアダプターを別途作成する必要があります。
それ用に、ピンを開けておいたので、割と簡単にできると思います。
以下のpins.hを参考に、作ってください。
(ご要望が多ければ、専用のボードを開発しますので、ご連絡ください。)
もちろんファームの変更も必要です。
Marlin Firmware の configuration.h pins.h の2つのファイルを変更します。
**** configuration.h *****
まず、configuration.h は 500行目付近にある
//#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
この行の頭の"//"を削除して、有効にします。
(もちろん他のLCDをすでに使っていた場合は、その該当行はコメントにしてください。)
***** pins.h *****
こちらは、Ben_K のPin Assignments を以下を参考に、変更します。
/****************************************************************
* BEN_K Pin Assignments
******************************************************************/
#if MB(BEN_K)
#define KNOWN_BOARD
#ifndef __AVR_ATmega2560__
#error Oops! Make sure you have 'Ben_K2560' selected from the 'Tools -> Boards' menu.
#endif
#define LARGE_FLASH true
#define X_STEP_PIN 37
#define X_DIR_PIN 49
#define X_ENABLE_PIN 29
#define Y_STEP_PIN 36
#define Y_DIR_PIN 48
#define Y_ENABLE_PIN 28
#define Z_STEP_PIN 32
#define Z_DIR_PIN 47
#define Z_ENABLE_PIN 27
// Brn_K pin#
#define X_MIN_PIN 81
#define X_MAX_PIN -1 //82
#define Y_MIN_PIN 80
#define Y_MAX_PIN -1 //83
#define Z_MIN_PIN 79
#define Z_MAX_PIN -1 //38 Use for Servo
#define HEATER_BED_PIN 45
#define TEMP_BED_PIN 13 // Therm1
#define HEATER_0_PIN 44
#define TEMP_0_PIN 12 // Therm0
#define HEATER_1_PIN -1
#define TEMP_1_PIN 14 // Therm3
#ifdef BARICUDA
#define HEATER_2_PIN -1
#else
#define HEATER_2_PIN -1
#endif
#define TEMP_2_PIN 15 // Therm3
#define E0_STEP_PIN 34
#define E0_DIR_PIN 43
#define E0_ENABLE_PIN 26
#define E1_STEP_PIN 33
#define E1_DIR_PIN 42
#define E1_ENABLE_PIN 25
#define SDPOWER -1
#define SDSS -1
#define LED_PIN 13
#define FAN_PIN 46
#define PS_ON_PIN -1
#define KILL_PIN -1 //80 with Smart Controller LCD
#define SUICIDE_PIN -1 //PIN that has to be turned on right after start, to keep power flowing.
#ifdef NUM_SERVOS
#define SERVO0_PIN 38 // Z_MAX_PIN
#endif
#ifdef ULTRA_LCD
#define KILL_PIN 55
#ifdef NEWPANEL
//arduino pin which triggers an piezzo beeper
#define BEEPER 56 // Beeper on AUX-4
#define LCD_PINS_RS 60
#define LCD_PINS_ENABLE 61
#define LCD_PINS_D4 62
#define LCD_PINS_D5 63
#define LCD_PINS_D6 64
#define LCD_PINS_D7 65
//buttons are directly attached using AUX-2
#define BTN_EN1 57
#define BTN_EN2 58
#define BTN_ENC 59 //the click
#define BLEN_C 2
#define BLEN_B 1
#define BLEN_A 0
#define SDCARDDETECT 54
#define SDSS 53
//encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
#else //old style panel with shift register
//arduino pin witch triggers an piezzo beeper
#define BEEPER 33 No Beeper added
//buttons are attached to a shift register
// Not wired this yet
// #define SHIFT_CLK 38
// #define SHIFT_LD 42
// #define SHIFT_OUT 40
// #define SHIFT_EN 17
#define LCD_PINS_RS 75
#define LCD_PINS_ENABLE 17
#define LCD_PINS_D4 23
#define LCD_PINS_D5 25
#define LCD_PINS_D6 27
#define LCD_PINS_D7 29
//encoder rotation values
#define encrot0 0
#define encrot1 2
#define encrot2 3
#define encrot3 1
//bits in the shift register that carry the buttons for:
// left up center down right red
#define BL_LE 7
#define BL_UP 6
#define BL_MI 5
#define BL_DW 4
#define BL_RI 3
#define BL_ST 2
#define BLEN_B 1
#define BLEN_A 0
#endif
#endif //ULTRA_LCD
#ifndef SDSUPPORT
// these pins are defined in the SD library if building with SD support
#define SCK_PIN 52
#define MISO_PIN 50
#define MOSI_PIN 51
#endif
#endif // BEN_K
**************************
以上です。
チャレンジしてみたい方、お気軽にご連絡ください。