Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
SUN7 Shield คมอการใชงาน
v1.0
ประวตการเปลยนเวอรชน
เวอรชน วนท การเปลยนแปลง 1.0 11 มกราคม 2013 เวอรชนแรก
สารบญ
1. เกยวกบ SUN7 Shield ................................................................................................................................... 5
2. คณสมบต ..................................................................................................................................................... 6
3. สวนประกอบ ................................................................................................................................................. 7
3.1 Layout .................................................................................................................................................. 7
3.2 ค าอธบายเกยวกบ Connector .................................................................................................................. 8
3.2.1 แหลงจายไฟ .................................................................................................................................... 8
3.2.2 UART ระดบแรงดน LVTTL (สามารถใชงานกบระดบแรงดน 5V ได) .......................................................... 8
4. การสอสารกบ Arduino .................................................................................................................................. 9
4.1 วธการเชอมตอ ........................................................................................................................................ 9
4.2 การตงคาพอรทอนกรม ............................................................................................................................ 10
4.3 รปแบบการสงขอมล ............................................................................................................................... 10
5. รายละเอยดชดค าสงและขอความ ................................................................................................................... 11
5.1 ชดค าสงและขอความเกยวกบการแสดงผลทางจอ LCD ................................................................................. 11
5.1.1 ขอความชวงเรมตน ......................................................................................................................... 11
5.1.3 หนาจอและ Popup Window .......................................................................................................... 11
5.1.4 ภาษา ........................................................................................................................................... 12
5.1.5 เสยง (เสยงทใชเปดพรอมการเปลยนหนาจอ) ....................................................................................... 12
5.1.6 ป มกด ........................................................................................................................................... 13
5.1.7 รปภาพ ......................................................................................................................................... 14
5.1.8 ปายขอความ .................................................................................................................................. 15
5.1.9 กลองขอความ ................................................................................................................................ 15
5.1.10 ตาราง ......................................................................................................................................... 16
5.1.11 Percent Bar ............................................................................................................................... 17
5.2 ชดค าสงและขอความอนๆ ....................................................................................................................... 18
5.2.1 การสะทอนขอมลจากพอรทอนกรม (Echo) ......................................................................................... 18
5.2.2 Real Time Clock (RTC)................................................................................................................. 19
5.2.3 เสยง (เสยงทใชเปดตางหาก) ............................................................................................................ 19
6. การอพเกรด Firmware ................................................................................................................................ 21
7. Dimension ............................................................................................................................................... 23
1. เกยวกบ SUN7 Shield SUN7 Shield ถกออกแบบมาส าหรบเปนตวกลางเชอมตอบอรด Arduino เขากบจอ LCD แบบสมผส
ขนาด 4.3” หรอ 7” เพอสรางแอพพลเคชนแบบกราฟฟกทควบคมจาก Arduino ทงหมดนท างานดวย library GUI Engine บน SUN7 Shield (เปน library ตวเดยวกนกบทใชบนบอรด Mini-SUN7) และซอฟทแวร SUN7 Studio จาก ThaiEasyElec.com ท าใหผใชสามารถออกแบบและปรบแตงหนาจอบนคอมพวเตอรเพอสราง script folder ซงจะประกอบไปดวยไฟล script, ไฟล รปภาพ และเสยง แลวน ามาใสใน SD card เพอให SUN7 Shield น าไปสรางกราฟฟกบนจอ LCD จากนนการตอบสนองจากการสมผส จะถกสงไปยง Arduino รวมถงวตถตางๆบนหนาจอจะถกควบคมไดจาก Arduino ผานทางพอรตอนกรม นอกจากน บน SUN7 Shield ยงม IC ถอดรหส MP3, RTC และผใชยงสามารถอพเกรด firmware ผานทาง SD card ไดอกดวย เมอ SUN7 Shield เรมท างาน จะอาน script จาก SD card ทตดตงไว รวมถงอานไฟลรปภาพมาเกบไวใน SDRAM บนบอรด เสรจแลวจะสงขอความไปยง Arduino เพอใหท าการก าหนดคาเรมตนตามความตองการดวยชดค าสงตางๆ (เชน ท าการเปลยนรปภาพบางรป, ปดหรอเปดการใชงานปมบางปม) แลวจงเรมการแสดงผลบนหนาจอ จากนนในขณะทระบบท างาน เมอมการสมผสทวตถตางๆบนหนาจอ SUN7 Shield จะสงขอความไป ยง Arduino เพอให Arduino สงการท างานอนๆตอไป
2. คณสมบต
- ใช Microcontroller ตระกล ARM Cortex-M3 จาก NXP เบอร LPC1788 - ใช crystal ก าเนดสญญาณนาฬกา 12 MHz - ใชหนวยความจ าแบบ SDRAM 32-bit ขนาด 64 MB โดยใช IC เบอร EM63A165TS-5G จาก EtronTech จ านวน 2 ตว - ม connector เชอมตอกบจอ wide screen 7” TFT LCD ความละเอยด 800x480 pixels โดยตรง - ม connector เชอมตอกบ touch screen panel แบบ 4-wire resistive - ใช IC ควบคม touch screen เบอร STMPE610 - รองรบการด Micro SD ดวยการเชอมตอแบบ SPI สามารถใชกบการดแบบ SDHC (high capacity type) - ใช EEPROM ภายใน LPC1788 ขนาด 4KB - ควบคมผาน UART ดวยระดบแรงดน LVTTL (3.3V) และสามารถใชกบระดบแรงดน 5V ได (5V tolerant) - ม IC ถอดรหส MP3 ในตว โดยใช IC VS1011E และม headphone jack ขนาด 3.5 mm - ใชแหลงจายไฟ DC 5V
3. สวนประกอบ
3.1 Layout
ดานบน
ดานลาง
Reset Switch
External Battery for RTC
Jumper for ISP
Headphone Jack (3.5mm)
DC Connector
Power Source Selector
Touch Screen Connector
LCD Socket
Micro SD Card Socket
SDRAM (64 MByte)
LVTTL-Level UART
3.2 ค าอธบายเกยวกบ Connector
3.2.1 แหลงจายไฟ
สามารถเลอกแหลงจายไฟได 2 แบบคอ จากบอรด Arduino และจากแฟลงจายไฟภายนอก โดยท าการเลอกจาก Jumper ทเสยบบน Power Source Selector ดงในตารางดานลาง
การตดตง ค าอธบาย
ใชแหลงจายไฟจากภายนอก
ใชแหลงจายไฟจาก Arduino
หมายเหต ในการใชงานกบจอ LCD ควรใชแหลงจายไฟจากภายนอก เพราะวงจรแปลงไฟบนบอรด Arduino กรณทใชไฟเขามากกวา 5V ซงจะมวงจรแปลงไฟลงเปน 5V อยบนบอรด อาจไมสามารถจายกระแสไดเพยงพอ
3.2.2 UART ระดบแรงดน LVTTL (สามารถใชงานกบระดบแรงดน 5V ได)
Power Source Selector
+5V GND +5V GND
RX TX
4. การสอสารกบ Arduino
4.1 วธการเชอมตอ
4.2 การตงคาพอรทอนกรม
Baud Rate: 9600 Data Bits: 8 Parity Bits: none Stop Bits: 1
4.3 รปแบบการสงขอมล Command (สงจาก Arduino) command parameter1 parameter2 parameter3 … \r\n
Response (เปนการตอบกลบจาก SUN7 Shield หลงจากประมวลผล Command แลว)
<OK>\r\n (สงเมอเปด Response ไวเทานน) หรอ <ERROR>\r\n (สงเมอเปด Response ไวเทานน) หรอ <response> สงเมอไดรบ Command ทตองการขอมล
Message (สงจาก SUN7 shield) < parameter1 parameter2 parameter3 …>\r\n
หมายเหต: 1. ความกวางของชองวางจะเปนเทาไรกได 2. เนองจากการใชชองวางเปนตวแยก จงหามมชองวางในชอของหนาจอหรอวตถตางๆ 3. ค าสงสามารถใชตวอกษรเลกหรอใหญกได แตพารามเตอร (เชน ชอของวตถ) ตองใชใหตรงกบทก าหนดไวเทานน 4. เรมตน Response จะถกปดไวเสมอ ดรายละเอยดเพมเตมจากค าสง GUIResponse
5. รายละเอยดชดค าสงและขอความ 5.1 ชดค าสงและขอความเกยวกบการแสดงผลทางจอ LCD
5.1.1 ขอความชวงเรมตน SETUPGUI: ถกสงจาก SUN7 Shield หลงจากการอาน script เสรจสนแตยงไมเรมแสดงภาพบนหนาจอ สามารถสงค าสงมาก าหนดคาวตถตางๆกอนการแสดงภาพหนาจอแรกไดเมอไดรบขอความน โดยท SUN7 Shield จะคอยรบค าสงไปเรอยๆ จนกวาจะไมไดรบค าสงใหมภายในเวลา 1 วนาท เมอครบแลวจะสง STARTGUI ออกมา กอนทจะสงขอความนออกมา SUN7 Shield จะยงไมรบค าสงใดๆ <SETUPGUI>\r\n
STARTGUI: ถกสงจาก SUN7 Shield หลงจาก SETUPGUI เพอแจงวาไดเรมแสดงภาพทางหนาจอแลว <STARTGUI>\r\n
5.1.2 ค าสงในการตงคาทวไป GUIResponse: เปดหรอปดการตอบกลบทกค าสงดวย <OK> หรอ <ERROR> GUIResponse state
state: 1 = เปดการใชงาน 0 = ปดการใชงาน (เปนคาเรมตน) ตวอยาง: GUIResponse 1
GUIInitKeypad: เปดการใชงาน keypad สงเพยงครงเดยวหลงไดรบขอความ <SETUPGUI> รปแบบของ keypad จะเปนแบบทก าหนดมาแลวตามขนาดหนาจอ ผใชไมสามารถเปลยนแปลงได GUIInitKeypad
5.1.3 หนาจอและ Popup Window GUIGotoScr: ใชส าหรบเปลยนหนาจอ GUIGotoScr screen_name
screen_name: ชอหนาจอทตองการเปลยนเปดขนมาแทนหนาจอปจจบน
GUIOpenPopup: ใชส าหรบเปดหนาตาง Popup Window (หนาตางเลกทเปดซอนขนมาบนหนาจอเดม) GUIOpenPopup popup_screen_name
popup_screen_name: ชอหนาจอ Popup ทตองการเปด
GUIClosePopup: ใชส าหรบปดหนา Popup Window GUIClosePopup
NAMESCS: เปนขอความทสงจาก SUN7 Shield เพอแจงวามการเปลยนหนาจอเปนหนาใหม <NAMESCS screen_name>\r\n
screen_name: ชอของหนาจอใหม
5.1.4 ภาษา GUISetLang: ใชส าหรบเปลยนโหมดภาษา GUISetLang lang
lang: โหมดภาษา ตองมคาเปน 1<<n โดย n: 0-7
GUIGetLang: ใชส าหรบเรยกดโหมดภาษา GUIGetLang lang
lang: โหมดภาษา
5.1.5 เสยง (เสยงทใชเปดพรอมการเปลยนหนาจอ) GUISndClrList: ใชส าหรบหยดเลนเสยง พรอมทงลบเสยงออกจากรายการ GUISndClrList
GUISndAddList: ใชส าหรบ Add เสยงเขาไปใน List ซงจะตองรอจนถงควของเสยงนจงจะเลน หากตองการเปลยนเพลงทนทตองใชค าสง GUISndClrList กอน GUISndAddList snd_no segment_no
snd_no: sound ID
segment_no: อนดบ segment ของเสยง (ใช 0 ถาเปนเสยงทไมไดแบง segment ไว)
GUISndSetOffsetVol: ใชส าหรบตงคาความดงของการเลน โดยความดงนจะถกน าไปรวมกบความดงของแตละเสยงทตงไวจาก script GUISndSetOffsetVol offset_vol
offset_vol: คา offset ของเสยง
GUISndOn: ใชเปดการท างานเกยวกบเสยง ปกตจะถกเปดไวตงแตเรมตน GUISndOn
GUISndOff: ใชปดการท างานเกยวกบเสยง GUISndOff
GUISndGetCurrent: ใชด ID ของเสยงทก าลงเลนอย GUISndGetCurrent
return: <ID ของเสยงทเลนอย>\r\n
SNDEND: เปนขอความทสงจาก SUN7 Shield เพอแจงวาเสยงทตงไวใหเลนในหนาจอปจจบนไดเลนจนจบแลว <SNDEND>
5.1.6 ปมกด GUIEnableBt: ใชส าหรบ Enable ปมกด ในกรณทไดก าหนดเปน Disable ไว GUIEnableBt name_bt
name_bt: ชอปม
GUIDisableBt: ใชส าหรบ Disable ปมกด GUIDisableBt name_bt
name_bt: ชอปม
GUISkipBt: ใชส าหรบก าหนดใหขามปมกดไป โดยปมทถกขามจะไมแสดงบนหนาจอ สามารถยกเลกไดดวย GUIUnSkipBt GUISkipBt name_bt
name_bt: ชอปม
GUIUnSkipBt: ใชส าหรบยกเลก Skip ปมกด
GUIUnSkipBt name_bt
name_bt: ชอปม
GUIChangeImgBt: ใชส าหรบเปลยนแปลงรปภาพตาม ID ทไดตงไวใน Script โดยรปทจะท าการเปลยนตองมขนาดเทากน GUIChangeImgBt name_bt state_bt ID
name_bt: ชอปม state_bt: 0 = รปตอนถก disable
1 = รปในสถานะปกต 2 = รปขณะถกกด ID: ID ของรปจาก script
GUIConfigBt: ใชส าหรบก าหนดการสงขอมลสถานะของปมกดทาง Serial วาจะใหสงขอความออกมาทสถานะใดบาง เพอไมใหเกดการสงขอมลมากเกนความจ าเปน เรมตนปมจะถกก าหนดใหสงขอความออกมาทกสถานะ GUIConfigBt name_screen name_bt action_bt
name_screen: ชอหนาจอ name_bt: ชอปม action_bt: 0 = DO (every 10ms)
1 = PRESS
2 = RELEASE
3 = PRESS และ RELEASE 4 = ใชทกสถานะ (เปนคาเรมตน) 5 = ไมใชทกสถานะ
Action Message: <name_bt action_bt>\r\n
name_bt: ชอปม action_bt: สถานะ (DO/PRESS/RELEASE)
KEYBT: กรณปมถกก าหนดการท างานพเศษใหเปน key button เมอถกกด จะสงขอความ KEYBT ออกมาดวย <KEYBT character>\r\n
character: ตวอกษรทถกก าหนดไวทปม key (สงเปน hex)
SETLANG: กรณปมถกก าหนดการท างานพเศษใหเปนปมเปลยนภาษา เมอถกกด จะสงขอความ SETLANG ออกมาดวย <SETLANG new_language>\r\n
new_language: โหมดภาษาใหมทถกตงไวทปมเปลยนภาษา (สงเปน hex)
5.1.7 รปภาพ GUIEnableImg: ใชส าหรบแสดงรปภาพออกหนาจอ ในกรณทไดก าหนดเปน Disable ไว GUIEnableImg name_img
name_img: ชอกลองรปภาพ
GUIDisableImg: ใชส าหรบปดการแสดงรปภาพออกจากหนาจอกอนทจะแสดงหนาจอนน หากใชหลงจากทรปภาพถกแสดงแลว รปภาพจะไมหายไปจากจอ GUIDisableImg name_img
name_img: ชอกลองรปภาพ
GUIChangeImg: ใชส าหรบเปลยนแปลงรปภาพตาม ID ทไดตงไวใน Script พรอมกบแสดงรปใหม โดยรปใหมตองมขนาดเทากบรปเดม GUIChangeImg name_img ID
name_img: ชอกลองรปภาพ ID: ID รปภาพจาก script
5.1.8 ปายขอความ GUISkipLbl: ใชก าหนดใหขามปายขอความ ไมใหแสดงบนหนาจอ GUISkipLbl name_lbl
name_lbl: ชอปายขอความ
GUIUnSkipLbl: ใชส าหรบยกเลกการขามปายขอความ GUIUnSkipLbl name_lbl
name_lbl: ชอปายขอความ
5.1.9 กลองขอความ GUIAddTxt: ใชส าหรบเขยนขอความใส Text Box จะเขยนขอความใสไดสงสดไมเกนจากทใน Script ตงคาไว GUIAddTxt name_txt text
name_txt: ชอกลองขอความ text: ขอความทตองการเพม
GUIClrTxt: ใชส าหรบเขยนลบขอความใน Text Box GUIClrTxt name_txt
name_txt: ชอกลองขอความ
GUIGetStrTxt: ใชส าหรบอานขอความจาก Text Box GUIGetStrTxt name_txt
name_txt: ชอกลองขอความ return: <ขอความในกลองขอความ>\r\n
GUISkipTxt: ใชส าหรบก าหนดเพอใหขาม Text Box ไป ไมแสดงบนหนาจอ GUISkipTxt name_txt
name_txt: ชอกลองขอความ
GUIUnSkipTxt: ใชส าหรบยกเลก Skip Text Box GUIUnSkipTxt name_txt
name_txt: ชอกลองขอความ
GUIConfigTxt: ใชส าหรบก าหนดการสงขอมลสถานะของ Textboxทาง Serial ในขณะกดลงบนหนาจอ GUIConfigTxt name_screen name_txt action_txt
name_screen: ชอหนาจอ name_txt: ชอกลองขอความ action_txt: 0 = PRESS (Default)
1 = Disable All
Action Message: <name_txt action_txt>\r\n
name_txt: ชอกลองขอความ action_txt: สถานะของกลองขอความ (PRESS)
5.1.10 ตาราง GUIWriteTab: ใชส าหรบเขยนขอความใน Table ดวยรปแบบทก าหนดไวจาก script GUIWriteTab name_tab row column text
name_tab: ชอตาราง row: ล าดบของแถว column: ล าดบของคอลมน text: ขอความทตองการเขยน
GUIWriteTab2: ใชส าหรบเขยนขอความใน Table พรอมทงก าหนดคาสของขอความ และสพนหลง GUIWriteTab2 name_tab row column text back_color font_color
name_tab: ชอตาราง row: ล าดบของแถว column: ล าดบของคอลมน text: ขอความทตองการเขยน back_color: สพนหลง font_color: สขอความ
GUISkipTab: ใชส าหรบ Skip Table ออกจากหนาจอ GUISkipTab name_tab
name_tab: ชอตาราง GUIUnSkipTab: ใชส าหรบยกเลก Skip Table GUIUnSkipTab name_tab
name_tab: ชอตาราง
GUIConfigTab: ใชส าหรบก าหนดการสงขอมลสถานะของตารางทาง Serial ในขณะกดลงบนหนาจอ GUIConfigTab name_screen name_tab action_tab
name_screen: ชอหนาจอ name_tab: ชอตาราง action_tab: 0 = DO (every 10ms)
1 = PRESS
2 = ใชทกสถานะ (เปนคาเรมตน) 3 = ไมใชทกสถานะ
Action Message: <name_tab action_tab row column>\r\n
name_tab: ชอตาราง action_tab: สถานะของตาราง (DO/PRESS) row: ล าดบของแถวทถกกด column: ล าดบของคอลมนทถกกด
5.1.11 Percent Bar GUIEnableBar: ใชส าหรบ Enable Percent Bar ในกรณทไดก าหนดเปน Disable ไว GUIEnableBar name_bar
name_bar: ชอของ percent bar
GUIDisableBar: ใชส าหรบ Disable Percent Bar GUIDisableBar name_bar
name_bar: ชอของ percent bar
GUISetValBar: ใชส าหรบใสคาใหกบ Percent Bar แสดงผลออกทางหนาจอ GUISetValBar name_bar value
name_bar: ชอของ percent bar value: คาของ percent bar (0-100)
GUIGetValBar: ใชส าหรบน าคาจาก Percent Bar ไปใชงาน GUIGetValBar name_bar value
name_bar: ชอของ percent bar value: คาของ percent bar (0-100) return: <คาของ percent bar>\r\n
GUIConfigBar: ใชส าหรบก าหนดการสงขอมลสถานะของปมกดทาง Serial ในขณะกดลงบนหนาจอ GUIConfigBar name_screen name_bar action_bar
name_screen:screen name
name_bar: percent bar name
action_bar: 0 = MOVE (every 10ms)
1 = STOP
2 = ใชทกสถานะ (เปนคาเรมตน) 3 = ไมใชทกสถานะ
Action Message: <name_bar action_bar value>\r\n
name_bar: ชอของ percent bar action_bar: สถานะของ percent bar (MOVE/STOP) value: คาของ percent bar (0-100)
5.2 ชดค าสงและขอความอนๆ 5.2.1 การสะทอนขอมลจากพอรทอนกรม (Echo) Echo: ใชเปดหรอปดการสะทอนกลบของขอมลทางพอรตอนกรม การเปดการสะทอนกลบมกใชในการทดสอบการท างานดวยการสอสารกบคอมพวเตอรแทน Arduino Echo state
state: 1 = เปดการใชงาน 0 = ปดการใชงาน (เปนคาเรมตน) ตวอยาง: Echo 1
5.2.2 Real Time Clock (RTC) SetTime: ใชส าหรบตงคาเวลา SetTime hour min
hour: ชวโมง
min: นาท ตวอยาง: SetTime 18 30
SetDate: ใชส าหรบตงคาวนท SetDate day date month year
day: วนของสปดาห สามารถก าหนดได 3 แบบ คอ 0-6,SUN-SAT หรอ sun-sat date: วนท month: เดอน สามารถก าหนดได 3 แบบ คอ 1-12,JAN-DEC or jan-dec year: ป สามารถก าหนดไดตงแต 0-9999 ตวอยาง: SetDate SUN 10 JAN 2012
GetTime: ใชส าหรบอานคาเวลา GetTime
return: <hour minute second>\r\n
GetDate: ใชส าหรบอานคาวนท GetDate
return: <day date month year>\r\n
5.2.3 เสยง (เสยงทใชเปดตางหาก) Play: ใชส าหรบเลนไฟลเสยง Play path_folder file_name
path_folder: ทอยของแฟม
file_name: ชอไฟลเสยงทตองการเลน ตวอยาง: Play Audio\inter\Jazz music.mp3
PlayAll: ใชส าหรบเลนไฟลเสยงทงโฟลเดอร PlayAll path_folder
path_foder: ทอยของแฟม ตวอยาง: PlayAll Audio\inter\Jazz
Audio: ใชส าหรบควบคมการเลนไฟลเสยง Audio command
command: S = Stop
P = Pause
C = Continue
N = Next
M = Mute
L = Unmute
J = Jump Audio (0 - 99)
V = Volume (0 - 99)
U = Volume Up (every 5 point)
D = Volume Down (every 5 point)
B = Set Bass (0 - 99)
T = Set Treble (0 - 99)
ตวอยาง: Audio V 80
Audio P
GetPlayName: ใชส าหรบดชอไฟลเสยงทก าลงเลนในขณะนน GetPlayName
return: <ชอไฟล>\r\n
GetIsPlay: ใชส าหรบตรวบสอบสถานะการเลนไฟลเสยง GetIsPlay
return: <1>\r\n เมอมการเลนไฟลเสยงอย, <0>\r\n เมอไมไดเลนในขณะนน
6. การอพเกรด Firmware ผใชงานสามารถอพเกรด firmware ใหกบ SUN7 Shield ไดตามความตองการในการใชงาน เชน หากตองการท าให SUN7 Shield สามารถใชจอแสดงผลกบจอ 7 นวในแนวตง ผใชจะตองท าการอพเกรด firmware ส าหรบแสดงผลกบจอ 7 นวในแนวตง ซงการใชงานจะสามารถเลอกไดอยางใดอยางหนงเทานน ไมสามารถใชรวมกนได โดย firmware ลาสดม 3 แบบ
- ส าหรบจอแสดงผล 7 นว แนวนอน - ส าหรบจอแสดงผล 7 นว แนวตง - ส าหรบจอแสดงผล 4.3 นว
ขนตอนการอพเกรด
1. น าไฟล Shield.bin ทตองการใส SD Card แลวน ามาเสยบ micro SD Card Socket ท SUN7 Shield
2. ท าการ Jump Pin TX3 กบ GND
3. กดปม Reset บน SUN7 Shield
4. โปรแกรมส าเรจ
Jump TX3 กบ GND
Reset Switch
7. Dimension