2017年3月27日 星期一

Makeblock電子模組手冊:2.2吋 TFT 液晶屏

簡介

Me TFT 液晶屏模組主要由一個 LCD 顯示屏組成,並通過串口(Serial)與主控板通訊,從而顯示大小不同、顏色不同的字體和圖形。本模組由 MCU 及暫存記憶晶片集成,暫存記憶晶片內儲存了漢字、字母及圖形,可以通過串行端口輕鬆使用。本模組的介面是藍/灰色色標,說明是雙數位介面,需要連接到主控板上藍色或灰色標識的介面。

技術規格

  • 作業電壓:5V
  • 支援觸控:不支援
  • 螢幕尺寸:2.2"
  • 螢幕解析度:320(寬) x 240(高)
  • 控制模式:串口連接(Serial Port)
  • 預設鮑率(Baud Rate):9600
  • 模組大小:78mm (L) x 48mm (W) x 18mm (H)

特點

  • 暫存記憶體容量:2M
  • 只佔2個 IO 口(串口腳)
  • 支援自動抽取式24點陣、32點陣、48點陣、64點陣漢字
  • 支持點、線、圓、方框、填充方框等繪圖
  • 支援 JPG 格式真彩圖形的顯示
  • 模組的白色區域是與金屬梁接觸的參考區域
  • 支援 4 個不同方向展示
  • 使用 RJ25 介面連線方便
  • 配有接頭支援絕大多數 Arduino 系列主控板

引腳定義

Me TFT 液晶屏模組端口有四個引腳,其功能如下:

序號引腳功能
1TX連接埠數據發送口
2RX連接埠數據接收口
3VCC接電源
4GND接地

連接模式

以RJ25連接

由於 Me TFT 液晶屏模組介面是藍/灰色色標,當使用 RJ25 介面時,需要連接到主控板上帶有藍色或灰色色標的連接埠。以 Makeblock Orion 為例,可以連接到3、4、5、6號連接埠,如下圖:

以杜邦線連接

當使用杜邦線連接到 Arduino Uno 主控板時,模組 TX、RX 引腳需要分別連接到 RX、TX 口上,如下圖所示:

原理解析

Me TFT 液晶屏模組含電壓轉換器、STM32 晶片和串列 Flash 2M 記憶體。相比其他顯示器,它只需要兩個串口進行通信,操作簡單,容易連接。可以通過專用的串口助手設置傳輸串列傳輸速率,並將想要顯示的圖片處理好後存入 Flash 中,在自己的專案中實現開機圖片顯示,圖片的切換等功能。除此之外,還可以支援背景圖與漢字疊加,圖形操作介面顯示。應用場景包含:萬年曆,電壓電流錶等。

編程指南

mBlock 程式設計

Me TFT 液晶屏可以通過下載擴充功能「Me TFT」來使用 mBlock 積木。


功能除了自選特別顏色外,大部份功能已經齊備:


Arduino 程式設計

如果使用 Arduino 程式設計,需要使用資源庫 Makeblock-Library-master 來控制TFT液晶屏。

Me TFT 液晶屏模組指令列表:

指令說明
MeSerial(uint8_tport);選擇連接埠
CLS(c);用c顏色清屏
SBC(c);設置背景色c,顯示漢字等時無點陣時填的顏色
SCC(c,n);設定自選顏色,其中c是顏色序號(0 ~ 63),
n是64K色的數值(0 ~ 65535)。
PS(x,y,c);在(x,y)的地方畫一個顏色c的點
PL(x1,y1,x2,y2,c);從(x1,y1)用顏色c畫一條直線到(x2,y2)
BOX(x1,y1,x2,y2,c);用顏色c畫一個方框,左上角(x1,y1)到右下角(x2,y2)
BOXF(x1,y1,x2,y2,c);用顏色c畫一個實心方框,左上角(x1,y1)到右下角(x2,y2)
PIC(x,y,n);在(x,y)處畫第n幅圖
CIR(x,y,r,c);在(x,y)處用顏色c畫一個半徑r的圓
(x,y)為圓心
DS12(x,y,'顯示內容字串',c);在(x,y)處用顏色c顯示一行12點陣字
DS16(x,y,'顯示內容字串',c);在(x,y)處用顏色c顯示一行16點陣字
DS24(x,y,'顯示內容字串',c);在(x,y)處用顏色c顯示一行24點陣字
DS32(x,y,'顯示內容字串',c);在(x,y)處用顏色c顯示一行32點陣字
DS48(x,y,'顯示內容字串',c);在(x,y)處用顏色c顯示一行48點陣字
DS64(x,y,'顯示內容字串',c);在(x,y)處用顏色c顯示一行64點陣字
DRn;設置螢幕顯示的方向;n為0~3,分別對應屏的4個方向,
可以使用此調整橫豎屏顯示;
DR0; 橫屏顯示
DR1; 豎屏顯示
DR2; 橫屏倒立
DR3; 豎屏倒立
注意:
  1. 指令內的逗號後不可加入空格,否則不能正常顯示。
  2. 語句中用的 x 和 y 是指螢幕的座標,其x的值由0 ~ 319,而y的值則由0 ~ 239。
    (0, 0) 是橫向左上角的位置。
  3. 語句中用的c是色彩索引號,顏色是由RGB構成的,系統支援的64K色其實是65536中顏色,使用16位元二進位(2位元組)組成,16位元,分成:R紅色5位;G綠色6位;B藍色5位元,就是俗稱RGB565模式;常規的電腦顏色描述是由3位元組組成,每位元組一色,比如紅色描述為:0xFF0000;綠色描述為0x00FF00;而藍色描述為0x0000FF,就是俗稱RGB888模式。



  4. Me TFT 液晶屏模組內置有18種(0 ~ 17)可供使用:

程式範例

#include "MeOrion.h" /* 本範例以Me Orion作主控板 */
#include <SoftwareSerial.h>

MeSerial TFTScreen(PORT_4); /* 本範例中以連接埠4連接Me TFT 液晶屏模組 */

void setup() {
    TFTScreen.begin(9600); /* 設定Me TFT 液晶屏模組的Buad Rate至9600 */
}

void loop() {
    TFTScreen.print("CLS(0);"); /*先用黑色清屏*/
    TFTScreen.print("DR0;");    /* 設置橫屏顯示 */
    TFTScreen.println("DS64(64,104,'Hello world!',4);"); /* 注意每頁最後一行須用println指令 */
    delay(1000);

    /* 可以多頁顯示,但須記得每頁清屏 */
}

其他

RGB888 轉換成 RGB565

int rgb888_to_rgb565(int r8, int g8, int b8) {
    int r5 = (r8 * 249 + 1014) >> 11;
    int g6 = (g8 * 253 + 505) >> 10;
    int b5 = (b8 * 249 + 1014) >> 11;
    return r5 * 2048 + g6 * 32 + b5; /* 回傳 0 ~ 65535 之間的數,可直接用於〝SCC(c,n);〞的指令內 */
}

2 則留言:

  1. 我買的時候是港幣100至200元,實際情況要與各地代理查詢了。

    回覆刪除