0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

3D printerのLCDを交換する方法

Last updated at Posted at 2021-05-21

Anet A8 3D printerのLCDシールドを変更する方法です。

LCDシールド12864を導入するための手順です。
LCDシールドを大きくできます。

用意するもの

● 12864 LCD シールドと10pフラットケーブルとブレッドボードとジャンパ
aliexpressで12864 rampsで検索すれば10ドル前後で手に入ります。

● marlinファームウェア Marlin-bugfix-2.0.x

● Visual Studio Code + Platform IO

物理的な配線をワイヤリングします。

ピンアサインはmarlin 2.0のファームのヘッダファイルpins_ANET10.h中に書かれてあります。


/**
 * ====================================================================
 * ===================== LCD PINOUTS ==================================
 * ====================================================================
 *
 *   Anet V1.0 controller           | ZONESTAR_LCD      | ANET_FULL_      | RepRapDiscount Full      | Thingiverse RepRap wiring
 *   physical   logical   alt       |                   | GRAPHICS_LCD    | Graphics Display Wiring  | https://www.thingiverse
 *     pin        pin     functions |                   |                 |                          | .com/thing:2103748
 *------------------------------------------------------------------------------------------------------------------------
 *   ANET-J3.1    8 ***             | N/A               | J3_TX ***       |                          |
 *   ANET-J3.2    9 ***             | N/A               | J3_RX ***       |                          |
 *   ANET-J3.3    6       MISO      | N/A               | MISO ***        | EXP2.1   MISO            | EXP2.1   MISO
 *   ANET-J3.4    +5V               | N/A               | +5V             |                          |
 *   ANET-J3.5    7       SCK       | N/A               | SCK ***         | EXP2.2   SCK             | EXP2.2   SCK
 *   ANET-J3.6    5       MOSI      | N/A               | MOSI ***        | EXP2.6   MOSI            | EXP2.6   MOSI
 *   ANET-J3.7    !RESET            | N/A               | button          | EXP2.8   panel button    | EXP2.8   panel button
 *   ANET-J3.8    GND               | N/A               | GND             | EXP2.9   GND             | EXP2.9   GND
 *   ANET-J3.9    4       Don't use | N/A               | N/C             |                          |
 *   ANET-J3.10   +3.3V             | N/A               | +3.3V ***       |                          |
 *                                  |                   |                 |                          |
 *                                  |                   |                 |                          |
 *   ANET-LCD.1   GND               | GND               | GND             | EXP1.9   GND             | EXP1.9   GND
 *   ANET-LCD.2   +5V               | +5V               | +5V             | EXP1.10  +5V             | EXP1.10  +5V
 *   ANET-LCD.3   27      A4        | N/C *             | LCD_PINS_RS     | EXP1.4   LCD_PINS_RS     | EXP2.4   SDSS or N/C *
 *   ANET-LCD.4   10                | LCD_PINS_D4       | BTN_EN2         | EXP2.3   BTN_EN2         | EXP2.3   BTN_EN2
 *   ANET-LCD.5   28      A3        | LCD_PINS_RS       | LCD_PINS_ENABLE | EXP1.3   LCD_PINS_ENABLE | EXP1.1   BEEPER_PIN
 *   ANET-LCD.6   11                | LCD_PINS_D5       | BTN_EN1         | EXP2.5   BTN_EN1         | EXP2.5   BTN_EN1
 *   ANET-LCD.7   29      A2        | LCD_PINS_ENABLE   | N/C *           | EXP2.4   SDSS or N/C *   | EXP1.3   LCD_PINS_ENABLE
 *   ANET-LCD.8   16      SCL       | LCD_PINS_D6       | BTN_ENC         | EXP1.2   BTN_ENC         | EXP1.2   BTN_ENC
 *   ANET-LCD.9   30      A1        | ADC_KEYPAD_PIN ** | LCD_PINS_D4     | EXP1.5   LCD_PINS_D4     | EXP1.4   LCD_PINS_RS
 *   ANET-LCD.10  17      SDA       | LCD_PINS_D7       | BEEPER_PIN      | EXP1.1   BEEPER_PIN      | EXP1.5   LCD_PINS_D4
 *
 *                 N/C * - if not connected to the LCD can be used for BLTouch servo input
 *                 ** - analog pin -WITHOUT a pullup
 *                 *** - only connected to something if the Bluetooth module is populated
 */

RepRapDiscount Full Graphics Display Wiringの欄通りに結線します。
ANET側のLCDとJ3端子をLCD側のEXP1とEXP2端子にのピンアサインに合わせれば動きます。

IMG_1598.JPG

ファームを書き換えVisusl Studio Code + PlatformIOでビルドします。

Configuration.hファイルを書き換えます。

以下の#define ZONESTAR_LCDをコメントアウトします。

# define ZONESTAR_LCD

以下の#define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLERをコメントアウトを外します。

# define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER

ファームをビルドしボードに転送すれば完了です。

ライブラリのincludeがないエラーが出る場合

pio lib install "arduino-libraries/LiquidCrystal"

LiquidCrystalはarduinoのLCD出力の標準ライブラリでデフォルトでは存在しない仕様になってるみたいです。
pio libを実行するとライブラリフォルダの.pio\libdeps\melziフォルダが更新されます。
このフォルダで確認できます。

LCDシールドのサイズ

LCDの解像度は以下の通りです。
デフォルト: 2004 20x4文字
変更後: 12864 128x64ドット

できればフルカラー化にもしたいな。
ファームのソースが一式あるのでやればできそう。

3D printerのマザーボードも中身はarduinoなので簡単なゲーム機なんかにも改造できそうな気もします。
arduinoはプログラミングとハードウェアを学習するのに最適な教材だと思います。
よく考えられてます。
太古のマイコンを改造して使うような感じになると思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?