3Dプリンター、Anet A8のLCDのボタンが壊れてしまったので
どうせならとグラフィカルな12864LCDを導入した。
ファン速度やフィードレートなども表示されるのでなかなかよろしい。
何より操作性の向上は素晴らしい。
標準の5ボタンLCD(ANET_KEYPAD_LCD)は軸移動でカチカチ面倒だったが
こちらはダイヤルくるくる&クリックと非常に快適。
一番下はリセットボタン。5ボタンだとボード上のボタンでしかリセットできないので
これはうれしい。
Aliで購入できる12864LCDはRamps1.4用の他にAnetで出してるもの(A6用)が
あるが、Ramps用はフラットケーブルのピン入れ替えが必要で面倒。
なのでポンつけできるAnetの"12864 Smart LCD Display"を購入。
しかしZ軸の近接センサーに使っていたBLtouch(3Dtouch)と併用するのに
ちょっとした変更が必要だった。
いろいろ調べたけど見つからず、試行錯誤してなんとかなったので
メモしておく。
まずは普通にLCDだけ12864に交換する場合。
標準のLCDを外したら、LCD Smart Displayを接続。
付属のフラットケーブルを使ってAnetボードのLCDとJ3コネクタに挿すだけ。
(標準はLCDのコネクタしか使わない)
次にファーム。
私が導入してるSkynet2.3.2(Marlinベースのカスタムファーム)の場合
ArduinoIDEでファームのスケッチを開いて
configration.h
1109行目"LCD Type"
"ANET_FULL_GRAPHICS_LCD"を有効にする
(//#define~の"//"を削除する)
そしてほかをコメントアウト。("//"を行頭につける)
それだけ。
あとはスケッチをコンパイルしてボードに送って再起動すればできあがり。
こんなふうにカナ表示にしたい場合は
#define LCD_LANGUAGE を ”kana” に
#define DISPLAY_CHARSET_HD44780 を”JAPANESE” に
それぞれ変更すればカナ表示。
英語でも意味はわかるけどそこはやっぱり純日本人
日本語だと脳より先に身体が理解できるw
ってことでここから本題。
そう BLtouchとの共存。
BLtouchの導入は割愛します。Thingiverseにもありますし
自分の環境に合わせた位置調整が面倒なだけで
導入は割と簡単だしね
もともとBLtouchを使っているならLCDコネクタのNo.3=PIN27が
空きなので、それをプローブ動作用のSERVO0に割り当てているはず。
でもLCD Smart DisplayのほうはPIN27はLCDで使ってるので
競合して文字化けしてしまう。
なのでLCD Smart Displayでの空き、No.7=PIN29をプローブ動作用に割り当てる。
まず
configration.h
562行目
// The BLTouch probe emulates a servo probe.
// The default connector is SERVO 0. Set Z_ENDSTOP_SERVO_NR below to override.
#define BLTOUCH
#define SERVO0_PIN 27
これを
#define SERVO0_PIN 29
に変更。これでプローブ上下はPIN29がスイッチになる。
次に
pins_ANET_10.h
(ArduinoIDE画面 タブ右端のドロップダウンリストから選択)
87行目
#elif ENABLED(ANET_FULL_GRAPHICS_LCD)
以下のピンアサインに
#define SERVO0_PIN 29 // free for BLTouch/3D-Touch
を追加し、PIN 29をプローブ動作信号に割り当てる。
終わったらボードに書き込んでソフト側は終了。
次に配線を変更。
これまではLCD10ピンコネクタのPIN27=No.3にBLtouchのオレンジ線を
つないでいたが、これをPIN29=No.7につなぎ替える。
ピン番号は右下から1-2-3の順番に並んでいるので
今つながってる3番の2つ上がNo.7になる。
これでソフト・ハードとも準備完了。
LCD Smart Displayのリセットボタンを押すと再起動
カッチン・カッチンとBLtouchの初期動作があればOK。
動かない場合はどっか間違ってます~
写真のようにスペーサを作って取付。