[教學] 經驗分享 MKS OLED 0.96 128x64 FULL GRAPHICS CONTROLLER

本帖最後由 jamesting 於 2017-3-4 16:11 編輯

小弟上年唔小心中伏訂左 idbox! ,一共55期,到依家差唔多完
e92c3504750ddf487ac972525561ffe4.png
2017-3-4 03:29


跟住我又手癢,係淘宝訂左個MKS OLED返黎
TB1KYj7IFXXXXa4apXXXXXXXXXX_!!0-item_pic.jpg_145x145xz.jpg
2017-3-4 03:30

PS: 岩岩寫文先發覺,原來我買果時係撳左 1.3",最後佢寄黎既係 0.96"

點之跟佢果個教學,玩足我兩晚,都係整唔著,我開始懷疑件嘢係壞
未命名.gif
2017-3-4 03:33



上網又唔多資料,最後都係要自己解決問題,依家將我既解決方法貼出黎,希望可以幫到其他人


首先,我用既係  Marlin 1.1.0-RC8 (6DEC 2016),同店主教學既版本唔同

  • 首先 Libraries 入面要有 U8glib
    ====================
  • 修改Configuration.h
    1. //
    2. // This option reverses the encoder direction everywhere
    3. //
    4. //  Set this option if CLOCKWISE causes values to DECREASE
    5. //
    6. //#define REVERSE_ENCODER_DIRECTION
    複製代碼
    在上段 code 下面增加以下部分
    1. /*---------------MKS OLED patch_1-----------------------*/
    2. // MKS  OLED 1.3''  128x64 FULL GRAPHICS CONTROLLER
    3. #define MKS_OLED13_128x64_FULL_GRAPHICS_CONTROLLER

    4. #if defined (MKS_OLED13_128x64_FULL_GRAPHICS_CONTROLLER)
    5. #define DOGLCD
    6. #define U8GLIB_SH1106
    7. #define REPRAP_DISCOUNT_SMART_CONTROLLER
    8. #define NEWPANEL
    9. #endif
    10. /*---------------MKS OLED patch_1-----------------------*/
    複製代碼
    ====================
  • 修改ultralcd_impl_DOGM.h
    1. // LCD selection
    2. #if ENABLED(REPRAPWORLD_GRAPHICAL_LCD)
    3.   U8GLIB_ST7920_128X64_4X u8g(LCD_PINS_RS); // 2 stripes
    4.   // U8GLIB_ST7920_128X64 u8g(LCD_PINS_RS); // 8 stripes
    5. #elif ENABLED(U8GLIB_ST7920)
    6.   //U8GLIB_ST7920_128X64_4X u8g(LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS); // Original u8glib device. 2 stripes
    7.                                                                             // No 4 stripe device available from u8glib.
    8.   //U8GLIB_ST7920_128X64_1X u8g(LCD_PINS_D4, LCD_PINS_ENABLE, LCD_PINS_RS);    // Original u8glib device. 8 stripes
    9.   U8GLIB_ST7920_128X64_RRD u8g(0); // Number of stripes can be adjusted in ultralcd_st7920_u8glib_rrd.h with PAGE_HEIGHT
    複製代碼
    在上段 code 下面增加以下部分
    1. /*---------------MKS OLED patch_2-----------------------*/
    2. #elif defined(U8GLIB_SH1106)
    3. U8GLIB_SH1106_128X64 u8g(23, 17, 16, 25); // SW SPI Com: SCK = 23, MOSI = 17, CS = 16, A0 = 25
    4. /*---------------MKS OLED patch_2-----------------------*/
    複製代碼
    ====================
  • 修改Marlin_main.cpp
    1. void setup() {

    2.   #ifdef DISABLE_JTAG
    3.     // Disable JTAG on AT90USB chips to free up pins for IO
    4.     MCUCR = 0x80;
    5.     MCUCR = 0x80;
    6.   #endif

    7.   #if ENABLED(FILAMENT_RUNOUT_SENSOR)
    8.     setup_filrunoutpin();
    9.   #endif

    10.   setup_killpin();

    11.   setup_powerhold();

    12.   #if HAS_STEPPER_RESET
    13.     disableStepperDrivers();
    14.   #endif

    15.   MYSERIAL.begin(BAUDRATE);
    16.   SERIAL_PROTOCOLLNPGM("start");
    17.   SERIAL_ECHO_START;
    複製代碼
    在上段 code 下面增加以下部分
    1. /*---------------MKS OLED patch_3-----------------------*/
    2. #if defined (MKS_OLED13_128x64_FULL_GRAPHICS_CONTROLLER)
    3.   pinMode(LCD_PINS_DC, OUTPUT);   
    4.   pinMode(LCD_PINS_RST, OUTPUT);  
    5.   digitalWrite(LCD_PINS_RST  , LOW);
    6.   delay(1000);
    7.   digitalWrite(LCD_PINS_RST  , HIGH);
    8. #endif
    9. /*---------------MKS OLED patch_3-----------------------*/
    複製代碼
    ====================
  • 修改pins.h
    1. #define SENSITIVE_PINS { 0, 1, \
    2.     X_STEP_PIN, X_DIR_PIN, X_ENABLE_PIN, X_MIN_PIN, X_MAX_PIN, \
    3.     Y_STEP_PIN, Y_DIR_PIN, Y_ENABLE_PIN, Y_MIN_PIN, Y_MAX_PIN, \
    4.     Z_STEP_PIN, Z_DIR_PIN, Z_ENABLE_PIN, Z_MIN_PIN, Z_MAX_PIN, Z_MIN_PROBE_PIN, \
    5.     PS_ON_PIN, HEATER_BED_PIN, FAN_PIN, FAN1_PIN, FAN2_PIN, CONTROLLERFAN_PIN, \
    6.     _E0_PINS _E1_PINS _E2_PINS _E3_PINS _E4_PINS BED_PINS \
    7.     _H0_PINS _H1_PINS _H2_PINS _H3_PINS _H4_PINS \
    8.     _X2_PINS _Y2_PINS _Z2_PINS \
    9.     X_MS1_PIN, X_MS2_PIN, Y_MS1_PIN, Y_MS2_PIN, Z_MS1_PIN, Z_MS2_PIN \
    10.   }

    11. #define HAS_DIGIPOTSS (PIN_EXISTS(DIGIPOTSS))
    複製代碼
    在上段 code 下面增加以下部分
    1. /*---------------MKS OLED patch_4-----------------------*/
    2. #if defined (MKS_OLED13_128x64_FULL_GRAPHICS_CONTROLLER)

    3. #ifdef LCD_PINS_D5
    4. #undef LCD_PINS_D5
    5. #define LCD_PINS_D5 -1
    6. #endif
    7. #ifdef LCD_PINS_D6
    8. #undef LCD_PINS_D6
    9. #define LCD_PINS_D6 -1
    10. #endif
    11. #define LCD_PINS_RST  27
    12. #define LCD_PINS_DC   25
    13. #endif
    14. /*---------------MKS OLED patch_4-----------------------*/
    複製代碼
    WhatsApp Image 2017-03-04 at 2.59.40 PM.jpg
    2017-3-4 16:10


    WhatsApp Image 2017-03-04 at 2.59.41 PM.jpg
    2017-3-4 16:10

    === 完 ===

