[Seeed Studio rephone開箱文] RGB 觸碰 LCD 測試

最近拿到了很熱門的 RePhone Kit Create智慧型手機開發套件,來看看簡單開箱文吧。盒裝有Seeed一貫的綠黃色系,很清爽 。根據 Seeed 的說明,RePhone 可以連接的周邊包含旗下 Xadow 系列的部分周邊,包含 Xadow GPS, Xadow duino , Xadow basic sensors(光/溫度/濕度), Xadow NFCXadow 5×7 LED matrix 等。

2015-12-22 13.56.41

打開盒裝之後有一本黃色的說明書

2015-12-22 13.56.58

以及兩個厚紙板外殼,您可以把電子元件包成一個大約是手掌一半大小的完整裝置

2015-12-22 13.57.31

電子元件就這些:

  • Xadow GSM+BLE * 1,由此連到電腦來下載程式
  • Xadow Audio * 1
  • Xadow 1.54″ 彩色觸碰螢幕 * 1
  • Xadow GSM 分接板 * 1
  • FPC 35 PIN 排線 * 5
  • 520 mAh 電池 * 1
  • 外殼, 螺絲等

2015-12-22 13.57.47

最核心的 GSM 模組採用的是台灣聯發科技公司的 MT2502A 晶片,應該也是因為這個原因,Rephone 在安裝好驅動程式之後一樣會被系統辨識為 MTK USB Debug portMTK USB modem port 兩個 COM port。

2015-12-22 13.59.54

反面則可看到電池接頭(右上角白色)、

2015-12-22 14.02.21

比較特別的是必須要接上電池,再用 USB 接上電腦。否則會認不到。目前還沒有測試 520 mAh 到底可以用多久。

2015-12-22 14.29.29

延伸閱讀

Seeed Studio 募資中:開放原始碼手機 rephone,募資 12美金起

簡單把玩兩個範例,請由此下載 Seeed 提供的 rephone Arduino IDE,裡面已經有一些範例,可以直接上手

顯示字串與控制背景顏色

在指定行列位置顯示文字,並控制文字顏色與文字背景顏色。也可以繪製指定顏色的色塊

由下圖可以看到這是 rephone kit create 的最基礎配置:GSM + 觸碰螢幕 + 聲音模組,這樣就是一支電話啦!為了節省空間,GSM module 與周邊的連接方式都使用排線,不過卡楯設計相當不錯,不用擔心滑脫。

2015-12-22 15.14.32

程式碼如下

// LCD display test


#include <LDisplay.h>

unsigned long sysData = 0;

void setup()
{
Serial1.begin(115200);
Serial1.print("LCD display test.\r\n");
Lcd.init();
Lcd.font_init();
Lcd.back_light_level(50);
Lcd.screen_set(0xffd9ec);
Lcd.draw_font(0, 0, "C", 0xffff00, 0);
for (unsigned char j = 0; j < 20; j++) {
for (unsigned char i = 0; i < 240; i++) {
Lcd.draw_point(i, j + 40, 0xff0000);
Lcd.draw_line(0, 200, 239, 200, 0x00ff00);
Lcd.draw_line(200, 0, 200, 239, 0x00ff00);
Lcd.draw_fill_rectangle(100, 100, 130, 130, 0x0000f0);
Lcd.draw_fill_rectangle(120, 120, 160, 160, 0x0000f0);
Lcd.draw_updata();
Lcd.draw_font(10, 0, "AVEDU rephone hello~", 0xffff00, 0);
}
}
}

void loop()
{
Lcd.draw_number(0, 20, sysData++, 0xffff00, 0);
Serial1.print("ABC.\r\n");
delay(1000);
}

觸碰範例

可以辨識點擊(click)或觸碰(drag),兩者差別在於手指接觸螢幕之後是否有移動。可將觸碰的XY座標顯示於螢幕上

2015-12-22 15.17.29

程式碼如下

#include <LGTouch.h>

#include <LDisplay.h>

unsigned char eintFlag = 0;
char EVENT = 0;
int X = 0;
int Y = 0;

void setup()
{
Tp.Init();
Lcd.init();
Lcd.font_init();
Lcd.back_light_level(50);
Lcd.screen_set(0xffff00);
Lcd.draw_font(0, 0, "Touch test", 0xffff00, 0);
}

void loop()
{
if (Tp.Event_available())
{
Tp.Get_event_xy(&EVENT, &X, &Y);
Lcd.draw_font(0, 20, "event is ", 0xffff00, 0);
Lcd.draw_number(80, 20, EVENT, 0xffff00, 0);
Lcd.draw_font(0, 40, "x is ", 0xffff00, 0);
Lcd.draw_number(40, 40, X, 0xffff00, 0);
Lcd.draw_font(0, 60, "y is ", 0xffff00, 0);
Lcd.draw_number(40, 60, Y, 0xffff00, 0);
}
delay(50);
}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *