1. 程式人生 > >我要做一個蠕動泵的工作記錄(一),用arduino mega2560 自主程式設計以 reprap 12864 LCD 作顯示

我要做一個蠕動泵的工作記錄(一),用arduino mega2560 自主程式設計以 reprap 12864 LCD 作顯示

arduino mega2560 與  LCD12864(RepRapDiscount_Full_Graphic_Smart_Controller) 是3D印表機的配套使用的硬體,直接下載馬林韌體就可以使用了。

我想做一個多頭蠕動泵,arduino mega2560可以驅動六軸步進電機,加上  LCD12864是一套好選擇的硬體,

我是一個新手,現在叫萌新。但我必須全部自主程式設計。

我要讓mega2560 驅動 RepRap LCD12864 並顯示。

硬體是這樣的,見下圖1。


圖1

由於手快拆掉忘記了二者的連線,經過多次測試,二者的連線如下,EXP1對EXP1,見下圖2


圖2

問題不少。

1、百度認為用u8glib可以驅動顯示12864LCD,但需要對應12864LCD的晶片行進SETUP,百度沒有指出RepRap的Smart_Controller是用是什麼廠家的晶片。

2、幸好在GOOGLE的搜到的E文網站有老外指出了,這東西用這程式碼就可以驅動顯示了。  U8GLIB_ST7920_128X64_1X u8g(23, 17, 16);

別少看這句程式碼,翻了百度數頁也找不到。

首先用arduino 的管理庫下載U8glib的庫檔案,選擇U8glib 目前是Oliver的1.19.1版本,見下圖3


圖3

全部親測可執行的程式碼如下:

#include "U8glib.h"

U8GLIB_ST7920_128X64_1X u8g(23, 17, 16);

// draw函式用於包含實現顯示內容的語句
void draw() {
  // 設定字型
u8g.setFont(u8g_font_unifont);
  // 設定文字及其顯示位置
  u8g.drawStr( 0, 20, "Hello Arduino");
}

void setup() {
  // put your setup code here, to run once:
  // u8glib圖片迴圈結構:
  u8g.firstPage();  
  do {
    draw();
  } 
while( u8g.nextPage() );
  // 等待一定時間後重繪
  delay(500);
}

void loop() {
  // put your main code here, to run repeatedly:
  
}
顯示效果如下圖4:

圖4

使用u8glib在LCD12864讓程式設計教科書上的HELLO出現了。

第一步完成,用時一整晚。

下一步,我的蠕動泵控制介面,需要做一個選單。