回復 1 #jamesting

RC8 改了很多,但TB的師兄們都不會 upstream 去最新的。。。


via HKEPC Reader for Android

TOP

小弟上年唔小心中伏訂左 idbox! ,一共55期,到依家差唔多完


跟住我又手癢,係淘宝訂左個MKS OLED返黎

P ...
jamesting 發表於 2017-3-4 04:05


Ibox可以印野未呢?

TOP

回覆 3# Offer

仲有十期左右,依家仲差Z軸同出料結構

TOP

回覆 2# fred2088

最慘我用佢提供果個,編譯時出Err.,唔係我都唔丈玩足兩晚

TOP

回覆 4# jamesting

十星期定十個月 ?!

TOP

回覆 5# jamesting


    你部機 都是用 Marlin  ? 跟  Offer 大神 買過部好D ...

TOP

回覆 6# fred2088

十星期
55期周刊,1個月多啲完事
如果係月刊,我應該唔會中毒

TOP

回覆 7# fred2088

新手,未扒晒文,原本用咩唔知,因為跟黎已經寫好
係我自己加LCD ,所以就換過塊 arduino (主要唔想攪原廠固件)
跟手上網搵,日本果邊多數都係 Marlin ,,所以………

TOP

回覆 8# jamesting


    80元一期 ?

TOP

相關文章