主板是前面讲到的 mega2560 + Ramps1.4,刷 Marlin 固件。
常用到 LCD 有两款,分别是 RepRapDiscount Full Graphic Smart Controller 和 RepRapDiscount Smart Controller。配置略有不同,一定要分清楚自己用的是哪款,看下图。以下配置和测试均都是在前者的基础上。
RepRapDiscount Full Graphic Smart Controller
RepRapDiscount Smart Controller
首先 Arduino IDE 安装 U8glib。在 IDE 内搜索安装或者下载 zip 安装都可以。
修改 Marlin 配置 Configuration.h
1)#define LCD_LANGUAGE en
显示的语言,简体中文用 zh_CN
2)#define SDSUPPORT
启用使用带 SD 读卡器
3)#define SPEAKER
开启蜂鸣器
4)#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER
对应的 LCD 是 RepRapDiscount Full Graphic Smart Controller
如果使用的固件是 2.0 以上,单设置上面的选项可能有花屏、乱码的现象。需要在下面添加几行:
#define ST7920_DELAY_1 DELAY_NS(0)
#define ST7920_DELAY_2 DELAY_NS(250)
#define ST7920_DELAY_3 DELAY_NS(0)
如果 250 还不行,依次递增 50,一直到没有乱码。感谢网友 supercaby 的分享 《整个3D打印机真不难!45花屏解决方法》。
接线问题
这个问题可能困扰很多同学,笔者也是在这上面花了不少时间。原因是国内产商的劣质主板可能会把接线柱做反了,导致原本简单的问题变得扑朔迷离。如果你仔细看Ramps1.4 扩展板和 LCD12864,上面是标有 EXP1 和 EXP2 的,对应着接就可以了。但就是不亮,或者只看到蓝色的背光而没有文字怎么办呢?这么办:尝试把 LCD12864 背面的塑料接线柱扣下来(对,是可以扣下来的,绿色框框出来的部分),然后反个面再按回去,说不准就正常了。
测试 LCD12864
也可以单独测试 LCD,排除硬件的故障。只需要用到 mega2560 和 LCD12864。接线方法参照下图(官网 https://reprap.org/wiki/RepRapDiscount_Full_Graphic_Smart_Controller)。只需要接 5 条线,分别是 D16, D17, D23, GND 和 5v VCC。
第二步 从U8glib 的 examples 中找到 GraphicsTest,用 Arduino IDE 打开,在大概 140 行的位置添加一行
U8GLIB_ST7920_128X64_1X u8g(23, 17, 16); // SPI Com: SCK = en = 23, MOSI = rw = 17, CS = di = 16
保存并烧写到 mega2560。正常的话,LCD 循环展示一些测试图形。
关注我加入群讨论: